Author: kkolinko Date: Mon Jun 2 22:44:29 2014 New Revision: 1599385 URL: http://svn.apache.org/r1599385 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56582 Convert implementations of ActionHook.action(..) to use switch(enum) operator. First, SpdyProcessor.
Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java Modified: tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java?rev=1599385&r1=1599384&r2=1599385&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/spdy/SpdyProcessor.java Mon Jun 2 22:44:29 2014 @@ -219,15 +219,18 @@ public class SpdyProcessor<S> extends Ab @Override public void action(ActionCode actionCode, Object param) { - if (SpdyContext.debug) { - // System.err.println(actionCode); - } + // if (SpdyContext.debug) { + // System.err.println(actionCode); + // } // TODO: async - if (actionCode == ActionCode.COMMIT) { + switch (actionCode) { + case COMMIT: { maybeCommit(); - } else if (actionCode == ActionCode.CLIENT_FLUSH) { + break; + } + case CLIENT_FLUSH: { maybeCommit(); // try { @@ -236,16 +239,19 @@ public class SpdyProcessor<S> extends Ab // // Set error flag // error = true; // } - - } else if (actionCode == ActionCode.IS_ERROR) { + break; + } + case IS_ERROR: { ((AtomicBoolean) param).set(error); - - } else if (actionCode == ActionCode.DISABLE_SWALLOW_INPUT) { + break; + } + case DISABLE_SWALLOW_INPUT: { // TODO: Do not swallow request input but // make sure we are closing the connection error = true; - - } else if (actionCode == ActionCode.CLOSE) { + break; + } + case CLOSE: { if (outClosed) { return; } @@ -256,9 +262,9 @@ public class SpdyProcessor<S> extends Ab maybeCommit(); spdyStream.sendDataFrame(EMPTY, 0, 0, true); - - } else if (actionCode == ActionCode.REQ_SSL_ATTRIBUTE) { - + break; + } + case REQ_SSL_ATTRIBUTE: { // if (!certificates.isNull()) { // ByteChunk certData = certificates.getByteChunk(); // X509Certificate jsseCerts[] = null; @@ -298,9 +304,9 @@ public class SpdyProcessor<S> extends Ab // } // request.setAttribute(SSLSupport.CERTIFICATE_KEY, jsseCerts); // } - - } else if (actionCode == ActionCode.REQ_HOST_ATTRIBUTE) { - + break; + } + case REQ_HOST_ATTRIBUTE: { // Get remote host name using a DNS resolution if (request.remoteHost().isNull()) { try { @@ -312,7 +318,9 @@ public class SpdyProcessor<S> extends Ab // Ignore } } - } else if (actionCode == ActionCode.REQ_LOCALPORT_ATTRIBUTE) { + break; + } + case REQ_LOCALPORT_ATTRIBUTE: { String configured = (String) endpoint.getAttribute("proxyPort"); int localPort = 0; if (configured != null) { @@ -321,8 +329,9 @@ public class SpdyProcessor<S> extends Ab localPort = endpoint.getPort(); } request.setLocalPort(localPort); - - } else if (actionCode == ActionCode.REQ_LOCAL_ADDR_ATTRIBUTE) { + break; + } + case REQ_LOCAL_ADDR_ATTRIBUTE: { InetAddress localAddress = endpoint.getAddress(); String localIp = localAddress == null ? null : localAddress .getHostAddress(); @@ -333,8 +342,9 @@ public class SpdyProcessor<S> extends Ab localIp = "127.0.0.1"; } request.localAddr().setString(localIp); - - } else if (actionCode == ActionCode.REQ_HOST_ADDR_ATTRIBUTE) { + break; + } + case REQ_HOST_ADDR_ATTRIBUTE: { InetAddress localAddress = endpoint.getAddress(); String localH = localAddress == null ? null : localAddress .getCanonicalHostName(); @@ -346,9 +356,9 @@ public class SpdyProcessor<S> extends Ab } request.localAddr().setString(localH); - - } else if (actionCode == ActionCode.REQ_SET_BODY_REPLAY) { - + break; + } + case REQ_SET_BODY_REPLAY: { // // Set the given bytes as the content // ByteChunk bc = (ByteChunk) param; // int length = bc.getLength(); @@ -357,33 +367,55 @@ public class SpdyProcessor<S> extends Ab // first = false; // empty = false; // replay = true; - - } else if (actionCode == ActionCode.ASYNC_START) { + break; + } + case ASYNC_START: { asyncStateMachine.asyncStart((AsyncContextCallback) param); - } else if (actionCode == ActionCode.ASYNC_DISPATCHED) { + break; + } + case ASYNC_DISPATCHED: { asyncStateMachine.asyncDispatched(); - } else if (actionCode == ActionCode.ASYNC_TIMEOUT) { + break; + } + case ASYNC_TIMEOUT: { AtomicBoolean result = (AtomicBoolean) param; result.set(asyncStateMachine.asyncTimeout()); - } else if (actionCode == ActionCode.ASYNC_RUN) { + break; + } + case ASYNC_RUN: { asyncStateMachine.asyncRun((Runnable) param); - } else if (actionCode == ActionCode.ASYNC_ERROR) { + break; + } + case ASYNC_ERROR: { asyncStateMachine.asyncError(); - } else if (actionCode == ActionCode.ASYNC_IS_STARTED) { + break; + } + case ASYNC_IS_STARTED: { ((AtomicBoolean) param).set(asyncStateMachine.isAsyncStarted()); - } else if (actionCode == ActionCode.ASYNC_IS_DISPATCHING) { + break; + } + case ASYNC_IS_DISPATCHING: { ((AtomicBoolean) param).set(asyncStateMachine.isAsyncDispatching()); - } else if (actionCode == ActionCode.ASYNC_IS_ASYNC) { + break; + } + case ASYNC_IS_ASYNC: { ((AtomicBoolean) param).set(asyncStateMachine.isAsync()); - } else if (actionCode == ActionCode.ASYNC_IS_TIMINGOUT) { + break; + } + case ASYNC_IS_TIMINGOUT: { ((AtomicBoolean) param).set(asyncStateMachine.isAsyncTimingOut()); - } else if (actionCode == ActionCode.ASYNC_IS_ERROR) { + break; + } + case ASYNC_IS_ERROR: { ((AtomicBoolean) param).set(asyncStateMachine.isAsyncError()); - } else { + break; + } + default: { // TODO: // actionInternal(actionCode, param); + break; + } } - } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org