You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/09/05 20:38:46 UTC
svn commit: r440432 - in /cocoon/trunk/blocks/cocoon-portal:
cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/
cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/
cocoon-portal-impl/src/main/java/org/apache/cocoon/por...
Author: cziegeler
Date: Tue Sep 5 11:38:44 2006
New Revision: 440432
URL: http://svn.apache.org/viewvc?view=rev&rev=440432
Log:
Add support for ordered receivers (this fixes the login bug)
Cleanup event hierarchy a little bit
Added:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutEvent.java
- copied, changed from r440395, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/AbstractLayoutEvent.java
Removed:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/LayoutEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/AbstractLayoutEvent.java
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/CopletJXPathEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventManager.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/JXPathEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutAddedEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutJXPathEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutRemovedEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/RemoveLayoutEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserDidLoginEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserIsAccessingEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserWillLogoutEvent.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractPortalUser.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultUserService.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/login-html.xsl
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/portal-page.xsl
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/CopletJXPathEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/CopletJXPathEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/CopletJXPathEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/coplet/CopletJXPathEvent.java Tue Sep 5 11:38:44 2006
@@ -25,18 +25,43 @@
* @version $Id$
*/
public class CopletJXPathEvent
- extends JXPathEvent
- implements CopletInstanceEvent {
+ implements CopletInstanceEvent, JXPathEvent {
+
+ protected final CopletInstance target;
+ protected final String path;
+ protected final Object value;
public CopletJXPathEvent(CopletInstance target, String path, Object value) {
- super( target, path, value );
+ this.target = target;
+ this.path = path;
+ this.value = value;
}
/**
* @see org.apache.cocoon.portal.event.CopletInstanceEvent#getTarget()
*/
public CopletInstance getTarget() {
- return (CopletInstance)this.target;
+ return this.target;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getObject()
+ */
+ public Object getObject() {
+ return this.getTarget();
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getPath()
+ */
+ public String getPath() {
+ return this.path;
}
+ /**
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getValue()
+ */
+ public Object getValue() {
+ return this.value;
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventManager.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/DefaultEventManager.java Tue Sep 5 11:38:44 2006
@@ -18,6 +18,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -34,6 +35,8 @@
import org.apache.cocoon.portal.event.aspect.EventAspect;
import org.apache.cocoon.portal.impl.AbstractComponent;
import org.apache.cocoon.portal.services.aspects.support.AspectChain;
+import org.springframework.core.OrderComparator;
+import org.springframework.core.Ordered;
/**
* This is the default implementation of the event manager.
@@ -48,6 +51,10 @@
* The simplicity in subscribing and sending of events comes with the drawback that
* unsubscribing is more costly.
*
+ * Receivers can implement the {@link Ordered} interface to specify their priority when it
+ * comes to event processing. For example some components need to receive the event first,
+ * as they might be used by other components during event processing.
+ *
* @version $Id$
*/
public class DefaultEventManager
@@ -316,6 +323,7 @@
}
if ( !this.receivers.contains(r)) {
this.receivers.add(r);
+ Collections.sort(this.receivers, ReceiverInfoComparator.instance);
}
}
@@ -388,6 +396,19 @@
*/
public int hashCode() {
return this.receiver.hashCode() + this.method.hashCode();
+ }
+ }
+
+ protected static final class ReceiverInfoComparator implements Comparator {
+
+ protected static ReceiverInfoComparator instance = new ReceiverInfoComparator();
+ protected OrderComparator orderComparator = new OrderComparator();
+
+ public int compare(Object o1, Object o2) {
+ if ( o1 instanceof ReceiverInfo && o2 instanceof ReceiverInfo ) {
+ return this.orderComparator.compare(((ReceiverInfo)o1).receiver, ((ReceiverInfo)o2).receiver);
+ }
+ return 0;
}
}
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/JXPathEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/JXPathEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/JXPathEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/impl/JXPathEvent.java Tue Sep 5 11:38:44 2006
@@ -22,38 +22,20 @@
*
* @version $Id$
*/
-public abstract class JXPathEvent implements Event {
-
- protected String path;
-
- protected Object value;
-
- protected Object target;
+public interface JXPathEvent extends Event {
/**
* @return Returns the path.
*/
- public String getPath() {
- return path;
- }
+ String getPath();
/**
* @return Returns the value.
*/
- public Object getValue() {
- return value;
- }
+ Object getValue();
/**
* @return Returns the target.
*/
- public Object getObject() {
- return this.target;
- }
-
- public JXPathEvent(Object target, String path, Object value) {
- this.target = target;
- this.path = path;
- this.value = value;
- }
+ Object getObject();
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutAddedEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutAddedEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutAddedEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutAddedEvent.java Tue Sep 5 11:38:44 2006
@@ -24,7 +24,7 @@
* @since 2.2
*/
public class LayoutAddedEvent
- extends AbstractLayoutEvent {
+ extends LayoutEvent {
public LayoutAddedEvent(Layout target) {
super(target);
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java Tue Sep 5 11:38:44 2006
@@ -26,7 +26,7 @@
* @version $Id$
*/
public class LayoutChangeParameterEvent
- extends AbstractLayoutEvent
+ extends LayoutEvent
implements ComparableEvent, ConvertableEvent {
protected String parameterName;
Copied: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutEvent.java (from r440395, cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/AbstractLayoutEvent.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutEvent.java?view=diff&rev=440432&p1=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/AbstractLayoutEvent.java&r1=440395&p2=cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutEvent.java&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/AbstractLayoutEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutEvent.java Tue Sep 5 11:38:44 2006
@@ -1,3 +1,9 @@
+/**
+ * This interface marks an event as targetted at a
+ * {@link org.apache.cocoon.portal.om.Layout} object.
+ *
+ * @version $Id$
+ */
/*
* Copyright 2006 The Apache Software Foundation.
*
@@ -15,15 +21,20 @@
*/
package org.apache.cocoon.portal.event.layout;
-import org.apache.cocoon.portal.event.LayoutEvent;
+import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.om.Layout;
-public class AbstractLayoutEvent
- implements LayoutEvent {
+/**
+ * This interface marks an event as targetted at a
+ * {@link org.apache.cocoon.portal.om.Layout} object.
+ *
+ * @version $Id$
+ */
+public abstract class LayoutEvent implements Event {
protected Layout target;
- public AbstractLayoutEvent(Layout target) {
+ public LayoutEvent(Layout target) {
this.target = target;
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutJXPathEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutJXPathEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutJXPathEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutJXPathEvent.java Tue Sep 5 11:38:44 2006
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.event.layout;
-import org.apache.cocoon.portal.event.LayoutEvent;
import org.apache.cocoon.portal.event.impl.JXPathEvent;
import org.apache.cocoon.portal.om.Layout;
@@ -25,17 +24,36 @@
* @version $Id$
*/
public class LayoutJXPathEvent
- extends JXPathEvent
- implements LayoutEvent {
+ extends LayoutEvent
+ implements JXPathEvent {
+
+ protected final String path;
+ protected final Object value;
public LayoutJXPathEvent(Layout target, String path, Object value) {
- super( target, path, value );
+ super( target );
+ this.path = path;
+ this.value = value;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getPath()
+ */
+ public String getPath() {
+ return this.path;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getValue()
+ */
+ public Object getValue() {
+ return this.value;
}
/**
- * @see org.apache.cocoon.portal.event.LayoutEvent#getTarget()
+ * @see org.apache.cocoon.portal.event.impl.JXPathEvent#getObject()
*/
- public Layout getTarget() {
- return (Layout)this.target;
+ public Object getObject() {
+ return this.getTarget();
}
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutRemovedEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutRemovedEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutRemovedEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/LayoutRemovedEvent.java Tue Sep 5 11:38:44 2006
@@ -24,7 +24,7 @@
* @since 2.2
*/
public class LayoutRemovedEvent
- extends AbstractLayoutEvent {
+ extends LayoutEvent {
public LayoutRemovedEvent(Layout target) {
super(target);
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/RemoveLayoutEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/RemoveLayoutEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/RemoveLayoutEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/layout/RemoveLayoutEvent.java Tue Sep 5 11:38:44 2006
@@ -27,7 +27,7 @@
* @version $Id$
*/
public class RemoveLayoutEvent
- extends AbstractLayoutEvent
+ extends LayoutEvent
implements ConvertableEvent {
/**
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserDidLoginEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserDidLoginEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserDidLoginEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserDidLoginEvent.java Tue Sep 5 11:38:44 2006
@@ -28,4 +28,11 @@
public UserDidLoginEvent(PortalUser pu) {
super(pu);
}
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return "UserDidLoginEvent: user=" + this.portalUser;
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserEvent.java Tue Sep 5 11:38:44 2006
@@ -36,4 +36,11 @@
public PortalUser getPortalUser() {
return this.portalUser;
}
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return "UserEvent: user=" + this.portalUser;
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserIsAccessingEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserIsAccessingEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserIsAccessingEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserIsAccessingEvent.java Tue Sep 5 11:38:44 2006
@@ -28,4 +28,11 @@
public UserIsAccessingEvent(PortalUser pu) {
super(pu);
}
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return "UserIsAccessingEvent: user=" + this.portalUser;
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserWillLogoutEvent.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserWillLogoutEvent.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserWillLogoutEvent.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/user/UserWillLogoutEvent.java Tue Sep 5 11:38:44 2006
@@ -30,4 +30,11 @@
public UserWillLogoutEvent(PortalUser pu) {
super(pu);
}
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return "UserWillLogoutEvent: user=" + this.portalUser;
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractPortalUser.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractPortalUser.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractPortalUser.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractPortalUser.java Tue Sep 5 11:38:44 2006
@@ -128,4 +128,11 @@
public String getDefaultLayoutKey() {
return null;
}
+
+ /**
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ return "PortalUser (" + super.toString() + "): name = " + this.getUserName();
+ }
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java Tue Sep 5 11:38:44 2006
@@ -42,6 +42,7 @@
import org.apache.cocoon.portal.services.aspects.ProfileManagerAspect;
import org.apache.cocoon.portal.services.aspects.impl.support.ProfileManagerAspectContextImpl;
import org.apache.cocoon.portal.services.aspects.support.AspectChain;
+import org.springframework.core.Ordered;
/**
* Base class for all profile managers.
@@ -50,7 +51,7 @@
*/
public abstract class AbstractProfileManager
extends AbstractComponent
- implements ProfileManager, Receiver, Configurable {
+ implements ProfileManager, Receiver, Configurable, Ordered {
/** The configuration. */
protected Configuration configuration;
@@ -224,4 +225,15 @@
}
return profile;
}
+
+ /**
+ * This component should have a high priority (low order) as
+ * other components might access it during event processing.
+ * But the priority must be lower than the priority of the user service!
+ * @see org.springframework.core.Ordered#getOrder()
+ */
+ public int getOrder() {
+ return -1;
+ }
+
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultUserService.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultUserService.java?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultUserService.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/services/impl/DefaultUserService.java Tue Sep 5 11:38:44 2006
@@ -28,6 +28,7 @@
import org.apache.cocoon.portal.impl.AbstractComponent;
import org.apache.cocoon.portal.om.PortalUser;
import org.apache.cocoon.portal.services.UserService;
+import org.springframework.core.Ordered;
/**
@@ -35,7 +36,7 @@
*/
public class DefaultUserService
extends AbstractComponent
- implements UserService, Receiver {
+ implements UserService, Receiver, Ordered {
/** Attribute to store the current user. */
protected static final String USER_ATTRIBUTE = DefaultUserService.class.getName() + "/User";
@@ -214,5 +215,14 @@
return this.defaultLayoutKey;
}
return key;
+ }
+
+ /**
+ * This component should have a high priority (low order) as
+ * other components might access it during event processing.
+ * @see org.springframework.core.Ordered#getOrder()
+ */
+ public int getOrder() {
+ return -5;
}
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/login-html.xsl
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/login-html.xsl?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/login-html.xsl (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/login-html.xsl Tue Sep 5 11:38:44 2006
@@ -50,7 +50,7 @@
</xsl:template>
<xsl:template match="form">
- <form method="post" target="_top">
+ <form method="post">
<xsl:choose>
<xsl:when test="$resource=''">
<xsl:attribute name="action"><xsl:value-of select="normalize-space(url)"/>?resource=portal</xsl:attribute>
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/portal-page.xsl
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/portal-page.xsl?view=diff&rev=440432&r1=440431&r2=440432
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/portal-page.xsl (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-sample/src/main/resources/COB-INF/skins/modern/styles/portal-page.xsl Tue Sep 5 11:38:44 2006
@@ -39,7 +39,7 @@
<a href="logout"><img src="{$rsrcprefix}skin/{$skin}/images/logout-door.gif" alt="logo" width="18" height="22" border="0"/></a>
<a href="logout">Logout</a>
 
- <a href="tools/">Tools</a>
+ <!-- a href="tools/">Tools</a -->
</div>
</xsl:if>
<div id="cocoon-portal-header-logo" >