aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java
index a8eef06a7..896fc6d5d 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/HTTPSessionUtils.java
@@ -1,9 +1,38 @@
package at.gv.egovernment.moa.id.util;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Set;
+
import javax.servlet.http.HttpSession;
public class HTTPSessionUtils {
+ public static HashMap<String, Object> extractAllProperties(HttpSession session) {
+ @SuppressWarnings("unchecked")
+ Enumeration<String> keys = (Enumeration<String>)session.getAttributeNames();
+ HashMap<String, Object> properties = new HashMap<String, Object>();
+
+ while(keys.hasMoreElements()) {
+ Object keyObject = keys.nextElement();
+ String key = keyObject.toString();
+ Object value = session.getAttribute(key);
+ properties.put(key, value);
+ }
+
+ return properties;
+ }
+
+ public static void pushAllProperties(HttpSession session, HashMap<String, Object> properties) {
+ Set<String> keys = properties.keySet();
+ Iterator<String> keysIterator = keys.iterator();
+ while(keysIterator.hasNext()) {
+ String key = keysIterator.next();
+ session.setAttribute(key, properties.get(key));
+ }
+ }
+
public static boolean getHTTPSessionBoolean(HttpSession session, String name, boolean fallback) {
Object obj = session.getAttribute(name);
if(obj == null) {