Author: sagara Date: Wed Oct 19 05:52:45 2011 New Revision: 1185979 URL: http://svn.apache.org/viewvc?rev=1185979&view=rev Log: Changed SessionManager to use Axiom UIDGenerator class instead of deprecated UUIDGenerator class and added proper generics. Added SessionManagerTest.
Added: axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/ axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java (with props) Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SessionManager.java Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SessionManager.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SessionManager.java?rev=1185979&r1=1185978&r2=1185979&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SessionManager.java (original) +++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SessionManager.java Wed Oct 19 05:52:45 2011 @@ -19,7 +19,7 @@ package org.apache.axis2.transport.http.server; -import org.apache.axiom.om.util.UUIDGenerator; +import org.apache.axiom.util.UIDGenerator; import org.apache.axis2.context.ServiceContext; import org.apache.axis2.context.ServiceGroupContext; import org.apache.axis2.context.SessionContext; @@ -31,11 +31,11 @@ import java.util.Map; public class SessionManager { - private final Map sessionmap; + private final Map<String, SessionContext> sessionmap; public SessionManager() { super(); - this.sessionmap = new HashMap(); + this.sessionmap = new HashMap<String, SessionContext>(); } public synchronized SessionContext getSessionContext(String sessionKey) { @@ -44,7 +44,7 @@ public class SessionManager { sessionContext = (SessionContext) this.sessionmap.get(sessionKey); } if (sessionContext == null) { - sessionKey = UUIDGenerator.getUUID(); + sessionKey = UIDGenerator.generateUID(); sessionContext = new SessionContext(null); sessionContext.setCookieID(sessionKey); this.sessionmap.put(sessionKey, sessionContext); @@ -56,13 +56,13 @@ public class SessionManager { private void cleanupServiceGroupContexts() { long currentTime = System.currentTimeMillis(); - for (Iterator it = this.sessionmap.keySet().iterator(); it.hasNext();) { + for (Iterator<String> it = this.sessionmap.keySet().iterator(); it.hasNext();) { String cookieID = (String) it.next(); SessionContext sessionContext = (SessionContext) this.sessionmap.get(cookieID); if ((currentTime - sessionContext.getLastTouchedTime()) > sessionContext.sessionContextTimeoutInterval) { it.remove(); - Iterator serviceGroupContext = sessionContext.getServiceGroupContext(); + Iterator<ServiceGroupContext> serviceGroupContext = sessionContext.getServiceGroupContext(); if (serviceGroupContext != null) { while (serviceGroupContext.hasNext()) { ServiceGroupContext groupContext = @@ -75,7 +75,7 @@ public class SessionManager { } private void cleanupServiceContexts(final ServiceGroupContext serviceGroupContext) { - for (Iterator it = serviceGroupContext.getServiceContexts(); it.hasNext();) { + for (Iterator<ServiceContext> it = serviceGroupContext.getServiceContexts(); it.hasNext();) { ServiceContext serviceContext = (ServiceContext) it.next(); DependencyManager.destroyServiceObject(serviceContext); } Added: axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java?rev=1185979&view=auto ============================================================================== --- axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java (added) +++ axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java Wed Oct 19 05:52:45 2011 @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.axis2.transport.server; + +import org.apache.axis2.context.SessionContext; +import org.apache.axis2.transport.http.server.SessionManager; + +import junit.framework.TestCase; + +/** + * The Class SessionManagerTest. + */ +public class SessionManagerTest extends TestCase { + + SessionManager manager; + + /* + * (non-Javadoc) + * + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); + manager = new SessionManager(); + } + + /* + * (non-Javadoc) + * + * @see junit.framework.TestCase#tearDown() + */ + protected void tearDown() throws Exception { + super.tearDown(); + manager = null; + } + + /** + * Test get session context. + */ + public void testGetSessionContext() { + String sessionKey = null; + SessionContext ctx1 = manager.getSessionContext(sessionKey); + sessionKey = ctx1.getCookieID(); + assertNotNull(ctx1); + assertNotNull(sessionKey); + + SessionContext ctx2 = manager.getSessionContext(sessionKey); + assertNotNull(ctx2); + assertEquals(ctx1, ctx2); + assertEquals(sessionKey, ctx2.getCookieID()); + + SessionContext ctx3 = manager.getSessionContext(null); + assertNotNull(ctx3); + assertNotSame(ctx1, ctx3); + assertFalse(sessionKey.equals(ctx3.getCookieID())); + } + +} Propchange: axis/axis2/java/core/trunk/modules/transport/http/test/org/apache/axis2/transport/server/SessionManagerTest.java ------------------------------------------------------------------------------ svn:eol-style = native