1 16 17 package info.jtrac.util; 18 19 import info.jtrac.domain.Space; 20 import info.jtrac.domain.UserSpaceRole; 21 import java.util.ArrayList ; 22 import java.util.List ; 23 import java.util.Locale ; 24 import java.util.Set ; 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.http.HttpServletResponse ; 27 import org.springframework.util.StringUtils; 28 import org.springframework.web.servlet.i18n.SessionLocaleResolver; 29 import org.springframework.webflow.context.servlet.ServletExternalContext; 30 import org.springframework.webflow.execution.RequestContext; 31 32 35 public class UserUtils { 36 37 public static SessionLocaleResolver slr = new SessionLocaleResolver(); 38 39 public static void refreshLocale(HttpServletRequest request, HttpServletResponse response, String localeString) { 40 if (localeString == null) { 41 localeString = "en"; 42 } 43 Locale locale = StringUtils.parseLocaleString(localeString); 44 slr.setLocale(request, response, locale); 45 } 46 47 public static void refreshLocale(RequestContext context, String localeString) { 48 ServletExternalContext servletContext = (ServletExternalContext) context.getLastEvent().getSource(); 49 refreshLocale(servletContext.getRequest(), servletContext.getResponse(), localeString); 50 } 51 52 60 public static List <UserSpaceRole> filterUsersAbleToTransitionFrom(List <UserSpaceRole> userSpaceRoles, Space space, int state) { 61 Set <String > set = space.getMetadata().getRolesAbleToTransitionFrom(state); 62 List <UserSpaceRole> list = new ArrayList <UserSpaceRole>(userSpaceRoles.size()); 63 for(UserSpaceRole usr : userSpaceRoles) { 64 if(set.contains(usr.getRoleKey())) { 65 list.add(usr); 66 } 67 } 68 return list; 69 } 70 } 71 | Popular Tags |