package com.intuit.tank.util; /* * #%L * JSF Support Beans * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import java.io.IOException; import javax.inject.Inject; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.picketlink.Identity; import org.picketlink.idm.IdentityManager; import org.picketlink.idm.model.basic.User; import com.intuit.tank.vm.common.ThreadLocalUsernameProvider; /** * * @author Kevin McGoldrick * */ public class UserNameFilter implements Filter { @Inject private Identity identity; @Inject private IdentityManager identityManager; @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (identity != null && identity.getAccount() != null && identityManager.lookupById(User.class, identity.getAccount().getId()) != null) { ThreadLocalUsernameProvider.getUsernameProvider().setUserName(identityManager.lookupById(User.class, identity.getAccount().getId()).getLoginName()); } else { ThreadLocalUsernameProvider.getUsernameProvider().setUserName(null); } chain.doFilter(request, response); } @Override public void destroy() { // TODO Auto-generated method stub } }