You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by aj...@apache.org on 2016/12/20 13:53:42 UTC

[1/2] jena git commit: JENA-1268: better defaulting behavior for HttpOp

Repository: jena
Updated Branches:
  refs/heads/master 8a6fdaba8 -> 1e9d6887f


JENA-1268: better defaulting behavior for HttpOp


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/64fb6320
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/64fb6320
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/64fb6320

Branch: refs/heads/master
Commit: 64fb6320b4dc759967213d7eef0d83229020719f
Parents: 2cb1323
Author: ajs6f <aj...@virginia.edu>
Authored: Mon Dec 19 10:33:57 2016 -0500
Committer: ajs6f <aj...@virginia.edu>
Committed: Mon Dec 19 10:33:57 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/web/HttpOp.java   | 21 +++++++++++---------
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  9 +++++++++
 2 files changed, 21 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/64fb6320/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
index 65b6c86..6d7eebd 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
@@ -101,8 +101,13 @@ public class HttpOp {
     /**
      * Default HttpClient.
      */
-    static private HttpClient defaultHttpClient = createDefaultHttpClient();
+    private static HttpClient defaultHttpClient = createDefaultHttpClient();
 
+    /**
+     * Used to reset {@link #defaultHttpClient} when needed
+     */
+    public static final HttpClient initialDefaultHttpClient = defaultHttpClient;
+    
     public static HttpClient createDefaultHttpClient() {
         return createCachingHttpClient();
     }
@@ -172,16 +177,14 @@ public class HttpOp {
     }
 
     /**
-     * Performance can be improved by using a shared HttpClient that uses
-     * connection pooling. However, pool management is complicated and can lead
-     * to starvation (the system locks-up, especially on Java6; it's JVM
-     * sensitive).
-     * See the Apache Http Client documentation for more details.
+     * Performance can be improved by using a shared HttpClient that uses connection pooling. However, pool management
+     * is complicated and can lead to starvation (the system locks-up, especially on Java6; it's JVM sensitive). See the
+     * Apache HTTP Commons Client documentation for more details.
      * 
-     * @param httpClient HTTP Client
+     * @param client HTTP client to use, if this is null, reset to original default instead
      */
-    public static void setDefaultHttpClient(HttpClient httpClient) {
-        defaultHttpClient = httpClient;
+    public static void setDefaultHttpClient(HttpClient client) {
+        defaultHttpClient = firstNonNull(client, initialDefaultHttpClient);
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/jena/blob/64fb6320/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
index 2bb7206..937ce93 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
@@ -24,7 +24,9 @@ import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
 import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
 import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
 import static org.apache.jena.fuseki.ServerCtl.urlRoot ;
+import static org.apache.jena.riot.web.HttpOp.initialDefaultHttpClient;
 
+import org.apache.http.client.HttpClient;
 import org.apache.jena.atlas.lib.IRILib ;
 import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.AbstractFusekiTest ;
@@ -47,6 +49,13 @@ public class TestHttpOp extends AbstractFusekiTest {
     
     static String simpleQuery = queryURL+"?query="+IRILib.encodeUriComponent("ASK{}") ;
     
+    @Test public void correctDefaultResetBehavior() {
+        HttpClient defaultClient = HttpOp.getDefaultHttpClient();
+        HttpOp.setDefaultHttpClient(null);
+        assertSame("Failed to reset to initial client!", initialDefaultHttpClient, HttpOp.getDefaultHttpClient());
+        HttpOp.setDefaultHttpClient(defaultClient);
+    }
+    
     // Basic operations
     
     @Test public void httpGet_01() {


[2/2] jena git commit: JENA-1268: Improved behavior for HttpOp.setDefaultHttpClient(HttpClient httpClient)

Posted by aj...@apache.org.
JENA-1268: Improved behavior for HttpOp.setDefaultHttpClient(HttpClient httpClient)


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1e9d6887
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1e9d6887
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1e9d6887

Branch: refs/heads/master
Commit: 1e9d6887fa37f9f9b32a3d1f0b4eed1c89e115b7
Parents: 8a6fdab 64fb632
Author: ajs6f <aj...@virginia.edu>
Authored: Tue Dec 20 08:52:31 2016 -0500
Committer: ajs6f <aj...@virginia.edu>
Committed: Tue Dec 20 08:52:31 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/jena/riot/web/HttpOp.java   | 21 +++++++++++---------
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  9 +++++++++
 2 files changed, 21 insertions(+), 9 deletions(-)
----------------------------------------------------------------------