package at.gv.egovernment.moa.id.moduls; import java.util.List; import java.util.Map; import javax.servlet.http.HttpSession; import at.gv.egovernment.moa.logging.Logger; public class RequestStorage { private static final String PENDING_REQUEST = "PENDING_REQUEST"; public static Map getPendingRequest(HttpSession session) { Object obj = session.getAttribute(PENDING_REQUEST); if (obj != null) { synchronized (obj) { if (obj instanceof Map) { if (((Map) obj).size() > 0) { if ( ((Map) obj).keySet().toArray()[0] instanceof String) { if (((Map) obj).get(((Map) obj).keySet().toArray()[0]) instanceof IRequest) { return (Map) obj; } } } } } session.setAttribute(PENDING_REQUEST, null); } return null; } public static void setPendingRequest(HttpSession session, Map request) { session.setAttribute(PENDING_REQUEST, request); } public static void removeAllPendingRequests(HttpSession session) { Logger.debug(RequestStorage.class.getName()+": Remove all PendingRequests"); session.setAttribute(PENDING_REQUEST, null); } public static void removePendingRequest(Map requestmap, String requestID) { if (requestmap != null && requestID != null) { synchronized (requestmap) { //Map requestmap = getPendingRequest(session); if (requestmap.containsKey(requestID)) { requestmap.remove(requestID); Logger.debug(RequestStorage.class.getName()+": Remove PendingRequest with ID " + requestID); } //setPendingRequest(session, requestmap); } } } }