Repository: cxf Updated Branches: refs/heads/master 6bec79650 -> 72a172d84
[CXF-5968] Make sure the old true/false values for the Async policy still work Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/72a172d8 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/72a172d8 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/72a172d8 Branch: refs/heads/master Commit: 72a172d8425be9052633dd41aea244b5c56dc86c Parents: 6bec796 Author: Daniel Kulp <dk...@apache.org> Authored: Fri Aug 29 11:54:59 2014 -0400 Committer: Daniel Kulp <dk...@apache.org> Committed: Fri Aug 29 11:55:34 2014 -0400 ---------------------------------------------------------------------- .../http/asyncclient/AsyncHTTPConduit.java | 29 ++++++++---------- .../asyncclient/AsyncHTTPConduitFactory.java | 32 ++++++++++++++------ .../http/netty/client/NettyHttpConduit.java | 29 ++++++++---------- .../netty/client/NettyHttpConduitFactory.java | 32 ++++++++++++++------ 4 files changed, 70 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/72a172d8/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java ---------------------------------------------------------------------- diff --git a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java index d1d6abd..57c9a42 100644 --- a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java +++ b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java @@ -149,24 +149,19 @@ public class AsyncHTTPConduit extends URLConnectionHTTPConduit { if (o == null) { o = factory.getUseAsyncPolicy(); } - if (o instanceof String) { - o = UseAsyncPolicy.valueOf(o.toString().toUpperCase()); - } - if (o instanceof UseAsyncPolicy) { - switch ((UseAsyncPolicy)o) { - case ALWAYS: - o = true; - break; - case NEVER: - o = false; - break; - case ASYNC_ONLY: - default: - o = !message.getExchange().isSynchronous(); - break; - } - + switch (UseAsyncPolicy.getPolicy(o)) { + case ALWAYS: + o = true; + break; + case NEVER: + o = false; + break; + case ASYNC_ONLY: + default: + o = !message.getExchange().isSynchronous(); + break; } + // check tlsClientParameters from message header TLSClientParameters clientParameters = message.get(TLSClientParameters.class); if (clientParameters == null) { http://git-wip-us.apache.org/repos/asf/cxf/blob/72a172d8/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduitFactory.java ---------------------------------------------------------------------- diff --git a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduitFactory.java b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduitFactory.java index d836c9f..c8411c9 100644 --- a/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduitFactory.java +++ b/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduitFactory.java @@ -88,7 +88,28 @@ public class AsyncHTTPConduitFactory implements HTTPConduitFactory { public static enum UseAsyncPolicy { - ALWAYS, ASYNC_ONLY, NEVER + ALWAYS, ASYNC_ONLY, NEVER; + + public static UseAsyncPolicy getPolicy(Object st) { + if (st instanceof UseAsyncPolicy) { + return (UseAsyncPolicy)st; + } else if (st instanceof String) { + String s = ((String)st).toUpperCase(); + if ("ALWAYS".equals(s)) { + return ALWAYS; + } else if ("NEVER".equals(s)) { + return NEVER; + } else if ("ASYNC_ONLY".equals(s)) { + return ASYNC_ONLY; + } else { + st = Boolean.parseBoolean(s); + } + } + if (st instanceof Boolean) { + return ((Boolean)st).booleanValue() ? ALWAYS : NEVER; + } + return ASYNC_ONLY; + } }; volatile PoolingNHttpClientConnectionManager connectionManager; @@ -150,14 +171,7 @@ public class AsyncHTTPConduitFactory implements HTTPConduitFactory { if (st == null) { st = SystemPropertyAction.getPropertyOrNull(USE_POLICY); } - if (st instanceof UseAsyncPolicy) { - policy = (UseAsyncPolicy)st; - } else if (st instanceof String) { - policy = UseAsyncPolicy.valueOf(((String)st).toUpperCase()); - } else { - //policy = UseAsyncPolicy.ALWAYS; - policy = UseAsyncPolicy.ASYNC_ONLY; - } + policy = UseAsyncPolicy.getPolicy(st); maxConnections = getInt(s.get(MAX_CONNECTIONS), maxConnections); connectionTTL = getInt(s.get(CONNECTION_TTL), connectionTTL); http://git-wip-us.apache.org/repos/asf/cxf/blob/72a172d8/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java ---------------------------------------------------------------------- diff --git a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java index 6ad870e..c5006a3 100644 --- a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java +++ b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java @@ -113,24 +113,19 @@ public class NettyHttpConduit extends URLConnectionHTTPConduit implements BusLif if (o == null) { o = factory.getUseAsyncPolicy(); } - if (o instanceof String) { - o = NettyHttpConduitFactory.UseAsyncPolicy.valueOf(o.toString().toUpperCase()); - } - if (o instanceof NettyHttpConduitFactory.UseAsyncPolicy) { - switch ((NettyHttpConduitFactory.UseAsyncPolicy)o) { - case ALWAYS: - o = true; - break; - case NEVER: - o = false; - break; - case ASYNC_ONLY: - default: - o = !message.getExchange().isSynchronous(); - break; - } - + switch (NettyHttpConduitFactory.UseAsyncPolicy.getPolicy(o)) { + case ALWAYS: + o = true; + break; + case NEVER: + o = false; + break; + case ASYNC_ONLY: + default: + o = !message.getExchange().isSynchronous(); + break; } + // check tlsClientParameters from message header TLSClientParameters clientParameters = message.get(TLSClientParameters.class); if (clientParameters == null) { http://git-wip-us.apache.org/repos/asf/cxf/blob/72a172d8/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java ---------------------------------------------------------------------- diff --git a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java index 4ab27b8..c07f9bb 100644 --- a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java +++ b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java @@ -41,20 +41,34 @@ public class NettyHttpConduitFactory implements HTTPConduitFactory { public static final String USE_POLICY = "org.apache.cxf.transport.http.netty.usePolicy"; public static enum UseAsyncPolicy { - ALWAYS, ASYNC_ONLY, NEVER + ALWAYS, ASYNC_ONLY, NEVER; + + public static UseAsyncPolicy getPolicy(Object st) { + if (st instanceof UseAsyncPolicy) { + return (UseAsyncPolicy)st; + } else if (st instanceof String) { + String s = ((String)st).toUpperCase(); + if ("ALWAYS".equals(s)) { + return ALWAYS; + } else if ("NEVER".equals(s)) { + return NEVER; + } else if ("ASYNC_ONLY".equals(s)) { + return ASYNC_ONLY; + } else { + st = Boolean.parseBoolean(s); + } + } + if (st instanceof Boolean) { + return ((Boolean)st).booleanValue() ? ALWAYS : NEVER; + } + return ASYNC_ONLY; + } }; UseAsyncPolicy policy; public NettyHttpConduitFactory() { Object st = SystemPropertyAction.getPropertyOrNull(USE_POLICY); - if (st instanceof UseAsyncPolicy) { - policy = (UseAsyncPolicy)st; - } else if (st instanceof String) { - policy = UseAsyncPolicy.valueOf(((String)st).toUpperCase()); - } else { - //policy = UseAsyncPolicy.ALWAYS; - policy = UseAsyncPolicy.ASYNC_ONLY; - } + policy = UseAsyncPolicy.getPolicy(st); } public UseAsyncPolicy getUseAsyncPolicy() {