You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/12/17 18:36:37 UTC
svn commit: r604938 - in /lenya/branches/branch_1_2_x_shibboleth/src:
java/org/apache/lenya/cms/cocoon/acting/
java/org/apache/lenya/cms/cocoon/logicsheets/
java/org/apache/lenya/cms/cocoon/scheduler/
java/org/apache/lenya/cms/cocoon/task/ test/org/apa...
Author: andreas
Date: Mon Dec 17 09:36:36 2007
New Revision: 604938
URL: http://svn.apache.org/viewvc?rev=604938&view=rev
Log:
Updating tests, scheduler and task handling to access control changes
Modified:
lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java
lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/logicsheets/scheduler.xsl
lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java
lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/task/CocoonTaskWrapper.java
lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/AccessControlTest.java
lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/IdentityTest.java
lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/cms/workflow/WorkflowTest.java
Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/acting/TaskAction.java Mon Dec 17 09:36:36 2007
@@ -23,6 +23,9 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.avalon.framework.component.ComponentException;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.acting.AbstractAction;
import org.apache.cocoon.environment.ObjectModelHelper;
@@ -36,55 +39,41 @@
/**
* An action that executes a task.
*/
-public class TaskAction extends AbstractAction {
-
- /**
- * DOCUMENT ME!
- *
- * @param redirector DOCUMENT ME!
- * @param sourceResolver DOCUMENT ME!
- * @param objectModel DOCUMENT ME!
- * @param str DOCUMENT ME!
- * @param parameters DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- *
- * @throws java.lang.Exception DOCUMENT ME!
- */
- public java.util.Map act(
- Redirector redirector,
- SourceResolver sourceResolver,
- Map objectModel,
- String str,
- Parameters parameters)
- throws java.lang.Exception {
+public class TaskAction extends AbstractAction implements Composable {
- TaskWrapper wrapper = new CocoonTaskWrapper(objectModel, parameters);
+ private ComponentManager manager;
+
+ public java.util.Map act(Redirector redirector, SourceResolver sourceResolver, Map objectModel,
+ String str, Parameters parameters) throws java.lang.Exception {
+
+ TaskWrapper wrapper = new CocoonTaskWrapper(this.manager, objectModel, parameters);
wrapper.execute();
Request request = ObjectModelHelper.getRequest(objectModel);
- //------------------------------------------------------------
+ // ------------------------------------------------------------
// get session
- //------------------------------------------------------------
+ // ------------------------------------------------------------
Session session = request.getSession(true);
if (session == null) {
getLogger().error("No session object");
-
return null;
}
- //------------------------------------------------------------
+ // ------------------------------------------------------------
// Return referer
- //------------------------------------------------------------
- String parent_uri =
- (String) session.getAttribute(
- "org.apache.lenya.cms.cocoon.acting.TaskAction.parent_uri");
+ // ------------------------------------------------------------
+ String parent_uri = (String) session
+ .getAttribute("org.apache.lenya.cms.cocoon.acting.TaskAction.parent_uri");
HashMap actionMap = new HashMap();
actionMap.put("parent_uri", parent_uri);
session.removeAttribute("org.apache.lenya.cms.cocoon.acting.TaskAction.parent_uri");
return actionMap;
+ }
+
+ public void compose(ComponentManager manager) throws ComponentException {
+ this.manager = manager;
}
}
Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/logicsheets/scheduler.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/logicsheets/scheduler.xsl?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/logicsheets/scheduler.xsl (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/logicsheets/scheduler.xsl Mon Dec 17 09:36:36 2007
@@ -44,7 +44,7 @@
<sch:second><xsp:expr>calendar.get(java.util.Calendar.SECOND)</xsp:expr></sch:second>
org.apache.lenya.cms.cocoon.scheduler.SchedulerHelper helper =
- new org.apache.lenya.cms.cocoon.scheduler.SchedulerHelper(objectModel, parameters, getLogger());
+ new org.apache.lenya.cms.cocoon.scheduler.SchedulerHelper(this.manager, objectModel, parameters, getLogger());
java.util.Map parameters = helper.createParameters();
for (java.util.Iterator i = parameters.keySet().iterator(); i.hasNext(); ) {
String key = (String) i.next();
Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/scheduler/SchedulerHelper.java Mon Dec 17 09:36:36 2007
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ProcessingException;
@@ -38,11 +39,13 @@
/**
* Ctor.
+ * @param manager The service manager.
* @param objectModel The Cocoon component object model.
* @param parameters The Cocoon component parameters.
* @param logger The logger to use.
*/
- public SchedulerHelper(Map objectModel, Parameters parameters, Logger logger) {
+ public SchedulerHelper(ComponentManager manager, Map objectModel, Parameters parameters, Logger logger) {
+ this.manager = manager;
this.objectModel = objectModel;
this.parameters = parameters;
this.logger = logger;
@@ -51,6 +54,7 @@
private Logger logger;
private Parameters parameters;
private Map objectModel;
+ private ComponentManager manager;
/**
* Creates the scheduler parameters.
@@ -62,7 +66,7 @@
Map map = new HashMap();
try {
- TaskWrapper wrapper = new CocoonTaskWrapper(objectModel, parameters);
+ TaskWrapper wrapper = new CocoonTaskWrapper(manager, objectModel, parameters);
logger.debug("Adding task wrapper parameters");
Map wrapperParameters = wrapper.getParameters();
Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/task/CocoonTaskWrapper.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/task/CocoonTaskWrapper.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/task/CocoonTaskWrapper.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/cms/cocoon/task/CocoonTaskWrapper.java Mon Dec 17 09:36:36 2007
@@ -23,9 +23,9 @@
import java.util.Iterator;
import java.util.Map;
-import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.component.ComponentManager;
+import org.apache.avalon.framework.component.ComponentSelector;
import org.apache.avalon.framework.parameters.Parameters;
-import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Session;
@@ -34,7 +34,6 @@
import org.apache.lenya.ac.AccessControllerResolver;
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Identity;
-import org.apache.lenya.ac.ItemManager;
import org.apache.lenya.ac.Role;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserReference;
@@ -48,6 +47,7 @@
import org.apache.lenya.cms.task.Notifier;
import org.apache.lenya.cms.task.TaskWrapperParameters;
import org.apache.lenya.cms.task.WorkflowInvoker;
+import org.apache.lenya.util.Assert;
import org.apache.lenya.util.NamespaceMap;
import org.apache.lenya.util.ServletHelper;
import org.apache.log4j.Logger;
@@ -57,29 +57,35 @@
*/
public class CocoonTaskWrapper extends DefaultTaskWrapper {
- private static Logger log = Logger.getLogger(CocoonTaskWrapper.class);
+ private static Logger log = Logger.getLogger(CocoonTaskWrapper.class);
+
+ /**
+ * Ctor to be called from a Cocoon component.
+ * @param manager The service manager.
+ * @param objectModel A Cocoon object model.
+ * @param parameters A parameters object.
+ * @throws ExecutionException when something went wrong.
+ */
+ public CocoonTaskWrapper(ComponentManager manager, Map objectModel, Parameters parameters)
+ throws ExecutionException {
+
+ Assert.notNull("service manager", manager);
+ Assert.notNull("object model", objectModel);
+ Assert.notNull("parameters", parameters);
+
+ log.debug("Creating CocoonTaskWrapper");
+
+ Publication publication;
+ try {
+ publication = PublicationFactory.getPublication(objectModel);
+ } catch (PublicationException e) {
+ throw new ExecutionException(e);
+ }
+ Request request = ObjectModelHelper.getRequest(objectModel);
+
+ initialize(manager, parameters, publication, request);
+ }
- /**
- * Ctor to be called from a Cocoon component.
- * @param objectModel A Cocoon object model.
- * @param parameters A parameters object.
- * @throws ExecutionException when something went wrong.
- */
- public CocoonTaskWrapper(Map objectModel, Parameters parameters) throws ExecutionException {
-
- log.debug("Creating CocoonTaskWrapper");
-
- Publication publication;
- try {
- publication = PublicationFactory.getPublication(objectModel);
- } catch (PublicationException e) {
- throw new ExecutionException(e);
- }
- Request request = ObjectModelHelper.getRequest(objectModel);
-
- initialize(parameters, publication, request);
- }
-
/**
* Ctor.
*/
@@ -88,60 +94,62 @@
/**
* Initializes this wrapper.
+ * @param manager The service manager.
* @param parameters The task parameters.
* @param publication The publication.
* @param request The request.
* @throws ExecutionException when something went wrong.
*/
- protected void initialize(Parameters parameters, Publication publication, Request request)
- throws ExecutionException {
- setNotifying(request);
-
+ protected void initialize(ComponentManager manager, Parameters parameters,
+ Publication publication, Request request) throws ExecutionException {
+ setNotifying(manager, request);
+
Parameters taskParameters = extractTaskParameters(parameters, publication, request);
getTaskParameters().parameterize(taskParameters);
-
+
String taskId = request.getParameter(TaskWrapperParameters.TASK_ID);
taskId = parameters.getParameter(TaskWrapperParameters.TASK_ID, taskId);
-
+
String webappUrl = ServletHelper.getWebappURI(request);
initialize(taskId, publication, webappUrl, taskParameters);
-
+
String eventName = request.getParameter(WorkflowInvoker.EVENT_REQUEST_PARAMETER);
if (eventName == null) {
- eventName = request.getParameter(WorkflowInvoker.LENYA_EVENT_REQUEST_PARAMETER);
+ eventName = request.getParameter(WorkflowInvoker.LENYA_EVENT_REQUEST_PARAMETER);
}
if (eventName != null) {
- Session session = request.getSession(false);
- if (session == null) {
- log.debug("No session found - not enabling workflow handling.");
- } else {
- Identity identity = Identity.getIdentity(session);
- if (identity == null) {
- log.debug("No identity found - not enabling workflow handling.");
- } else {
- log.debug("Identity found - enabling workflow handling.");
- Role[] roles;
- try {
- roles = PolicyAuthorizer.getRoles(request);
- } catch (AccessControlException e) {
- throw new ExecutionException(e);
- }
- setWorkflowAware(eventName, identity, roles);
- }
- }
+ Session session = request.getSession(false);
+ if (session == null) {
+ log.debug("No session found - not enabling workflow handling.");
+ } else {
+ Identity identity = Identity.getIdentity(session);
+ if (identity == null) {
+ log.debug("No identity found - not enabling workflow handling.");
+ } else {
+ log.debug("Identity found - enabling workflow handling.");
+ Role[] roles;
+ try {
+ roles = PolicyAuthorizer.getRoles(request);
+ } catch (AccessControlException e) {
+ throw new ExecutionException(e);
+ }
+ setWorkflowAware(eventName, identity, roles);
+ }
+ }
}
-
+
}
- /**
- * Enables notification if the corresponding request parameters exist.
- * @param request The request.
- */
- protected void setNotifying(Request request) {
+ /**
+ * Enables notification if the corresponding request parameters exist.
+ * @param manager The service manager.
+ * @param request The request.
+ */
+ protected void setNotifying(ComponentManager manager, Request request) {
- log.debug("Trying to initialize notification ...");
+ log.debug("Trying to initialize notification ...");
- Map requestParameters = ServletHelper.getParameterMap(request);
+ Map requestParameters = ServletHelper.getParameterMap(request);
if (log.isDebugEnabled()) {
log.debug(" Request parameters:");
@@ -151,7 +159,7 @@
}
}
- NamespaceMap notificationMap = new NamespaceMap(requestParameters, Notifier.PREFIX);
+ NamespaceMap notificationMap = new NamespaceMap(requestParameters, Notifier.PREFIX);
if (log.isDebugEnabled()) {
log.debug(" Notification parameters:");
@@ -162,70 +170,77 @@
}
if (notificationMap.getMap().isEmpty()) {
- log.debug(" No notification parameters found.");
- } else {
- log.debug(" Initializing notification");
-
- Identity identity = Identity.getIdentity(request.getSession());
- /*
-
- AccessController accessController = null;
- ServiceSelector selector = null;
- AccessControllerResolver resolver = null;
- ItemManager itemManager = null;
-
- try {
- selector = (ServiceSelector) manager.lookup(AccessControllerResolver.ROLE + "Selector");
- resolver =
- (AccessControllerResolver) selector.select(
- AccessControllerResolver.DEFAULT_RESOLVER);
-
- String url = ServletHelper.getWebappURI(request);
- accessController = resolver.resolveAccessController(url);
-
- AccreditableManager accreditableManager =
- ((DefaultAccessController) accessController).getAccreditableManager();
-
-
- } catch (Exception e) {
- throw new ConfigurationException("Obtaining item manager failed: ", e);
- } finally {
- if (selector != null) {
- if (resolver != null) {
- if (accessController != null) {
- resolver.release(accessController);
- }
- selector.release(resolver);
- }
- manager.release(selector);
- }
+ log.debug(" No notification parameters found.");
+ } else {
+ log.debug(" Initializing notification");
+
+ String eMail = getEmail(manager, request);
+ if (eMail != null) {
+ log.debug(" Setting from address [" + Notifier.PARAMETER_FROM + "] = ["
+ + eMail + "]");
+ notificationMap.put(Notifier.PARAMETER_FROM, eMail);
+ }
+
+ String toKey = NamespaceMap.getFullName(Notifier.PREFIX, Notifier.PARAMETER_TO);
+ String[] toValues = request.getParameterValues(toKey);
+
+ if (toValues == null) {
+ throw new IllegalStateException(
+ "You must specify at least one [notification.tolist] request parameter!");
}
-
- */
- UserReference user = identity.getUserReference();
- String eMail = ""; // user.getEmail();
- notificationMap.put(Notifier.PARAMETER_FROM, eMail);
- log.debug(" Setting from address [" + Notifier.PARAMETER_FROM + "] = [" + eMail + "]");
-
- String toKey = NamespaceMap.getFullName(Notifier.PREFIX, Notifier.PARAMETER_TO);
- String[] toValues = request.getParameterValues(toKey);
-
- if (toValues == null) {
- throw new IllegalStateException("You must specify at least one [notification.tolist] request parameter!");
- }
StringBuffer buf = new StringBuffer();
- for (int i = 0; i < toValues.length; i++) {
- if (i > 0 && buf.length() > 0) {
- buf.append(",");
- }
+ for (int i = 0; i < toValues.length; i++) {
+ if (i > 0 && buf.length() > 0) {
+ buf.append(",");
+ }
if (log.isDebugEnabled()) {
log.debug(" Adding notification address [" + toValues[i].trim() + "]");
}
- buf.append(toValues[i].trim());
- }
- notificationMap.put(Notifier.PARAMETER_TO, buf.toString());
- setNotifying(notificationMap);
- }
- }
+ buf.append(toValues[i].trim());
+ }
+ notificationMap.put(Notifier.PARAMETER_TO, buf.toString());
+ setNotifying(notificationMap);
+ }
+ }
+
+ protected String getEmail(ComponentManager manager, Request request) {
+ String eMail = null;
+
+ Identity identity = Identity.getIdentity(request.getSession());
+ AccessController accessController = null;
+ ComponentSelector selector = null;
+ AccessControllerResolver resolver = null;
+ try {
+ selector = (ComponentSelector) manager.lookup(AccessControllerResolver.ROLE
+ + "Selector");
+ resolver = (AccessControllerResolver) selector
+ .select(AccessControllerResolver.DEFAULT_RESOLVER);
+
+ String url = ServletHelper.getWebappURI(request);
+ accessController = resolver.resolveAccessController(url);
+
+ AccreditableManager accrManager = ((DefaultAccessController) accessController)
+ .getAccreditableManager();
+ UserReference userRef = identity.getUserReference();
+ if (userRef.canGetUserFrom(accrManager)) {
+ User user = userRef.getUser(accrManager);
+ eMail = user.getEmail();
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException("Obtaining item manager failed: ", e);
+ } finally {
+ if (selector != null) {
+ if (resolver != null) {
+ if (accessController != null) {
+ resolver.release(accessController);
+ }
+ selector.release(resolver);
+ }
+ manager.release(selector);
+ }
+ }
+ return eMail;
+ }
}
Modified: lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/AccessControlTest.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/AccessControlTest.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/AccessControlTest.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/AccessControlTest.java Mon Dec 17 09:36:36 2007
@@ -27,9 +27,9 @@
import org.apache.lenya.ac.AccessControllerResolver;
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.ac.ManagedUserReference;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
-import org.apache.lenya.ac.UserReference;
import org.apache.lenya.ac.file.FileAccreditableManager;
import org.apache.lenya.ac.file.FilePolicyManager;
import org.apache.lenya.cms.ExcaliburTest;
@@ -148,7 +148,7 @@
assertNotNull(user);
Identity identity = new Identity();
- identity.addIdentifiable(new UserReference(user.getId(), userMgr.getId()));
+ identity.addIdentifiable(new ManagedUserReference(user.getId(), userMgr.getId()));
return identity;
}
Modified: lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/IdentityTest.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/IdentityTest.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/IdentityTest.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/ac/impl/IdentityTest.java Mon Dec 17 09:36:36 2007
@@ -21,9 +21,9 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.ac.ManagedUserReference;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
-import org.apache.lenya.ac.UserReference;
import org.apache.lenya.cms.PublicationHelper;
public class IdentityTest extends AccessControlTest {
@@ -58,7 +58,7 @@
UserManager userManager = accreditableManager.getUserManager();
User user = userManager.getUser(USER_ID);
System.out.println("Adding user to identity: [" + user + "]");
- identity.addIdentifiable(new UserReference(user.getId(), userManager.getId()));
+ identity.addIdentifiable(new ManagedUserReference(user.getId(), userManager.getId()));
assertSame(user, identity.getUserReference().getUser(accreditableManager));
}
Modified: lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/cms/workflow/WorkflowTest.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/cms/workflow/WorkflowTest.java?rev=604938&r1=604937&r2=604938&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/cms/workflow/WorkflowTest.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/test/org/apache/lenya/cms/workflow/WorkflowTest.java Mon Dec 17 09:36:36 2007
@@ -28,11 +28,11 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.ac.ManagedUserReference;
import org.apache.lenya.ac.Policy;
import org.apache.lenya.ac.Role;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
-import org.apache.lenya.ac.UserReference;
import org.apache.lenya.ac.file.FileItemManager;
import org.apache.lenya.ac.impl.AccessControlTest;
import org.apache.lenya.cms.PublicationHelper;
@@ -128,7 +128,7 @@
Identity identity = new Identity();
UserManager userManager = getAccreditableManager().getUserManager();
User user = userManager.getUser(situations[situationIndex].getUser());
- identity.addIdentifiable(new UserReference(user.getId(), userManager.getId()));
+ identity.addIdentifiable(new ManagedUserReference(user.getId(), userManager.getId()));
Role[] roles = policy.getRoles(identity);
System.out.print("Roles:");
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org