1 9 package org.jboss.portal.server.invocation.portal; 10 11 import org.jboss.portal.server.PortalRequest; 12 import org.jboss.portal.server.impl.user.UserContextImpl; 13 import org.jboss.portal.server.invocation.AttachmentKey; 14 import org.jboss.portal.server.invocation.Interceptor; 15 import org.jboss.portal.server.invocation.Invocation; 16 import org.jboss.portal.server.user.UserContext; 17 18 24 public class UserContextInterceptor implements Interceptor 25 { 26 27 private static final String SESSION_KEY_USER_CONTEXT = "USER_CONTEXT"; 28 29 public Object invoke(Invocation invocation) 30 { 31 PortalRequest req = (PortalRequest)invocation.getAttachment(AttachmentKey.PORTAL_REQUEST); 32 33 UserContext userContext = null; 35 userContext = (UserContext)req.getSession().getAttribute(SESSION_KEY_USER_CONTEXT); 36 if (userContext == null) 37 { 38 userContext = new UserContextImpl(); 39 req.getSession().setAttribute(SESSION_KEY_USER_CONTEXT, userContext); 40 } 41 42 try 43 { 44 invocation.setAttachment(AttachmentKey.USER_CONTEXT, userContext); 46 47 return invocation.invokeNext(); 49 } 50 finally 51 { 52 invocation.removeAttachment(AttachmentKey.USER_CONTEXT); 54 55 req.getSession().setAttribute(SESSION_KEY_USER_CONTEXT, userContext); 57 } 58 } 59 } 60 | Popular Tags |