Author: markt Date: Mon Jun 24 22:46:38 2013 New Revision: 1496247 URL: http://svn.apache.org/r1496247 Log: Remaining i18n TODOs in WebSocket impl
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1496247&r1=1496246&r2=1496247&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java Mon Jun 24 22:46:38 2013 @@ -36,12 +36,21 @@ import javax.net.ssl.SSLEngineResult.Han import javax.net.ssl.SSLEngineResult.Status; import javax.net.ssl.SSLException; +import org.apache.juli.logging.Log; +import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.res.StringManager; + /** * Wraps the {@link AsynchronousSocketChannel} with SSL/TLS. This needs a lot * more testing before it can be considered robust. */ public class AsyncChannelWrapperSecure implements AsyncChannelWrapper { + private static final Log log = + LogFactory.getLog(AsyncChannelWrapperSecure.class); + private static final StringManager sm = + StringManager.getManager(Constants.PACKAGE_NAME); + private static final ByteBuffer DUMMY = ByteBuffer.allocate(8192); private final AsynchronousSocketChannel socketChannel; private final SSLEngine sslEngine; @@ -67,8 +76,8 @@ public class AsyncChannelWrapperSecure i WrapperFuture<Integer,Void> future = new WrapperFuture<>(); if (!reading.compareAndSet(false, true)) { - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.concurrentRead")); } ReadTask readTask = new ReadTask(dst, future); @@ -86,8 +95,8 @@ public class AsyncChannelWrapperSecure i new WrapperFuture<>(handler, attachment); if (!reading.compareAndSet(false, true)) { - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.concurrentRead")); } ReadTask readTask = new ReadTask(dst, future); @@ -101,8 +110,8 @@ public class AsyncChannelWrapperSecure i WrapperFuture<Long,Void> inner = new WrapperFuture<>(); if (!writing.compareAndSet(false, true)) { - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.concurrentWrite")); } WriteTask writeTask = @@ -123,8 +132,8 @@ public class AsyncChannelWrapperSecure i new WrapperFuture<>(handler, attachment); if (!writing.compareAndSet(false, true)) { - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.concurrentWrite")); } WriteTask writeTask = new WriteTask(srcs, offset, length, future); @@ -137,7 +146,7 @@ public class AsyncChannelWrapperSecure i try { socketChannel.close(); } catch (IOException e) { - // TODO + log.info(sm.getString("asyncChannelWrapperSecure.closeFail")); } } @@ -189,8 +198,8 @@ public class AsyncChannelWrapperSecure i } else { // Status.BUFFER_UNDERFLOW - only happens on unwrap // Status.CLOSED - unexpected - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.statusWrap")); } // Check for tasks @@ -208,7 +217,10 @@ public class AsyncChannelWrapperSecure i Future<Integer> f = socketChannel.write(socketWriteBuffer); Integer socketWrite = f.get(); if (socketWrite.intValue() != r.bytesProduced()) { - throw new IOException(); + throw new IOException(sm.getString( + "asyncChannelWrapperSecure.writeFail", + Integer.valueOf(socketWrite.intValue()), + Integer.valueOf(r.bytesProduced()))); } } } @@ -217,8 +229,8 @@ public class AsyncChannelWrapperSecure i if (writing.compareAndSet(true, false)) { future.complete(Long.valueOf(written)); } else { - // TODO - future.fail(new IllegalStateException()); + future.fail(new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.wrongStateWrite"))); } } catch (Exception e) { future.fail(e); @@ -252,8 +264,8 @@ public class AsyncChannelWrapperSecure i socketChannel.read(socketReadBuffer); Integer socketRead = f.get(); if (socketRead.intValue() == -1) { - // TODO - throw new EOFException(); + throw new EOFException(sm.getString( + "asyncChannelWrapperSecure.eof")); } } @@ -282,8 +294,8 @@ public class AsyncChannelWrapperSecure i // partial data on the next read } else { // Status.CLOSED - unexpected - // TODO - throw new IllegalStateException(); + throw new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.statusUnwrap")); } // Check for tasks @@ -303,8 +315,8 @@ public class AsyncChannelWrapperSecure i if (reading.compareAndSet(true, false)) { future.complete(Integer.valueOf(read)); } else { - // TODO - future.fail(new IllegalStateException()); + future.fail(new IllegalStateException(sm.getString( + "asyncChannelWrapperSecure.wrongStateRead"))); } } catch (Exception e) { future.fail(e); @@ -510,8 +522,8 @@ public class AsyncChannelWrapperSecure i public Integer get() throws InterruptedException, ExecutionException { Long result = wrapped.get(); if (result.longValue() > Integer.MAX_VALUE) { - // TODO - throw new ExecutionException("Result too big", null); + throw new ExecutionException(sm.getString( + "asyncChannelWrapperSecure.tooBig", result), null); } return new Integer(result.intValue()); } @@ -522,8 +534,8 @@ public class AsyncChannelWrapperSecure i TimeoutException { Long result = wrapped.get(timeout, unit); if (result.longValue() > Integer.MAX_VALUE) { - // TODO - throw new ExecutionException("Result too big", null); + throw new ExecutionException(sm.getString( + "asyncChannelWrapperSecure.tooBig", result), null); } return new Integer(result.intValue()); } 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=1496247&r1=1496246&r2=1496247&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Mon Jun 24 22:46:38 2013 @@ -13,6 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. +asyncChannelWrapperSecure.closeFail=Failed to close channel cleanly +asyncChannelWrapperSecure.concurrentRead=Concurrent read operations are not permitted +asyncChannelWrapperSecure.concurrentWrite=Concurrent write operations are not permitted +asyncChannelWrapperSecure.eof=Unexpected end of stream +asyncChannelWrapperSecure.statusUnwrap=Unexpected Status of SSLEngineResult after an unwrap() operation +asyncChannelWrapperSecure.statusWrap=Unexpected Status of SSLEngineResult after a wrap() operation +asyncChannelWrapperSecure.tooBig=The result [{0}] is too big to be expressed as an Integer +asyncChannelWrapperSecure.wrongStateRead=Flag that indicates a read is in progress was found to be false (it should have been true) when trying to complete a read operation +asyncChannelWrapperSecure.wrongStateWrite=Flag that indicates a write is in progress was found to be false (it should have been true) when trying to complete a write operation +asyncChannelWrapperSecure.writeFail=Only wrote [{0}] of [{1}] bytes + backgroundProcessManager.processFailed=A background process failed util.invalidType=Unable to coerce value [{0}] to type [{1}]. That type is not supported. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org