public void testPackUnpack() throws Exception { ISerializableSession session1, session2; session1 = factory.create("session1"); session1.setAttribute("foo", "foo value"); session1.setAttribute("bar", 22222); byte[] raw = factory.pack(session1); session2 = factory.unpack(raw); assertNotNull(session2); assertEquals(session1.getId(), session2.getId()); assertEquals(session1.getCreationTime(), session2.getCreationTime()); assertEquals(session1.getAttributeMap(), session2.getAttributeMap()); } }
public void testPackUnpack() throws Exception { ISerializableSession session1, session2; session1 = factory.create("session1"); session1.setAttribute("foo", "foo value"); session1.setAttribute("bar", 22222); byte[] raw = factory.pack(session1); session2 = factory.unpack(raw); assertNotNull(session2); assertEquals(session1.getId(), session2.getId()); assertEquals(session1.getCreationTime(), session2.getCreationTime()); assertEquals(session1.getAttributeMap(), session2.getAttributeMap()); } }
public ISerializableSession create(AbstractSession session) { synchronized(session) { ISerializableSession s = create(session.getId(), session.getCreationTime(), session.getAccessed()); if (session.isValid()) { for (String key: session.getNames()) { s.setAttribute(key, session.getAttribute(key)); } } else { // we do not need to retrieve attributes of invalidated sessions since // they have been cleared on AbstractSession.invalidate(). s.setValid(false); } return s; } }