package org.agnitas.emm.springws.endpoint; import org.agnitas.emm.springws.jaxb.Map; import org.agnitas.emm.springws.jaxb.MapItem; import org.agnitas.emm.springws.jaxb.ObjectFactory; import org.apache.commons.collections.map.CaseInsensitiveMap; import org.springframework.security.context.SecurityContextHolder; import org.springframework.security.userdetails.UserDetails; public class Utils { public static CaseInsensitiveMap toCaseInsensitiveMap(Map map) { if (map == null || map.getItem() == null) { return null; } CaseInsensitiveMap resultMap = new CaseInsensitiveMap(map.getItem().size()); for (MapItem item : map.getItem()) { resultMap.put(item.getKey(), item.getValue()); } return resultMap; } public static int getUserCompany() { // assume that authority looks like USER_{companyId} return Integer.valueOf(((UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getAuthorities()[0].getAuthority().substring(5)); } @SuppressWarnings("rawtypes") public static Map toJaxbMap(java.util.Map map, ObjectFactory objectFactory) { if (map == null) { return null; } Map resultMap = objectFactory.createMap(); for (Object key : map.keySet()) { MapItem mapItem = objectFactory.createMapItem(); mapItem.setKey(key); mapItem.setValue(map.get(key)); resultMap.getItem().add(mapItem); } return resultMap; } }