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...

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
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:");
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.