Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2009 eXo Platform SAS. This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this software; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org.
package org.exoplatform.web;
public class CacheUserProfileFilter extends AbstractFilter {

    
"subject".
    public static final String USER_PROFILE = "UserProfile";

    
Logger.
    private static Log log = ExoLogger.getLogger(CacheUserProfileFilter.class);
    public void doFilter(ServletRequest requestServletResponse responseFilterChain chainthrows ServletException {
        ConversationState state = ConversationState.getCurrent();
        try {
            if (state != null && !state.getIdentity().getUserId().equals(.)) {
                if (.isDebugEnabled())
                    .debug("Conversation State found, save user profile to Conversation State.");
                if (state.getAttribute() == null) {
                    OrganizationService orgService = (OrganizationServicegetContainer().getComponentInstanceOfType(
                            OrganizationService.class);
                    begin(orgService);
                    User user = orgService.getUserHandler().findUserByName(state.getIdentity().getUserId());
                    end(orgService);
                    state.setAttribute(user);
                }
            }
            chain.doFilter(requestresponse);
        } catch (Exception e) {
            .warn("An error occured while cache user profile"e);
        }
    }
    public void destroy() {
    }
    public void begin(OrganizationService orgService) {
        if (orgService instanceof ComponentRequestLifecycle) {
            RequestLifeCycle.begin((ComponentRequestLifecycleorgService);
        }
    }
    public void end(OrganizationService orgService) {
        if (orgService instanceof ComponentRequestLifecycle) {
            RequestLifeCycle.end();
        }
    }
New to GrepCode? Check out our FAQ X