SessionStorage { public synchronized T getSessionIdentifier(final String sessionId) { if (sessionId == null) { LOGGER.warn("No session given. Unable to determine a session" + " identifier"); return null; } T identifier = sessions.get(sessionId); if (identifier == null) { identifier = factory.createSessionIdentifier(sessionId); sessions.put(sessionId, identifier); } return identifier; } SessionStorage(final SessionIdentifierFactory<T> identifierFactory); synchronized T getSessionIdentifier(final String sessionId); synchronized void releaseSession(final String sessionId);  }
@Test public void testGetSessionIdentifier() { final String id1 = storage.getSessionIdentifier(sessionId); Assert.assertNotNull(id1); final String id2 = storage.getSessionIdentifier(sessionId); Assert.assertEquals(id1, id2); final String sessionId3 = UUID.randomUUID().toString(); final String id3 = storage.getSessionIdentifier(sessionId3); Assert.assertNotSame(id1, id3); final String id4 = storage.getSessionIdentifier(null); Assert.assertNull("expected tosessionId retrieve a null identifer", id4); }