Author: markt
Date: Fri Feb 24 12:49:03 2012
New Revision: 1293231

URL: http://svn.apache.org/viewvc?rev=1293231&view=rev
Log:
Use a StringManger for exception messages etc. for i18n support

Modified:
    tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/websocket/MessageInbound.java
    tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java
    tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java
    tomcat/trunk/java/org/apache/catalina/websocket/WsOutbound.java

Modified: 
tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties?rev=1293231&r1=1293230&r2=1293231&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/LocalStrings.properties Fri 
Feb 24 12:49:03 2012
@@ -11,4 +11,15 @@
 # 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.
\ No newline at end of file
+# limitations under the License.
+
+frame.eos=The end of the stream was reached before the expected number of 
payload bytes could be read
+frame.invalidUtf8=A sequence of bytes was received that did not represent 
valid UTF-8
+frame.notMasked=The client frame was not masked but all client frames must be 
masked
+
+is.notContinutation=A frame with the OpCode [{0}] was recieved when a 
continuation frame was expected
+is.unknownOpCode=A frame with the unrecognized OpCode [{0}] was received
+
+message.bufferTooSmall=The buffer is not big enough to contain the message 
currently being processed
+
+outbound.closed=The WebSocket connection has been closed
\ No newline at end of file

Modified: tomcat/trunk/java/org/apache/catalina/websocket/MessageInbound.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/MessageInbound.java?rev=1293231&r1=1293230&r2=1293231&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/MessageInbound.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/MessageInbound.java Fri Feb 
24 12:49:03 2012
@@ -22,6 +22,8 @@ import java.io.Reader;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 
+import org.apache.tomcat.util.res.StringManager;
+
 /**
  * Base implementation of the class used to process WebSocket connections based
  * on messages. Applications should extend this class to provide application
@@ -30,6 +32,10 @@ import java.nio.CharBuffer;
  */
 public abstract class MessageInbound extends StreamInbound {
 
+    private static final StringManager sm =
+            StringManager.getManager(Constants.Package);
+
+
     // 2MB - like maxPostSize
     private int byteBufferMaxSize = 2097152;
     private int charBufferMaxSize = 2097152;
@@ -73,8 +79,7 @@ public abstract class MessageInbound ext
     private void resizeByteBuffer() throws IOException {
         int maxSize = getByteBufferMaxSize();
         if (bb.limit() >= maxSize) {
-            // TODO i18n
-            throw new IOException("Buffer not big enough for message");
+            throw new IOException(sm.getString("message.bufferTooSmall"));
         }
 
         long newSize = bb.limit() * 2;
@@ -93,8 +98,7 @@ public abstract class MessageInbound ext
     private void resizeCharBuffer() throws IOException {
         int maxSize = getCharBufferMaxSize();
         if (cb.limit() >= maxSize) {
-            // TODO i18n
-            throw new IOException("Buffer not big enough for message");
+            throw new IOException(sm.getString("message.bufferTooSmall"));
         }
 
         long newSize = cb.limit() * 2;

Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java?rev=1293231&r1=1293230&r2=1293231&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java (original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/WsFrame.java Fri Feb 24 
12:49:03 2012
@@ -23,6 +23,7 @@ import java.nio.charset.CoderResult;
 
 import org.apache.catalina.util.Conversions;
 import org.apache.coyote.http11.upgrade.UpgradeProcessor;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Represents a complete WebSocket frame with the exception of the payload for
@@ -30,6 +31,10 @@ import org.apache.coyote.http11.upgrade.
  */
 public class WsFrame {
 
+    private static final StringManager sm =
+            StringManager.getManager(Constants.Package);
+
+
     private final boolean fin;
     private final int rsv;
     private final byte opCode;
@@ -58,8 +63,7 @@ public class WsFrame {
         b = processorRead(processor);
         // Client data must be masked
         if ((b & 0x80) == 0) {
-            // TODO: StringManager / i18n
-            throw new IOException("Client frame not masked");
+            throw new IOException(sm.getString("frame.notMasked"));
         }
 
         payloadLength = b & 0x7F;
@@ -99,8 +103,7 @@ public class WsFrame {
                 CoderResult cr = decoder.decode(payload, cb, true);
                 payload.position(0);
                 if (cr.isError()) {
-                    // TODO i18n
-                    throw new IOException("Not UTF-8");
+                    throw new IOException(sm.getString("frame.invalidUtf8"));
                 }
             }
         } else {
@@ -143,8 +146,7 @@ public class WsFrame {
             throws IOException {
         int result = processor.read();
         if (result == -1) {
-            // TODO i18n
-            throw new IOException("End of stream before end of frame");
+            throw new IOException(sm.getString("frame.eos"));
         }
         return result;
     }
@@ -157,8 +159,7 @@ public class WsFrame {
         while (read < bytes.length) {
             last = processor.read(bytes, read, bytes.length - read);
             if (last == -1) {
-                // TODO i18n
-                throw new IOException("End of stream before end of frame");
+                throw new IOException(sm.getString("frame.eos"));
             }
             read += last;
         }
@@ -174,8 +175,7 @@ public class WsFrame {
         while (bb.hasRemaining()) {
             last = processor.read();
             if (last == -1) {
-                // TODO i18n
-                throw new IOException("End of stream before end of frame");
+                throw new IOException(sm.getString("frame.eos"));
             }
             bb.put((byte) (last ^ mask[bb.position() % 4]));
         }

Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java?rev=1293231&r1=1293230&r2=1293231&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java Fri Feb 
24 12:49:03 2012
@@ -19,6 +19,7 @@ package org.apache.catalina.websocket;
 import java.io.IOException;
 
 import org.apache.coyote.http11.upgrade.UpgradeProcessor;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * This class is used to read WebSocket frames from the underlying socket and
@@ -28,6 +29,10 @@ import org.apache.coyote.http11.upgrade.
  */
 public class WsInputStream extends java.io.InputStream {
 
+    private static final StringManager sm =
+            StringManager.getManager(Constants.Package);
+
+
     private UpgradeProcessor<?> processor;
     private WsOutbound outbound;
 
@@ -76,14 +81,14 @@ public class WsInputStream extends java.
                 } else if (getFrame().getOpCode() == Constants.OPCODE_CLOSE) {
                     outbound.close(frame);
                 } else{
-                    // TODO i18n
-                    throw new IOException("Unknown control frame");
+                    throw new IOException(sm.getString("is.unknownOpCode",
+                            Byte.valueOf(getFrame().getOpCode())));
                 }
                 processFrame();
             }
             if (getFrame().getOpCode() != Constants.OPCODE_CONTINUATION) {
-                // TODO i18n
-                error = "Not a continuation frame";
+                error = sm.getString("is.notContinutation",
+                        Byte.valueOf(getFrame().getOpCode()));
                 throw new IOException(error);
             }
         }

Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsOutbound.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsOutbound.java?rev=1293231&r1=1293230&r2=1293231&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/WsOutbound.java (original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/WsOutbound.java Fri Feb 24 
12:49:03 2012
@@ -24,12 +24,15 @@ import java.nio.charset.CoderResult;
 
 import org.apache.coyote.http11.upgrade.UpgradeOutbound;
 import org.apache.tomcat.util.buf.B2CConverter;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Provides the means to write WebSocket messages to the client.
  */
 public class WsOutbound {
 
+    private static final StringManager sm =
+            StringManager.getManager(Constants.Package);
     private static final int DEFAULT_BUFFER_SIZE = 8192;
 
     private UpgradeOutbound upgradeOutbound;
@@ -62,7 +65,7 @@ public class WsOutbound {
      */
     public void writeBinaryData(int b) throws IOException {
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
 
         if (bb.position() == bb.capacity()) {
@@ -92,7 +95,7 @@ public class WsOutbound {
      */
     public void writeTextData(char c) throws IOException {
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
 
         if (cb.position() == cb.capacity()) {
@@ -121,7 +124,7 @@ public class WsOutbound {
      */
     public void writeBinaryMessage(ByteBuffer msgBb) throws IOException {
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
 
         if (text != null) {
@@ -144,7 +147,7 @@ public class WsOutbound {
      */
     public void writeTextMessage(CharBuffer msgCb) throws IOException {
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
 
         if (text != null) {
@@ -163,7 +166,7 @@ public class WsOutbound {
      */
     public void flush() throws IOException {
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
         doFlush(true);
     }
@@ -283,7 +286,7 @@ public class WsOutbound {
         // TODO Think about threading requirements for writing. This is not
         // currently thread safe and writing almost certainly needs to be.
         if (closed) {
-            throw new IOException("Closed");
+            throw new IOException(sm.getString("outbound.closed"));
         }
 
         doFlush(true);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to