Author: markt Date: Thu Mar 7 13:21:30 2013 New Revision: 1453857 URL: http://svn.apache.org/r1453857 Log: Address some low hanging TODOs
Modified: tomcat/trunk/java/javax/websocket/Session.java tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Modified: tomcat/trunk/java/javax/websocket/Session.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/Session.java?rev=1453857&r1=1453856&r2=1453857&view=diff ============================================================================== --- tomcat/trunk/java/javax/websocket/Session.java (original) +++ tomcat/trunk/java/javax/websocket/Session.java Thu Mar 7 13:21:30 2013 @@ -84,6 +84,10 @@ public interface Session extends Closeab RemoteEndpoint.Basic getBasicRemote(); + /** + * Provides a unique identifier for the session. This identifier should not + * be relied upon to be generated from a secure random source. + */ String getId(); /** Modified: tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java?rev=1453857&r1=1453856&r2=1453857&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java Thu Mar 7 13:21:30 2013 @@ -19,7 +19,10 @@ package org.apache.tomcat.websocket; import java.util.HashSet; import java.util.Set; +import org.apache.juli.logging.Log; +import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; +import org.apache.tomcat.util.res.StringManager; /** * Provides a background processing mechanism that triggers roughly once a @@ -28,6 +31,10 @@ import org.apache.tomcat.util.ExceptionU */ public class BackgroundProcessManager { + private static final Log log = + LogFactory.getLog(BackgroundProcessManager.class); + private static final StringManager sm = + StringManager.getManager(Constants.PACKAGE_NAME); private static final BackgroundProcessManager instance; @@ -82,8 +89,8 @@ public class BackgroundProcessManager { process.backgroundProcess(); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); - // Ignore anything else - // TODO Log this + log.error(sm.getString( + "backgroundProcessManager.processFailed"), t); } } } Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1453857&r1=1453856&r2=1453857&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu Mar 7 13:21:30 2013 @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +backgroundProcessManager.processFailed=A background process failed + # Note the wsFrame.* messages are used as close reasons in WebSocket control # frames and therefore must be 123 bytes (not characters) or less in length. # Messages are encoded using UTF-8 where a single character may be encoded in Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java?rev=1453857&r1=1453856&r2=1453857&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java Thu Mar 7 13:21:30 2013 @@ -60,7 +60,6 @@ public abstract class WsFrameBase { onUnmappableCharacter(CodingErrorAction.REPORT); private boolean continuationExpected = false; private boolean textMessage = false; - // TODO: May need a new ByteBuffer per message private ByteBuffer messageBufferBinary; private CharBuffer messageBufferText; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1453857&r1=1453856&r2=1453857&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Thu Mar 7 13:21:30 2013 @@ -28,6 +28,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import javax.websocket.CloseReason; import javax.websocket.CloseReason.CloseCodes; @@ -50,6 +51,7 @@ public class WsSession implements Sessio private static final Charset UTF8 = Charset.forName("UTF8"); private static final StringManager sm = StringManager.getManager(Constants.PACKAGE_NAME); + private static AtomicLong ids = new AtomicLong(0); private final Log log = LogFactory.getLog(WsSession.class); @@ -63,6 +65,7 @@ public class WsSession implements Sessio private final String subProtocol; private final Map<String,String> pathParameters; private final boolean secure; + private final String id; private MessageHandler textMessageHandler = null; private MessageHandler binaryMessageHandler = null; @@ -77,7 +80,6 @@ public class WsSession implements Sessio private volatile long maxIdleTimeout = 0; private volatile long lastActive = System.currentTimeMillis(); - /** * Creates a new WebSocket session for communication between the two * provided end points. The result of {@link Thread#getContextClassLoader()} @@ -115,6 +117,8 @@ public class WsSession implements Sessio this.pathParameters = pathParameters; this.secure = secure; this.wsRemoteEndpoint.setEncoders(encoders); + + this.id = Long.toHexString(ids.getAndIncrement()); } @@ -372,8 +376,7 @@ public class WsSession implements Sessio @Override public String getId() { - // TODO Auto-generated method stub - return null; + return id; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org