Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse McConnell2011-08-26 19:13:38 +0000
committerJesse McConnell2011-08-26 19:13:38 +0000
commitd3095e94c4f95624656d1c92a6e5ab635cc7aab2 (patch)
treee6898e7232f73cc3389204330f5e6b0053fcf12a
parenta8c8ab2a0b6955bc6a0a6cd9d95e020dce049c71 (diff)
downloadorg.eclipse.jetty.sandbox-d3095e94c4f95624656d1c92a6e5ab635cc7aab2.tar.gz
org.eclipse.jetty.sandbox-d3095e94c4f95624656d1c92a6e5ab635cc7aab2.tar.xz
org.eclipse.jetty.sandbox-d3095e94c4f95624656d1c92a6e5ab635cc7aab2.zip
save and load of sessions are working in the basic sense, and LastAccessTime test is passing as well.AHEADmaster
-rw-r--r--jetty-ehcache-sessions/src/main/java/org/eclipse/jetty/nosql/ehcache/JsonSession.java151
-rw-r--r--jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/LastAccessTimeTest.java15
-rw-r--r--jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/NewSessionTest.java15
3 files changed, 181 insertions, 0 deletions
diff --git a/jetty-ehcache-sessions/src/main/java/org/eclipse/jetty/nosql/ehcache/JsonSession.java b/jetty-ehcache-sessions/src/main/java/org/eclipse/jetty/nosql/ehcache/JsonSession.java
new file mode 100644
index 0000000..833650c
--- /dev/null
+++ b/jetty-ehcache-sessions/src/main/java/org/eclipse/jetty/nosql/ehcache/JsonSession.java
@@ -0,0 +1,151 @@
+package org.eclipse.jetty.nosql.ehcache;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.jetty.nosql.NoSqlSession;
+import org.eclipse.jetty.util.ajax.JSON;
+import org.eclipse.jetty.util.ajax.JSON.Output;
+import org.eclipse.jetty.util.ajax.JSONPojoConvertor.Setter;
+
+public class JsonSession implements JSON.Convertible
+{
+ public String clusterId;
+ public String nodeId;
+ public Long creationTime;
+ public Long accessed;
+ public Integer requests;
+ public Integer attributes;
+ public Object version = new Integer(0);
+ public Map<String, Object> attrs = new HashMap<String,Object>();
+
+ public JsonSession()
+ {
+
+ }
+
+ public JsonSession(NoSqlSession session)
+ {
+ clusterId = session.getClusterId();
+ nodeId = session.getNodeId();
+ creationTime = session.getCreationTime();
+ accessed = session.getAccessed();
+ requests = session.getRequests();
+ attributes = session.getAttributes();
+ if ( session.getVersion() != null )
+ {
+ version = session.getVersion();
+ }
+
+ Enumeration<String> e = session.getAttributeNames();
+ while (e.hasMoreElements())
+ {
+ String key = e.nextElement();
+ attrs.put(key,session.getAttribute(key));
+ }
+ }
+
+ public String getClusterId()
+ {
+ return clusterId;
+ }
+
+ public void setClusterId(String clusterId)
+ {
+ this.clusterId = clusterId;
+ }
+
+ public String getNodeId()
+ {
+ return nodeId;
+ }
+
+ public void setNodeId(String nodeId)
+ {
+ this.nodeId = nodeId;
+ }
+
+ public Long getCreationTime()
+ {
+ return creationTime;
+ }
+
+ public void setCreationTime(Long creationTime)
+ {
+ this.creationTime = creationTime;
+ }
+
+ public Long getAccessed()
+ {
+ return accessed;
+ }
+
+ public void setAccessed(Long accessed)
+ {
+ this.accessed = accessed;
+ }
+
+ public Integer getRequests()
+ {
+ return requests;
+ }
+
+ public void setRequests(Integer requests)
+ {
+ this.requests = requests;
+ }
+
+ public Integer getAttributes()
+ {
+ return attributes;
+ }
+
+ public void setAttributes(Integer attributes)
+ {
+ this.attributes = attributes;
+ }
+
+ public Object getVersion()
+ {
+ return version;
+ }
+
+ public void setVersion(Object version)
+ {
+ this.version = version;
+ }
+
+ public Map<String,Object> getAttrs()
+ {
+ return attrs;
+ }
+
+ @Override
+ public void toJSON(Output out)
+ {
+ out.add("version", (Integer)getVersion() );
+ out.add("clusterId", getClusterId() );
+ out.add("creationTime", getCreationTime());
+ out.add("accessed", getAccessed());
+ out.add("requests", getRequests());
+ out.add("attributes", getAttributes());
+
+ out.add("attrs", attrs);
+
+ }
+
+ @Override
+ public void fromJSON(Map object)
+ {
+ setRequests(Integer.valueOf("" + object.get("requests")));
+ setVersion(object.get("version"));
+ setAccessed((Long)object.get("accessed"));
+ setCreationTime((Long)object.get("creationTime"));
+ setAttributes(Integer.valueOf("" + object.get("attributes")));
+
+ attrs = (HashMap<String,Object>)object.get("attrs");
+ }
+
+} \ No newline at end of file
diff --git a/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/LastAccessTimeTest.java b/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/LastAccessTimeTest.java
new file mode 100644
index 0000000..a08d4dd
--- /dev/null
+++ b/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/LastAccessTimeTest.java
@@ -0,0 +1,15 @@
+package org.eclipse.jetty.nosql.ehcache;
+
+import org.eclipse.jetty.server.session.AbstractLastAccessTimeTest;
+import org.eclipse.jetty.server.session.AbstractTestServer;
+
+public class LastAccessTimeTest extends AbstractLastAccessTimeTest
+{
+
+ @Override
+ public AbstractTestServer createServer(int port, int max, int scavenge)
+ {
+ return new TestServer(0);
+ }
+
+}
diff --git a/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/NewSessionTest.java b/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/NewSessionTest.java
new file mode 100644
index 0000000..2d8c5c8
--- /dev/null
+++ b/jetty-ehcache-sessions/src/test/java/org/eclipse/jetty/nosql/ehcache/NewSessionTest.java
@@ -0,0 +1,15 @@
+package org.eclipse.jetty.nosql.ehcache;
+
+import org.eclipse.jetty.server.session.AbstractNewSessionTest;
+import org.eclipse.jetty.server.session.AbstractTestServer;
+
+public class NewSessionTest extends AbstractNewSessionTest
+{
+
+ @Override
+ public AbstractTestServer createServer(int port, int max, int scavenge)
+ {
+ return new TestServer(0);
+ }
+
+}

Back to the top