You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/10/18 09:20:22 UTC

[1/9] jena git commit: Split ServerTest into ServerCtl and ServerTestData.

Repository: jena
Updated Branches:
  refs/heads/master b5d0c49d6 -> 0d5629478


Split ServerTest into ServerCtl and ServerTestData.



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

Branch: refs/heads/master
Commit: 6d63d21dbf6b2163a1e7ad79aee87b0bcb7c90f9
Parents: be13685
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Oct 15 18:29:30 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Oct 15 18:34:51 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/fuseki/ServerCtl.java  | 167 +++++++++++++++++--
 .../java/org/apache/jena/fuseki/ServerTest.java | 130 ---------------
 .../org/apache/jena/fuseki/ServerTestData.java  |  45 +++++
 .../java/org/apache/jena/fuseki/TS_Fuseki.java  |   2 +-
 .../java/org/apache/jena/fuseki/TestAuth.java   |   3 +-
 .../java/org/apache/jena/fuseki/TestQuery.java  |  89 +++++-----
 .../apache/jena/fuseki/TestSPARQLProtocol.java  |  61 +++----
 .../fuseki/http/TestDatasetAccessorHTTP.java    | 133 +++++++--------
 .../http/TestDatasetGraphAccessorHTTP.java      |   6 +-
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  18 +-
 10 files changed, 349 insertions(+), 305 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
index da957a4..2c91bd5 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
@@ -18,39 +18,113 @@
 
 package org.apache.jena.fuseki;
 
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.CLASS ;
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.SUITE ;
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.TEST ;
+
+import java.io.IOException ;
+import java.net.ServerSocket ;
+import java.util.concurrent.atomic.AtomicInteger ;
+
 import org.apache.http.client.HttpClient ;
 import org.apache.http.impl.client.CloseableHttpClient ;
 import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.fuseki.server.DatasetRegistry ;
 import org.apache.jena.riot.web.HttpOp ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.modify.request.Target ;
+import org.apache.jena.sparql.modify.request.UpdateDrop ;
+import org.apache.jena.system.Txn ;
+import org.apache.jena.update.Update ;
+import org.apache.jena.update.UpdateExecutionFactory ;
+import org.apache.jena.update.UpdateProcessor ;
 
+/**
+ * Manage a single server for use wth tests. It supports three modes:
+ * <ul>
+ * <li>One server for a whole test suite
+ * <li>One server per test class
+ * <li>One server per individual test
+ * </ul>
+ * One server per individual test can be troublesome due to connections not closing down
+ * fast enough (left in TCP state {@code TIME_WAIT} which is 2 minutes) and also can be slow.
+ * One server per test class is a good compromise. 
+ * <p> The data in the server is always reseet between tests.
+ * <p>
+ * Using a connection pooling HttpClient (see {@link HttpOp#createPoolingHttpClient()}) is important,
+ * both for test performance and for reducing the TCP connection load on the operarting system.  
+ * <p>
+ * Usage:
+ * </p>
+ * <p>
+ * In the test suite, put:
+ * 
+ * <pre>
+ *  {@literal @BeforeClass} static public void beforeSuiteClass() { ServerCtl.ctlBeforeTestSuite(); } 
+ *  {@literal @AfterClass}  static public void afterSuiteClass()  { ServerCtl.ctlAfterTestSuite(); }
+ * </pre>
+ * <p>
+ * In the test class, put:
+ * <pre>
+ * {@literal @BeforeClass} public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+ * {@literal @AfterClass}  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+ * {@literal @Before}      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+ * {@literal @After}       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
+ * </pre>
+ */
 public class ServerCtl {
     static { Fuseki.init(); }
-    
-    /* Put this in each test class using the Fuseki server:
+
+    /* Cut&Paste versions:
+
+    Test suite (TS_*)
+    @BeforeClass static public void beforeSuiteClass() { ServerCtl.ctlBeforeTestSuite(); } 
+    @AfterClass  static public void afterSuiteClass()  { ServerCtl.ctlAfterTestSuite(); }
+
+    Test class (Test*)
     @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
     @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
     @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
-    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
+     
     */
     
     static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient();
 
-    // 2 choices: server over whole test suite or server over each test class.
-    // Preferred "true" - stop-start server between test classes.
     // Note: it is import to cleanly close a PoolingHttpClient across server restarts
-    // otherwise the pooled connections remian for the old server. 
+    // otherwise the pooled connections remain for the old server. 
+    
+    /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }
+    private static ServerScope serverScope = ServerScope.CLASS ;
+    private static int currentPort = choosePort() ;
+    
+    public static int port() {
+        return currentPort ;
+    }
+
+    // Whether to use a transaction on the dataset or to use SPARQL Update. 
+    static boolean CLEAR_DSG_DIRECTLY = true ;
+    static private DatasetGraph dsgTesting ;
+    
+    // Abstraction that runs a SPARQL server for tests.
+    public static final String urlRoot()        { return "http://localhost:"+port()+"/" ; }
+    public static final String datasetPath()    { return "/dataset" ; }
+    public static final String serviceUpdate()  { return "http://localhost:"+port()+datasetPath()+"/update" ; } 
+    public static final String serviceQuery()   { return "http://localhost:"+port()+datasetPath()+"/query" ; }
+    public static final String serviceREST()    { return "http://localhost:"+port()+datasetPath()+"/data" ; }
+    
     
-    static final boolean SERVER_PER_CLASS = true ;  
     public static void ctlBeforeTestSuite() {
-        if ( ! SERVER_PER_CLASS ) {
+        if ( serverScope == SUITE  ) {
             setPoolingHttpClient() ;
-            ServerTest.allocServer();
+            allocServer();
         }
     }
     
     public static void ctlAfterTestSuite()  {
-        if ( ! SERVER_PER_CLASS ) {
-            ServerTest.freeServer();
+        if ( serverScope == SUITE  ) {
+            freeServer();
             resetDefaultHttpClient() ;
         }
     }
@@ -59,9 +133,9 @@ public class ServerCtl {
      * Setup for the tests by allocating a Fuseki instance to work with
      */
     public static void ctlBeforeClass() {
-        if ( SERVER_PER_CLASS ) {
+        if ( serverScope == CLASS  ) {
             setPoolingHttpClient() ;
-            ServerTest.allocServer();
+            allocServer();
         }
     }
     
@@ -69,8 +143,8 @@ public class ServerCtl {
      * Clean up after tests by de-allocating the Fuseki instance
      */
     public static void ctlAfterClass() {
-        if ( SERVER_PER_CLASS ) {
-            ServerTest.freeServer();
+        if ( serverScope == CLASS  ) {
+            freeServer();
             resetDefaultHttpClient() ;
         }
     }
@@ -79,13 +153,21 @@ public class ServerCtl {
      * Placeholder.
      */
     public static void ctlBeforeTest() {
+        if ( serverScope == TEST  ) {
+            setPoolingHttpClient() ;
+            allocServer();
+        }
     }
 
     /**
      * Clean up after each test by resetting the Fuseki dataset
      */
     public static void ctlAfterTest() {
-        ServerTest.resetServer();
+        if ( serverScope == TEST  ) {
+            freeServer();
+            resetDefaultHttpClient() ;
+        } else
+            resetServer();
     }
 
     /** Set a PoolingHttpClient */
@@ -105,4 +187,57 @@ public class ServerCtl {
             IO.close((CloseableHttpClient)hc) ;
         HttpOp.setDefaultHttpClient(newHttpClient) ;
     }
+    
+    @SuppressWarnings("deprecation")
+    private static EmbeddedFusekiServer1 server = null ;
+    
+    // reference count of start/stop server
+    private static AtomicInteger countServer = new AtomicInteger() ; 
+    
+    /*package*/ static void allocServer() {
+        if ( countServer.getAndIncrement() == 0 )
+            setupServer() ;
+    }
+    
+    /*package*/ static void freeServer() {
+        if ( countServer.decrementAndGet() == 0 )
+            teardownServer() ;
+    }
+    
+    @SuppressWarnings("deprecation")
+    protected static void setupServer() {
+        dsgTesting = DatasetGraphFactory.createTxnMem() ;
+        server = EmbeddedFusekiServer1.create(currentPort, dsgTesting, datasetPath()) ;
+        server.start() ;
+    }
+    
+    @SuppressWarnings("deprecation")
+    protected static void teardownServer() {
+        DatasetRegistry.get().clear() ;
+        if ( server != null )
+            server.stop() ;
+        server = null ;
+    }
+
+    /*package*/ static void resetServer() {
+        if (countServer.get() == 0)  
+            throw new RuntimeException("No server started!");
+        if ( CLEAR_DSG_DIRECTLY ) {
+            Txn.executeWrite(dsgTesting, ()->dsgTesting.clear()) ;   
+        } else {
+            Update clearRequest = new UpdateDrop(Target.ALL) ;
+            UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, serviceUpdate()) ;
+            try {proc.execute() ; }
+            catch (Throwable e) {e.printStackTrace(); throw e;}
+        }
+    }
+    
+    /** Choose an unused port for a server to listen on */
+    public static int choosePort() {
+        try (ServerSocket s = new ServerSocket(0)) {
+            return s.getLocalPort();
+        } catch (IOException ex) {
+            throw new FusekiException("Failed to find a port for tests!");
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTest.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTest.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTest.java
deleted file mode 100644
index 38b51bb..0000000
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * 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.
- */
-
-package org.apache.jena.fuseki;
-
-import java.io.IOException ;
-import java.net.ServerSocket ;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.apache.jena.graph.Graph ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
-import org.apache.jena.sparql.modify.request.Target ;
-import org.apache.jena.sparql.modify.request.UpdateDrop ;
-import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.system.Txn ;
-import org.apache.jena.update.Update ;
-import org.apache.jena.update.UpdateExecutionFactory ;
-import org.apache.jena.update.UpdateProcessor ;
-
-/** Manage a server for testing.
- * Example for one server per test suite: 
- * <pre>
-    \@BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
-    \@AfterClass  public static void afterClass()  { ServerTest.freeServer() ; }
-    \@After       public void after()              { ServerTest.resetServer() ; }
-    </pre>
- */
-public class ServerTest
-{
-    static { Fuseki.init(); }
-    
-    // Abstraction that runs a SPARQL server for tests.
-    public static final int port             = choosePort() ;   // Different to the Fuseki2 test ports.
-    public static final String urlRoot       = "http://localhost:"+port+"/" ;
-    public static final String datasetPath   = "/dataset" ;
-    public static final String serviceUpdate = "http://localhost:"+port+datasetPath+"/update" ; 
-    public static final String serviceQuery  = "http://localhost:"+port+datasetPath+"/query" ; 
-    public static final String serviceREST   = "http://localhost:"+port+datasetPath+"/data" ; 
-    
-    public static final String gn1       = "http://graph/1" ;
-    public static final String gn2       = "http://graph/2" ;
-    public static final String gn99      = "http://graph/99" ;
-    
-    public static final Node n1          = NodeFactory.createURI("http://graph/1") ;
-    public static final Node n2          = NodeFactory.createURI("http://graph/2") ;
-    public static final Node n99         = NodeFactory.createURI("http://graph/99") ;
-    
-    public static final Graph graph1     = SSE.parseGraph("(base <http://example/> (graph (<x> <p> 1)))") ;
-    public static final Graph graph2     = SSE.parseGraph("(base <http://example/> (graph (<x> <p> 2)))") ;
-    
-    public static final Model model1     = ModelFactory.createModelForGraph(graph1) ;
-    public static final Model model2     = ModelFactory.createModelForGraph(graph2) ;
-    
-    @SuppressWarnings("deprecation")
-    private static EmbeddedFusekiServer1 server = null ;
-    
-    // reference count of start/stop server
-    private static AtomicInteger countServer = new AtomicInteger() ; 
-    
-    /*package*/ static void allocServer() {
-        if ( countServer.getAndIncrement() == 0 )
-            setupServer() ;
-    }
-    
-    /*package*/ static void freeServer() {
-        if ( countServer.decrementAndGet() == 0 )
-            teardownServer() ;
-    }
-    
-    // Whether to use a transaction on the dataset or to use SPARQL Update. 
-    static boolean CLEAR_DSG_DIRECTLY = true ;
-    static private DatasetGraph dsgTesting ;
-    
-    @SuppressWarnings("deprecation")
-    protected static void setupServer() {
-        dsgTesting = DatasetGraphFactory.createTxnMem() ;
-        server = EmbeddedFusekiServer1.create(port, dsgTesting, datasetPath) ;
-        server.start() ;
-    }
-    
-    @SuppressWarnings("deprecation")
-    protected static void teardownServer() {
-        DatasetRegistry.get().clear() ;
-        if ( server != null )
-            server.stop() ;
-        server = null ;
-    }
-
-    /*package*/ static void resetServer() {
-        if (countServer.get() == 0)  
-            throw new RuntimeException("No server started!");
-        if ( CLEAR_DSG_DIRECTLY ) {
-            Txn.executeWrite(dsgTesting, ()->dsgTesting.clear()) ;   
-        } else {
-            Update clearRequest = new UpdateDrop(Target.ALL) ;
-            UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerTest.serviceUpdate) ;
-            try {proc.execute() ; }
-            catch (Throwable e) {e.printStackTrace(); throw e;}
-        }
-    }
-    
-    static int choosePort() {
-        try (ServerSocket s = new ServerSocket(0)) {
-            return s.getLocalPort();
-        } catch (IOException ex) {
-            throw new FusekiException("Failed to find a port for tests!");
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTestData.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTestData.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTestData.java
new file mode 100644
index 0000000..ad4c937
--- /dev/null
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerTestData.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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.
+ */
+
+package org.apache.jena.fuseki;
+
+import org.apache.jena.graph.Graph ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.NodeFactory ;
+import org.apache.jena.rdf.model.Model ;
+import org.apache.jena.rdf.model.ModelFactory ;
+import org.apache.jena.sparql.sse.SSE ;
+
+/** Data for testing */
+public class ServerTestData
+{
+    public static final String gn1       = "http://graph/1" ;
+    public static final String gn2       = "http://graph/2" ;
+    public static final String gn99      = "http://graph/99" ;
+    
+    public static final Node n1          = NodeFactory.createURI("http://graph/1") ;
+    public static final Node n2          = NodeFactory.createURI("http://graph/2") ;
+    public static final Node n99         = NodeFactory.createURI("http://graph/99") ;
+    
+    public static final Graph graph1     = SSE.parseGraph("(base <http://example/> (graph (<x> <p> 1)))") ;
+    public static final Graph graph2     = SSE.parseGraph("(base <http://example/> (graph (<x> <p> 2)))") ;
+    
+    public static final Model model1     = ModelFactory.createModelForGraph(graph1) ;
+    public static final Model model2     = ModelFactory.createModelForGraph(graph2) ;
+}
+    

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
index 8cfe649..10ef87a 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
@@ -36,7 +36,7 @@ import org.junit.runners.Suite ;
     , TestAuth.class
 })
 
-public class TS_Fuseki extends ServerTest
+public class TS_Fuseki extends ServerTestData
 {
     @BeforeClass
     static public void beforeClass() {

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestAuth.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestAuth.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestAuth.java
index a2e9928..27cb936 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestAuth.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestAuth.java
@@ -68,7 +68,7 @@ import org.junit.Test ;
 public class TestAuth {
     // Use different port etc because sometimes the previous testing servers
     // don't release ports fast enough (OS issue / Linux)
-    public static final int authPort             = ServerTest.choosePort() ;
+    public static final int authPort             = ServerCtl.choosePort() ;
     public static final String authUrlRoot       = "http://localhost:"+authPort+"/" ;
     public static final String authDatasetPath   = "/authDataset" ;
     public static final String authServiceUpdate = "http://localhost:"+authPort+authDatasetPath+"/update" ; 
@@ -98,7 +98,6 @@ public class TestAuth {
         LogCtl.setLevel("org.eclipse.jetty", "WARN");
 
         DatasetGraph dsg = DatasetGraphFactory.create();
-        // This must agree with ServerTest
         ServerConfig conf = FusekiConfig.defaultConfiguration(authDatasetPath, dsg, true, true);
         conf.port = authPort ;
         conf.pagesPort = authPort ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
index 7124592..894f3bc 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
@@ -18,83 +18,74 @@
 
 package org.apache.jena.fuseki;
 
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerTestData.gn1 ;
+import static org.apache.jena.fuseki.ServerTestData.model1 ;
+import static org.apache.jena.fuseki.ServerTestData.model2 ;
+
 import java.io.IOException ;
 import java.net.HttpURLConnection ;
 import java.net.URL ;
 
-import static org.apache.jena.fuseki.ServerTest.* ;
-import org.junit.AfterClass ;
-import org.junit.Assert ;
-import org.junit.BeforeClass ;
-import org.junit.Test ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.query.* ;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
-import org.apache.jena.sparql.sse.Item ;
-import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.sparql.sse.builders.BuilderResultSet ;
 import org.apache.jena.sparql.util.Convert ;
+import org.junit.* ;
+import org.junit.Test ;
 
 public class TestQuery extends BaseTest 
 {
-    protected static ResultSet rs1 = null ; 
-    static {
-        Item item = SSE.parseItem("(resultset (?s ?p ?o) (row (?s <x>)(?p <p>)(?o 1)))") ;
-        rs1 = BuilderResultSet.build(item) ;
-    }
+    @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+    @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+    @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
     
-    // DRY - test protocol?
-    @BeforeClass public static void beforeClass() {
-        ServerTest.allocServer() ;
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST) ;
+    @Before public void beforeClass() {
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceREST()) ;
         du.putModel(model1) ;
         du.putModel(gn1, model2) ;
     }
     
-    @AfterClass public static void afterClass() {
-        ServerTest.freeServer() ;
-    }
-    
-    @Test public void query_01()
-    {
+    @Test
+    public void query_01() {
         execQuery("SELECT * {?s ?p ?o}", 1) ;
     }
-    
-    @Test public void query_recursive_01()
-    {
-        String query = "SELECT * WHERE { SERVICE <" + serviceQuery + "> { ?s ?p ?o . BIND(?o AS ?x) } }";
-        try(QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query)) {
-            ResultSet rs = qExec.execSelect();
-            
-            Var x = Var.alloc("x");
+
+    @Test
+    public void query_recursive_01() {
+        String query = "SELECT * WHERE { SERVICE <" + serviceQuery() + "> { ?s ?p ?o . BIND(?o AS ?x) } }" ;
+        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query)) {
+            ResultSet rs = qExec.execSelect() ;
+
+            Var x = Var.alloc("x") ;
             while (rs.hasNext()) {
-                Binding b = rs.nextBinding();
-                Assert.assertNotNull(b.get(x));
+                Binding b = rs.nextBinding() ;
+                Assert.assertNotNull(b.get(x)) ;
             }
         }
     }
-    
-    @Test public void query_with_params_01()
-    {
-        String query = "ASK { }";
-        try(QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery + "?output=json", query)) {
-            boolean result = qExec.execAsk();
-            Assert.assertTrue(result);
+
+    @Test
+    public void query_with_params_01() {
+        String query = "ASK { }" ;
+        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery() + "?output=json", query)) {
+            boolean result = qExec.execAsk() ;
+            Assert.assertTrue(result) ;
         }
     }
-    
-    @Test public void request_id_header_01() throws IOException
-    {
+
+    @Test
+    public void request_id_header_01() throws IOException {
         String qs = Convert.encWWWForm("ASK{}") ;
-        URL u = new URL(serviceQuery+"?query="+qs);
-        HttpURLConnection conn = (HttpURLConnection) u.openConnection();
-        Assert.assertTrue(conn.getHeaderField("Fuseki-Request-ID") != null);
+        URL u = new URL(serviceQuery() + "?query=" + qs) ;
+        HttpURLConnection conn = (HttpURLConnection)u.openConnection() ;
+        Assert.assertTrue(conn.getHeaderField("Fuseki-Request-ID") != null) ;
     }
 
-    private void execQuery(String queryString, int exceptedRowCount)
-    {
-        QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, queryString) ;
+    private void execQuery(String queryString, int exceptedRowCount) {
+        QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), queryString) ;
         ResultSet rs = qExec.execSelect() ;
         int x = ResultSetFormatter.consume(rs) ;
         assertEquals(exceptedRowCount, x) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
index b58d8db..e377be8 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
@@ -18,7 +18,7 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.* ;
+import static org.apache.jena.fuseki.ServerTestData.* ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.query.* ;
 import org.apache.jena.riot.WebContent ;
@@ -28,61 +28,62 @@ import org.apache.jena.update.UpdateExecutionFactory ;
 import org.apache.jena.update.UpdateFactory ;
 import org.apache.jena.update.UpdateProcessor ;
 import org.apache.jena.update.UpdateRequest ;
+import org.junit.After ;
 import org.junit.AfterClass ;
+import org.junit.Before ;
 import org.junit.BeforeClass ;
 import org.junit.Test ;
+import static org.apache.jena.fuseki.ServerCtl.* ;
 
 public class TestSPARQLProtocol extends BaseTest
 {
-    @BeforeClass public static void beforeClass()
-    {
-        ServerTest.allocServer() ;
+    @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+    @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+    @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
+    
+    @Before
+    public void before() {
         // Load some data.
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST()) ;
         du.putModel(model1) ;
         du.putModel(gn1, model2) ;
     }
-    
-    @AfterClass public static void afterClass()
-    {
-        ServerTest.freeServer() ;
-    }
-    
-    static String query(String base, String queryString)
-    {
-        return base+"?query="+Convert.encWWWForm(queryString) ;
+
+    static String query(String base, String queryString) {
+        return base + "?query=" + Convert.encWWWForm(queryString) ;
     }
-    
-    @Test public void query_01()
-    {
+
+    @Test
+    public void query_01() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }") ;
-        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery, query) ;
+        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ;
         ResultSet rs = qexec.execSelect() ;
         int x = ResultSetFormatter.consume(rs) ;
-        assertTrue( x != 0 ) ;
+        assertTrue(x != 0) ;
     }
 
-    @Test public void query_02()
-    {
+    @Test
+    public void query_02() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }") ;
-        QueryEngineHTTP engine = QueryExecutionFactory.createServiceRequest(serviceQuery, query) ;
+        QueryEngineHTTP engine = QueryExecutionFactory.createServiceRequest(serviceQuery(), query) ;
         engine.setSelectContentType(WebContent.contentTypeResultsJSON) ;
         ResultSet rs = engine.execSelect() ;
         int x = ResultSetFormatter.consume(rs) ;
-        assertTrue( x != 0 ) ;
+        assertTrue(x != 0) ;
     }
 
-    @Test public void update_01()
-    {
+    @Test
+    public void update_01() {
         UpdateRequest update = UpdateFactory.create("INSERT DATA {}") ;
-        UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate) ;
+        UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate()) ;
         proc.execute() ;
     }
-    
-    @Test public void update_02()
-    {
+
+    @Test
+    public void update_02() {
         UpdateRequest update = UpdateFactory.create("INSERT DATA {}") ;
-        UpdateProcessor proc = UpdateExecutionFactory.createRemoteForm(update, serviceUpdate) ;
+        UpdateProcessor proc = UpdateExecutionFactory.createRemoteForm(update, serviceUpdate()) ;
         proc.execute() ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
index 7b2e168..675eec5 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
@@ -18,12 +18,18 @@
 
 package org.apache.jena.fuseki.http;
 
-import static org.apache.jena.fuseki.ServerTest.* ;
+import static org.apache.jena.fuseki.ServerCtl.datasetPath ;
+import static org.apache.jena.fuseki.ServerCtl.port ;
+import static org.apache.jena.fuseki.ServerCtl.serviceREST ;
+import static org.apache.jena.fuseki.ServerTestData.gn1 ;
+import static org.apache.jena.fuseki.ServerTestData.gn2 ;
+import static org.apache.jena.fuseki.ServerTestData.gn99 ;
+import static org.apache.jena.fuseki.ServerTestData.model1 ;
+import static org.apache.jena.fuseki.ServerTestData.model2 ;
 
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.atlas.web.HttpException ;
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.query.DatasetAccessor ;
 import org.apache.jena.query.DatasetAccessorFactory ;
 import org.apache.jena.rdf.model.Model ;
@@ -32,87 +38,83 @@ import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.web.HttpSC ;
 import org.junit.* ;
 
-
 public class TestDatasetAccessorHTTP extends BaseTest 
 {
-    static final String datasetURI_not_1    = "http://localhost:"+port+"/junk" ;
-    static final String datasetURI_not_2    = serviceREST+"/not" ;
-    static final String datasetURI_not_3    = "http://localhost:"+port+datasetPath+"/not/data" ;
-    
     @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
     @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
     @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
     
-    @Test(expected=HttpException.class)
-    public void test_ds_1()
-    {
+    final String datasetURI_not_1    = "http://localhost:"+port()+"/junk" ;
+    final String datasetURI_not_2    = serviceREST()+"/not" ;
+    final String datasetURI_not_3    = "http://localhost:"+port()+datasetPath()+"/not/data" ;
+    
+    @Test(expected = HttpException.class)
+    public void test_ds_1() {
         // Can't GET the dataset service.
         try {
-            HttpOp.execHttpGet(serviceREST) ;
-        } catch (HttpException ex) {
+            HttpOp.execHttpGet(serviceREST()) ;
+        }
+        catch (HttpException ex) {
             assertTrue(HttpSC.isClientError(ex.getResponseCode())) ;
             throw ex ;
         }
     }
-    
-    @Test(expected=HttpException.class)
-    public void test_ds_2()
-    {
+
+    @Test(expected = HttpException.class)
+    public void test_ds_2() {
         try {
             HttpOp.execHttpGet(datasetURI_not_1) ;
-        } catch (HttpException ex) {
+        }
+        catch (HttpException ex) {
             assertEquals(HttpSC.NOT_FOUND_404, ex.getResponseCode()) ;
             throw ex ;
         }
     }
 
-    @Test(expected=HttpException.class)
-    public void test_ds_3()
-    {
+    @Test(expected = HttpException.class)
+    public void test_ds_3() {
         try {
             HttpOp.execHttpGet(datasetURI_not_2) ;
-        } catch (HttpException ex) {
+        }
+        catch (HttpException ex) {
             assertEquals(HttpSC.NOT_FOUND_404, ex.getResponseCode()) ;
             throw ex ;
         }
     }
 
     @Test
-    public void test_404_1()
-    {
+    public void test_404_1() {
         // Not the right service.
         DatasetAccessor du = DatasetAccessorFactory.createHTTP(datasetURI_not_1) ;
         Model graph = du.getModel(gn99) ;
-        assertNull(graph) ; 
+        assertNull(graph) ;
     }
 
     @Test
-    public void test_404_2()
-    {
+    public void test_404_2() {
         DatasetAccessor du = DatasetAccessorFactory.createHTTP(datasetURI_not_2) ;
         Model graph = du.getModel(gn99) ;
         assertNull(graph) ;
     }
 
     @Test
-    public void test_404_3()
-    {
+    public void test_404_3() {
         // Right service, wrong graph
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST()) ;
         Model graph = du.getModel(gn99) ;
         assertNull(graph) ;
     }
 
-    @Test public void head_01()
-    {
+    @Test
+    public void head_01() {
         DatasetAccessor du = create() ;
         boolean b = du.containsModel(gn1) ;
         assertFalse("Blank remote dataset as a named graph", b) ;
     }
 
-    @Test public void head_02()
-    {
+    @Test
+    public void head_02() {
         DatasetAccessor du = create() ;
         du.putModel(gn1, model1) ;
         boolean exists = du.containsModel(gn1) ;
@@ -126,36 +128,36 @@ public class TestDatasetAccessorHTTP extends BaseTest
         du.deleteModel(gn1) ;
     }
 
-    @Test public void get_01()
-    {
+    @Test
+    public void get_01() {
         DatasetAccessor du = create() ;
         Model graph = du.getModel() ;
         assertTrue(graph.isEmpty()) ;
     }
-    
-    @Test public void get_02()
-    {
+
+    @Test
+    public void get_02() {
         DatasetAccessor du = create() ;
         Model graph = du.getModel(gn1) ;
         assertNull(graph) ;
     }
 
-    @Test public void delete_01()
-    {
+    @Test
+    public void delete_01() {
         DatasetAccessor du = create() ;
         du.deleteDefault() ;
     }
 
-    @Test public void delete_02()
-    {
+    @Test
+    public void delete_02() {
         DatasetAccessor du = create() ;
         du.deleteModel(gn1) ;
         boolean exists = du.containsModel(gn1) ;
         assertFalse("Expected gn1 not to exist", exists) ;
     }
 
-    @Test public void put_01()
-    {
+    @Test
+    public void put_01() {
         DatasetAccessor du = create() ;
         du.putModel(model1) ;
         Model graph = du.getModel() ;
@@ -165,31 +167,31 @@ public class TestDatasetAccessorHTTP extends BaseTest
         graph = du.getModel() ;
         assertTrue(graph.isEmpty()) ;
     }
-    
-    @Test public void put_02()
-    {
+
+    @Test
+    public void put_02() {
         DatasetAccessor du = create() ;
         du.putModel(gn1, model1) ;
         boolean exists = du.containsModel(gn1) ;
         assertTrue(exists) ;
         exists = du.containsModel(gn2) ;
         assertFalse("Expected gn2 not to exist", exists) ;
-        
+
         Model graph = du.getModel() ;
         assertTrue(graph.isEmpty()) ;
         graph = du.getModel(gn1) ;
         assertTrue(graph.isIsomorphicWith(model1)) ;
-        
+
         du.deleteModel(gn1) ;
         exists = du.containsModel(gn1) ;
         assertFalse("Expected gn1 not to exist", exists) ;
-        
+
         graph = du.getModel(gn1) ;
         assertNull(graph) ;
     }
 
-    @Test public void put_03()
-    {
+    @Test
+    public void put_03() {
         DatasetAccessor du = create() ;
         du.putModel(model1) ;
         du.putModel(model2) ;  // PUT overwrites
@@ -202,17 +204,17 @@ public class TestDatasetAccessorHTTP extends BaseTest
         assertTrue(graph.isEmpty()) ;
     }
 
-    @Test public void post_01()
-    {
+    @Test
+    public void post_01() {
         DatasetAccessor du = create() ;
         du.putModel(model1) ;
         du.add(model2) ;  // POST appends
         Model graph = du.getModel() ;
-        
+
         Model graph3 = ModelFactory.createDefaultModel() ;
         graph3.add(model1) ;
         graph3.add(model2) ;
-        
+
         assertFalse(graph.isIsomorphicWith(model1)) ;
         assertFalse(graph.isIsomorphicWith(model2)) ;
         assertTrue(graph.isIsomorphicWith(graph3)) ;
@@ -222,17 +224,17 @@ public class TestDatasetAccessorHTTP extends BaseTest
         assertTrue(graph.isEmpty()) ;
     }
 
-    @Test public void post_02()
-    {
+    @Test
+    public void post_02() {
         DatasetAccessor du = create() ;
         du.add(model1) ;
         du.add(model2) ;
         Model graph = du.getModel() ;
-        
+
         Model graph3 = ModelFactory.createDefaultModel() ;
         graph3.add(model1) ;
         graph3.add(model2) ;
-        
+
         assertFalse(graph.isIsomorphicWith(model1)) ;
         assertFalse(graph.isIsomorphicWith(model2)) ;
         assertTrue(graph.isIsomorphicWith(graph3)) ;
@@ -241,9 +243,9 @@ public class TestDatasetAccessorHTTP extends BaseTest
         graph = du.getModel() ;
         assertTrue(graph.isEmpty()) ;
     }
-    
-    @Test public void clearup_1()
-    {
+
+    @Test
+    public void clearup_1() {
         DatasetAccessor du = create() ;
         du.deleteDefault() ;
         du.deleteModel(gn1) ;
@@ -251,8 +253,7 @@ public class TestDatasetAccessorHTTP extends BaseTest
         du.deleteModel(gn99) ;
     }
 
-    static DatasetAccessor create()
-    {
-        return DatasetAccessorFactory.createHTTP(ServerTest.serviceREST) ;
+    static DatasetAccessor create() {
+        return DatasetAccessorFactory.createHTTP(serviceREST()) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index ef548d6..328c9e4 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -19,7 +19,6 @@
 package org.apache.jena.fuseki.http;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessorHTTP ;
@@ -36,8 +35,7 @@ public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccess
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
     
     @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceREST) ;
+    protected DatasetGraphAccessor getDatasetUpdater() {
+        return new DatasetGraphAccessorHTTP(ServerCtl.serviceREST()) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/6d63d21d/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
index ad3acc9..48b9b67 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
@@ -18,6 +18,11 @@
 
 package org.apache.jena.fuseki.http;
 
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerCtl.serviceREST ;
+import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
+import static org.apache.jena.fuseki.ServerCtl.urlRoot ;
+
 import java.io.IOException ;
 
 import org.apache.jena.atlas.io.IO ;
@@ -26,7 +31,6 @@ import org.apache.jena.atlas.lib.IRILib ;
 import org.apache.jena.atlas.web.HttpException ;
 import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.riot.WebContent ;
 import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.sparql.engine.http.Params ;
@@ -43,10 +47,10 @@ public class TestHttpOp extends BaseTest {
     @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
     
-    static String pingURL     = ServerTest.urlRoot + "ping.txt" ;
-    static String graphURL    = ServerTest.serviceREST + "?default" ;
-    static String queryURL    = ServerTest.serviceQuery ;
-    static String updateURL   = ServerTest.serviceUpdate ;
+    static String pingURL     = urlRoot() + "ping.txt" ;
+    static String graphURL    = serviceREST() + "?default" ;
+    static String queryURL    = serviceQuery() ;
+    static String updateURL   = serviceUpdate() ;
     static String simpleQuery = queryURL+"?query="+IRILib.encodeUriComponent("ASK{}") ;
     
     // Basic operations
@@ -59,7 +63,7 @@ public class TestHttpOp extends BaseTest {
     @Test(expected=HttpException.class) 
     public void httpGet_02() {
         try {
-            TypedInputStream in = HttpOp.execHttpGet(ServerTest.urlRoot+"does-not-exist") ;
+            TypedInputStream in = HttpOp.execHttpGet(urlRoot()+"does-not-exist") ;
             IO.close(in) ;
         } catch(HttpException ex) {
             assertEquals(HttpSC.NOT_FOUND_404, ex.getResponseCode()) ;
@@ -74,7 +78,7 @@ public class TestHttpOp extends BaseTest {
     }   
     
     @Test public void httpGet_04() {
-        String x = HttpOp.execHttpGetString(ServerTest.urlRoot+"does-not-exist") ;
+        String x = HttpOp.execHttpGetString(urlRoot()+"does-not-exist") ;
         assertNull(x) ;
     }
     


[2/9] jena git commit: Align to redesigned Fuseki tests (ServerCtl).

Posted by an...@apache.org.
Align to redesigned Fuseki tests (ServerCtl).

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

Branch: refs/heads/master
Commit: 355d4c4dc4e878033cc6a7c03bf77c46f96ee90a
Parents: 6d63d21
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Oct 15 18:35:20 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Oct 15 18:35:20 2016 +0100

----------------------------------------------------------------------
 .../jena/jdbc/remote/RemoteEndpointDriver.java      |  1 -
 .../remote/metadata/RemoteEndpointMetadata.java     |  1 -
 .../connections/TestRemoteEndpointConnection.java   |  7 +++----
 .../TestRemoteEndpointConnectionWithAuth.java       | 16 ++++++++--------
 .../TestRemoteEndpointConnectionWithGraphUris.java  |  7 +++----
 ...tRemoteEndpointConnectionWithResultSetTypes.java |  7 +++----
 .../metadata/TestRemoteConnectionMetadata.java      |  3 +--
 .../remote/results/TestRemoteEndpointResults.java   |  5 ++---
 .../results/TestRemoteEndpointResultsWithAuth.java  | 14 +++++++-------
 .../TestRemoteEndpointResultsWithGraphUris.java     |  5 ++---
 ...TestRemoteEndpointResultsWithResultSetTypes.java |  5 ++---
 .../statements/TestRemoteEndpointStatements.java    |  3 +--
 12 files changed, 32 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
index 2526cae..3729d97 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/RemoteEndpointDriver.java
@@ -35,7 +35,6 @@ import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.JenaDriver;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
-import org.apache.jena.riot.web.HttpOp;
 import org.apache.jena.system.JenaSystem ;
 
 /**

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
index d9fd794..5fde4ca 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/main/java/org/apache/jena/jdbc/remote/metadata/RemoteEndpointMetadata.java
@@ -33,7 +33,6 @@ import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection ;
 public class RemoteEndpointMetadata extends JenaMetadata {
 
     private Version jdbc;
-    @SuppressWarnings("unused")
     private RemoteEndpointConnection remoteConn;
 
     /**

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
index dcc4f3c..e7b9107 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
@@ -21,7 +21,6 @@ package org.apache.jena.jdbc.remote.connections;
 import java.sql.SQLException;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.utils.TestUtils;
@@ -50,14 +49,14 @@ public class TestRemoteEndpointConnection extends AbstractRemoteEndpointConnecti
     
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
 
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
index 62a76de..2d75c82 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
@@ -28,7 +28,7 @@ import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.HttpClient;
 import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.apache.http.impl.client.HttpClients;
-import org.apache.jena.fuseki.ServerTest ;
+import org.apache.jena.fuseki.ServerCtl ;
 import org.apache.jena.fuseki.server.FusekiConfig ;
 import org.apache.jena.fuseki.server.SPARQLServer ;
 import org.apache.jena.fuseki.server.ServerConfig ;
@@ -81,9 +81,9 @@ public class TestRemoteEndpointConnectionWithAuth extends AbstractRemoteEndpoint
         DatasetGraph dsg = DatasetGraphFactory.create();
 
         // This must agree with ServerTest
-        ServerConfig conf = FusekiConfig.defaultConfiguration(ServerTest.datasetPath, dsg, true, false);
-        conf.port = ServerTest.port;
-        conf.pagesPort = ServerTest.port;
+        ServerConfig conf = FusekiConfig.defaultConfiguration(ServerCtl.datasetPath(), dsg, true, false);
+        conf.port = ServerCtl.port();
+        conf.pagesPort = ServerCtl.port();
         conf.authConfigFile = realmFile.getAbsolutePath();
 
         server = new SPARQLServer(conf);
@@ -96,7 +96,7 @@ public class TestRemoteEndpointConnectionWithAuth extends AbstractRemoteEndpoint
     @After
     public void cleanupTest() {
         Update clearRequest = new UpdateDrop(Target.ALL) ;
-        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerTest.serviceUpdate, client) ;
+        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerCtl.serviceUpdate(), client) ;
         proc.execute() ;
     }
 
@@ -118,7 +118,7 @@ public class TestRemoteEndpointConnectionWithAuth extends AbstractRemoteEndpoint
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null,
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null,
                 client, JenaConnection.DEFAULT_HOLDABILITY,
                 JdbcCompatibility.DEFAULT, null, null);
     }
@@ -126,8 +126,8 @@ public class TestRemoteEndpointConnectionWithAuth extends AbstractRemoteEndpoint
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST, client);
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null,
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST(), client);
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null,
                 client, JenaConnection.DEFAULT_HOLDABILITY,
                 JdbcCompatibility.DEFAULT, null, null);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
index b6183e1..95f82d3 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
@@ -24,7 +24,6 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.utils.TestUtils;
@@ -60,7 +59,7 @@ public class TestRemoteEndpointConnectionWithGraphUris extends AbstractRemoteEnd
     protected JenaConnection getConnection() throws SQLException {
         List<String> defaultGraphs = new ArrayList<String>();
         defaultGraphs.add(DEFAULT_GRAPH_URI);
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, defaultGraphs, null,
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), defaultGraphs, null,
                 defaultGraphs, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
     }
 
@@ -80,8 +79,8 @@ public class TestRemoteEndpointConnectionWithGraphUris extends AbstractRemoteEnd
         // Set up the dataset
         ds = TestUtils.renameGraph(ds, null, DEFAULT_GRAPH_URI);
         Assert.assertEquals(0, ds.getDefaultModel().size());
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, defaultGraphs, namedGraphs,
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), defaultGraphs, namedGraphs,
                 defaultGraphs, namedGraphs, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
index 0fbb148..b2396d7 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
@@ -21,7 +21,6 @@ package org.apache.jena.jdbc.remote.connections;
 import java.sql.SQLException;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.utils.TestUtils;
@@ -51,13 +50,13 @@ public class TestRemoteEndpointConnectionWithResultSetTypes extends AbstractRemo
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
     }
 
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java
index e3e6c86..bc83bbe 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/metadata/TestRemoteConnectionMetadata.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.metadata.results.AbstractDatabaseMetadataTests;
@@ -47,7 +46,7 @@ public class TestRemoteConnectionMetadata extends AbstractDatabaseMetadataTests
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
index fe56c28..7de87c3 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
@@ -23,7 +23,6 @@ import java.sql.SQLException;
 import java.sql.Statement;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
@@ -54,7 +53,7 @@ public class TestRemoteEndpointResults extends AbstractRemoteEndpointResultSetTe
     @BeforeClass
     public static void setup() throws SQLException {
         ServerCtl.ctlBeforeClass();
-        connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+        connection = new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
         connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH);
     }
     
@@ -75,7 +74,7 @@ public class TestRemoteEndpointResults extends AbstractRemoteEndpointResultSetTe
     
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
index f4241e5..8f7b8a1 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
@@ -30,7 +30,7 @@ import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.HttpClient;
 import org.apache.http.impl.client.BasicCredentialsProvider;
 import org.apache.http.impl.client.HttpClients;
-import org.apache.jena.fuseki.ServerTest;
+import org.apache.jena.fuseki.ServerCtl ;
 import org.apache.jena.fuseki.server.FusekiConfig;
 import org.apache.jena.fuseki.server.SPARQLServer;
 import org.apache.jena.fuseki.server.ServerConfig;
@@ -88,15 +88,15 @@ public class TestRemoteEndpointResultsWithAuth extends AbstractRemoteEndpointRes
         DatasetGraph dsg = DatasetGraphFactory.create();
 
         // This must agree with ServerTest
-        ServerConfig conf = FusekiConfig.defaultConfiguration(ServerTest.datasetPath, dsg, true, false);
-        conf.port = ServerTest.port;
-        conf.pagesPort = ServerTest.port;
+        ServerConfig conf = FusekiConfig.defaultConfiguration(ServerCtl.datasetPath(), dsg, true, false);
+        conf.port = ServerCtl.port();
+        conf.pagesPort = ServerCtl.port();
         conf.authConfigFile = realmFile.getAbsolutePath();
 
         server = new SPARQLServer(conf);
         server.start();
 
-        connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null,
+        connection = new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null,
                 client, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
         connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH);
     }
@@ -107,7 +107,7 @@ public class TestRemoteEndpointResultsWithAuth extends AbstractRemoteEndpointRes
     @After
     public void cleanupTest() {
         Update clearRequest = new UpdateDrop(Target.ALL) ;
-        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerTest.serviceUpdate, client) ;
+        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerCtl.serviceUpdate(), client) ;
         proc.execute() ;
     }
 
@@ -133,7 +133,7 @@ public class TestRemoteEndpointResultsWithAuth extends AbstractRemoteEndpointRes
 
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST, client);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST(), client);
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
index 7d7e554..9cfb46a 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
@@ -25,7 +25,6 @@ import java.util.List;
 
 import org.apache.jena.ext.com.google.common.collect.Lists;
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
@@ -63,7 +62,7 @@ public class TestRemoteEndpointResultsWithGraphUris extends AbstractRemoteEndpoi
     public static void setup() throws SQLException {
         ServerCtl.ctlBeforeClass();
         List<String> defaultGraphUris = Lists.newArrayList(DEFAULT_GRAPH_URI);
-        connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, defaultGraphUris, null, defaultGraphUris, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
+        connection = new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), defaultGraphUris, null, defaultGraphUris, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
         connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH);
     }
     
@@ -85,7 +84,7 @@ public class TestRemoteEndpointResultsWithGraphUris extends AbstractRemoteEndpoi
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
         ds = TestUtils.renameGraph(ds, null, DEFAULT_GRAPH_URI);
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
index 5cc0b4c..2076193 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
@@ -23,7 +23,6 @@ import java.sql.SQLException;
 import java.sql.Statement;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
@@ -55,7 +54,7 @@ public class TestRemoteEndpointResultsWithResultSetTypes extends AbstractRemoteE
     @BeforeClass
     public static void setup() throws SQLException {
         ServerCtl.ctlBeforeClass();
-        connection = new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
+        connection = new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
         connection.setJdbcCompatibilityLevel(JdbcCompatibility.HIGH);
     }
     
@@ -76,7 +75,7 @@ public class TestRemoteEndpointResultsWithResultSetTypes extends AbstractRemoteE
     
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerTest.serviceREST);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/355d4c4d/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java
index b04fbaf..9b64cce 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/statements/TestRemoteEndpointStatements.java
@@ -21,7 +21,6 @@ package org.apache.jena.jdbc.remote.statements;
 import java.sql.SQLException;
 
 import org.apache.jena.fuseki.ServerCtl ;
-import org.apache.jena.fuseki.ServerTest;
 import org.apache.jena.jdbc.JdbcCompatibility;
 import org.apache.jena.jdbc.connections.JenaConnection;
 import org.apache.jena.jdbc.remote.connections.RemoteEndpointConnection;
@@ -44,7 +43,7 @@ public class TestRemoteEndpointStatements extends AbstractJenaStatementTests {
 
     @Override
     protected JenaConnection getConnection() throws SQLException {
-        return new RemoteEndpointConnection(ServerTest.serviceQuery, ServerTest.serviceUpdate, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
+        return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
 
 


[3/9] jena git commit: Remove extends.

Posted by an...@apache.org.
Remove extends.

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

Branch: refs/heads/master
Commit: dc27c2b0a503ff04bd7dcd9787d49b2ae714c020
Parents: 355d4c4
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Oct 15 20:00:16 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Oct 15 20:00:16 2016 +0100

----------------------------------------------------------------------
 jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/dc27c2b0/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
index 10ef87a..1f235c4 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
@@ -36,7 +36,7 @@ import org.junit.runners.Suite ;
     , TestAuth.class
 })
 
-public class TS_Fuseki extends ServerTestData
+public class TS_Fuseki
 {
     @BeforeClass
     static public void beforeClass() {


[9/9] jena git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena

Posted by an...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena


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

Branch: refs/heads/master
Commit: 0d56294782963a8cd5cef7a6eef717736347c5c8
Parents: 0784e08 b5d0c49
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 18 10:19:51 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 18 10:19:51 2016 +0100

----------------------------------------------------------------------
 .../syntaxtransform/QueryTransformOps.java      | 258 ++++++++++---------
 .../syntaxtransform/TestSyntaxTransform.java    |   5 +
 .../org/apache/jena/graph/impl/package.html     |   6 +-
 .../querybuilder/handlers/SelectHandler.java    |   1 +
 .../handlers/SolutionModifierHandler.java       |  13 +-
 .../handlers/SelectHandlerTest.java             |  14 +
 6 files changed, 170 insertions(+), 127 deletions(-)
----------------------------------------------------------------------



[5/9] jena git commit: Port ServerCtl to Fuseki2. Make naming and use consistent

Posted by an...@apache.org.
Port ServerCtl to Fuseki2. Make naming and use consistent


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

Branch: refs/heads/master
Commit: 7c3a5cfd683426cc02b671c129878c45a6aebb30
Parents: dc27c2b
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Oct 16 15:53:34 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Oct 16 17:23:37 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/fuseki/ServerCtl.java  |   2 +-
 .../java/org/apache/jena/fuseki/TestQuery.java  |   2 +-
 .../apache/jena/fuseki/TestSPARQLProtocol.java  |   2 +-
 .../fuseki/http/TestDatasetAccessorHTTP.java    |  10 +-
 .../http/TestDatasetGraphAccessorHTTP.java      |   2 +-
 .../org/apache/jena/fuseki/http/TestHttpOp.java |   4 +-
 .../apache/jena/fuseki/AbstractFusekiTest.java  |  18 +-
 .../java/org/apache/jena/fuseki/ServerCtl.java  | 287 +++++++++++++++++++
 .../java/org/apache/jena/fuseki/ServerTest.java | 126 --------
 .../java/org/apache/jena/fuseki/TS_Fuseki.java  |   8 +
 .../java/org/apache/jena/fuseki/TestAdmin.java  |  62 ++--
 .../java/org/apache/jena/fuseki/TestAuth.java   |   7 +-
 .../org/apache/jena/fuseki/TestDatasetOps.java  |  30 +-
 .../org/apache/jena/fuseki/TestFileUpload.java  |  27 +-
 .../apache/jena/fuseki/TestHttpOperations.java  |  32 +--
 .../org/apache/jena/fuseki/TestHttpOptions.java |  13 +-
 .../java/org/apache/jena/fuseki/TestQuery.java  | 112 ++++----
 .../apache/jena/fuseki/TestSPARQLProtocol.java  |  34 +--
 .../apache/jena/fuseki/TestServerReadOnly.java  |  32 +--
 .../fuseki/http/TestDatasetAccessorHTTP.java    |  37 +--
 .../http/TestDatasetGraphAccessorHTTP.java      |  18 +-
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  21 +-
 .../TestRemoteEndpointConnection.java           |   2 +-
 .../TestRemoteEndpointConnectionWithAuth.java   |   2 +-
 ...stRemoteEndpointConnectionWithGraphUris.java |   2 +-
 ...oteEndpointConnectionWithResultSetTypes.java |   2 +-
 .../results/TestRemoteEndpointResults.java      |   2 +-
 .../TestRemoteEndpointResultsWithAuth.java      |   2 +-
 .../TestRemoteEndpointResultsWithGraphUris.java |   2 +-
 ...RemoteEndpointResultsWithResultSetTypes.java |   2 +-
 30 files changed, 520 insertions(+), 382 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
index 2c91bd5..43878b2 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/ServerCtl.java
@@ -112,7 +112,7 @@ public class ServerCtl {
     public static final String datasetPath()    { return "/dataset" ; }
     public static final String serviceUpdate()  { return "http://localhost:"+port()+datasetPath()+"/update" ; } 
     public static final String serviceQuery()   { return "http://localhost:"+port()+datasetPath()+"/query" ; }
-    public static final String serviceREST()    { return "http://localhost:"+port()+datasetPath()+"/data" ; }
+    public static final String serviceGSP()     { return "http://localhost:"+port()+datasetPath()+"/data" ; }
     
     
     public static void ctlBeforeTestSuite() {

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
index 894f3bc..7911048 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestQuery.java
@@ -43,7 +43,7 @@ public class TestQuery extends BaseTest
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
     
     @Before public void beforeClass() {
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceREST()) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         du.putModel(model1) ;
         du.putModel(gn1, model2) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
index e377be8..c41808c 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
@@ -45,7 +45,7 @@ public class TestSPARQLProtocol extends BaseTest
     @Before
     public void before() {
         // Load some data.
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST()) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         du.putModel(model1) ;
         du.putModel(gn1, model2) ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
index 675eec5..f505e6a 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
@@ -20,7 +20,7 @@ package org.apache.jena.fuseki.http;
 
 import static org.apache.jena.fuseki.ServerCtl.datasetPath ;
 import static org.apache.jena.fuseki.ServerCtl.port ;
-import static org.apache.jena.fuseki.ServerCtl.serviceREST ;
+import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
 import static org.apache.jena.fuseki.ServerTestData.gn1 ;
 import static org.apache.jena.fuseki.ServerTestData.gn2 ;
 import static org.apache.jena.fuseki.ServerTestData.gn99 ;
@@ -46,14 +46,14 @@ public class TestDatasetAccessorHTTP extends BaseTest
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
     
     final String datasetURI_not_1    = "http://localhost:"+port()+"/junk" ;
-    final String datasetURI_not_2    = serviceREST()+"/not" ;
+    final String datasetURI_not_2    = serviceGSP()+"/not" ;
     final String datasetURI_not_3    = "http://localhost:"+port()+datasetPath()+"/not/data" ;
     
     @Test(expected = HttpException.class)
     public void test_ds_1() {
         // Can't GET the dataset service.
         try {
-            HttpOp.execHttpGet(serviceREST()) ;
+            HttpOp.execHttpGet(serviceGSP()) ;
         }
         catch (HttpException ex) {
             assertTrue(HttpSC.isClientError(ex.getResponseCode())) ;
@@ -101,7 +101,7 @@ public class TestDatasetAccessorHTTP extends BaseTest
     @Test
     public void test_404_3() {
         // Right service, wrong graph
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST()) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         Model graph = du.getModel(gn99) ;
         assertNull(graph) ;
     }
@@ -254,6 +254,6 @@ public class TestDatasetAccessorHTTP extends BaseTest
     }
 
     static DatasetAccessor create() {
-        return DatasetAccessorFactory.createHTTP(serviceREST()) ;
+        return DatasetAccessorFactory.createHTTP(serviceGSP()) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 328c9e4..0c4bb1a 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -36,6 +36,6 @@ public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccess
     
     @Override
     protected DatasetGraphAccessor getDatasetUpdater() {
-        return new DatasetGraphAccessorHTTP(ServerCtl.serviceREST()) ;
+        return new DatasetGraphAccessorHTTP(ServerCtl.serviceGSP()) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
index 48b9b67..361c37b 100644
--- a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
+++ b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java
@@ -19,7 +19,7 @@
 package org.apache.jena.fuseki.http;
 
 import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
-import static org.apache.jena.fuseki.ServerCtl.serviceREST ;
+import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
 import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
 import static org.apache.jena.fuseki.ServerCtl.urlRoot ;
 
@@ -48,7 +48,7 @@ public class TestHttpOp extends BaseTest {
     @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); } 
     
     static String pingURL     = urlRoot() + "ping.txt" ;
-    static String graphURL    = serviceREST() + "?default" ;
+    static String graphURL    = serviceGSP() + "?default" ;
     static String queryURL    = serviceQuery() ;
     static String updateURL   = serviceUpdate() ;
     static String simpleQuery = queryURL+"?query="+IRILib.encodeUriComponent("ASK{}") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java
index 3f1aa17..7ccfba9 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java
@@ -19,6 +19,7 @@
 package org.apache.jena.fuseki;
 
 import org.apache.jena.atlas.junit.BaseTest ;
+import org.junit.After ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
@@ -30,18 +31,9 @@ import org.junit.BeforeClass ;
 
 public class AbstractFusekiTest extends BaseTest
 {
-    @BeforeClass
-    public static void allocServerForSuite() {
-        ServerTest.allocServer() ;
-    }
-
-    @AfterClass
-    public static void freeServerForSuite() {
-        ServerTest.freeServer() ;
-    }
-    
-    @Before public void resetServer() {
-        ServerTest.resetServer() ;
-    }
+    @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+    @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+    @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
 }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
new file mode 100644
index 0000000..cc6d97a
--- /dev/null
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
@@ -0,0 +1,287 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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.
+ */
+
+package org.apache.jena.fuseki;
+
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.CLASS ;
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.SUITE ;
+import static org.apache.jena.fuseki.ServerCtl.ServerScope.TEST ;
+
+import java.io.IOException ;
+import java.net.ServerSocket ;
+import java.nio.file.Paths ;
+import java.util.Collection ;
+import java.util.concurrent.atomic.AtomicInteger ;
+
+import org.apache.http.client.HttpClient ;
+import org.apache.http.impl.client.CloseableHttpClient ;
+import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.lib.FileOps ;
+import org.apache.jena.fuseki.jetty.JettyFuseki ;
+import org.apache.jena.fuseki.jetty.JettyServerConfig ;
+import org.apache.jena.fuseki.server.* ;
+import org.apache.jena.riot.web.HttpOp ;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.DatasetGraphFactory ;
+import org.apache.jena.sparql.modify.request.Target ;
+import org.apache.jena.sparql.modify.request.UpdateDrop ;
+import org.apache.jena.system.Txn ;
+import org.apache.jena.tdb.base.file.Location ;
+import org.apache.jena.update.Update ;
+import org.apache.jena.update.UpdateExecutionFactory ;
+import org.apache.jena.update.UpdateProcessor ;
+
+/**
+ * Manage a single server for use with tests. It supports three modes:
+ * <ul>
+ * <li>One server for a whole test suite
+ * <li>One server per test class
+ * <li>One server per individual test
+ * </ul>
+ * One server per individual test can be troublesome due to connections not closing down
+ * fast enough (left in TCP state {@code TIME_WAIT} which is 2 minutes) and also can be slow.
+ * One server per test class is a good compromise. 
+ * <p> The data in the server is always reseet between tests.
+ * <p>
+ * Using a connection pooling HttpClient (see {@link HttpOp#createPoolingHttpClient()}) is important,
+ * both for test performance and for reducing the TCP connection load on the operarting system.  
+ * <p>
+ * Usage:
+ * </p>
+ * <p>
+ * In the test suite, put:
+ * 
+ * <pre>
+ *  {@literal @BeforeClass} static public void beforeSuiteClass() { ServerCtl.ctlBeforeTestSuite(); } 
+ *  {@literal @AfterClass}  static public void afterSuiteClass()  { ServerCtl.ctlAfterTestSuite(); }
+ * </pre>
+ * <p>
+ * In the test class, put:
+ * <pre>
+ * {@literal @BeforeClass} public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+ * {@literal @AfterClass}  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+ * {@literal @Before}      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+ * {@literal @After}       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
+ * </pre>
+ */
+public class ServerCtl {
+    static { Fuseki.init(); }
+
+    /* Cut&Paste versions:
+
+    Test suite (TS_*)
+    @BeforeClass static public void beforeSuiteClass() { ServerCtl.ctlBeforeTestSuite(); } 
+    @AfterClass  static public void afterSuiteClass()  { ServerCtl.ctlAfterTestSuite(); }
+
+    Test class (Test*)
+    @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+    @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+    @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
+     
+    */
+    
+    static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient();
+
+    // Note: it is import to cleanly close a PoolingHttpClient across server restarts
+    // otherwise the pooled connections remain for the old server. 
+    
+    /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }
+    private static ServerScope serverScope = ServerScope.CLASS ;
+    private static int currentPort = choosePort() ;
+    
+    public static int port() {
+        return currentPort ;
+    }
+
+    // Whether to use a transaction on the dataset or to use SPARQL Update. 
+    static boolean CLEAR_DSG_DIRECTLY = true ;
+    static private DatasetGraph dsgTesting ;
+    
+    // Abstraction that runs a SPARQL server for tests.
+    public static final String urlRoot()        { return "http://localhost:"+port()+"/" ; }
+    public static final String datasetPath()    { return "/dataset" ; }
+    public static final String urlDataset()     { return "http://localhost:"+port()+datasetPath() ; }
+    
+    public static final String serviceUpdate()  { return "http://localhost:"+port()+datasetPath()+"/update" ; } 
+    public static final String serviceQuery()   { return "http://localhost:"+port()+datasetPath()+"/query" ; }
+    public static final String serviceGSP()     { return "http://localhost:"+port()+datasetPath()+"/data" ; }
+    
+    
+    public static void ctlBeforeTestSuite() {
+        if ( serverScope == SUITE  ) {
+            setPoolingHttpClient() ;
+            allocServer();
+        }
+    }
+    
+    public static void ctlAfterTestSuite()  {
+        if ( serverScope == SUITE  ) {
+            freeServer();
+            resetDefaultHttpClient() ;
+        }
+    }
+    
+    /**
+     * Setup for the tests by allocating a Fuseki instance to work with
+     */
+    public static void ctlBeforeClass() {
+        if ( serverScope == CLASS  ) {
+            setPoolingHttpClient() ;
+            allocServer();
+        }
+    }
+    
+    /**
+     * Clean up after tests by de-allocating the Fuseki instance
+     */
+    public static void ctlAfterClass() {
+        if ( serverScope == CLASS  ) {
+            freeServer();
+            resetDefaultHttpClient() ;
+        }
+    }
+
+    /**
+     * Placeholder.
+     */
+    public static void ctlBeforeTest() {
+        if ( serverScope == TEST  ) {
+            setPoolingHttpClient() ;
+            allocServer();
+        }
+    }
+
+    /**
+     * Clean up after each test by resetting the Fuseki dataset
+     */
+    public static void ctlAfterTest() {
+        if ( serverScope == TEST  ) {
+            freeServer();
+            resetDefaultHttpClient() ;
+        } else
+            resetServer();
+    }
+
+    /** Set a PoolingHttpClient */
+    private static void setPoolingHttpClient() {
+        setHttpClient(HttpOp.createPoolingHttpClient()) ;
+    }
+
+    /** Restore the original setup */
+    private static void resetDefaultHttpClient() {
+        setHttpClient(defaultHttpClient);
+    }
+    
+    /** Set the HttpClient - close the old one if appropriate */
+    /*package*/ static void setHttpClient(HttpClient newHttpClient) {
+        HttpClient hc = HttpOp.getDefaultHttpClient() ;
+        if ( hc instanceof CloseableHttpClient )
+            IO.close((CloseableHttpClient)hc) ;
+        HttpOp.setDefaultHttpClient(newHttpClient) ;
+    }
+    
+    // reference count of start/stop server
+    private static AtomicInteger countServer = new AtomicInteger() ; 
+    private static JettyFuseki server        = null ;
+    
+    /*package*/ static void allocServer() {
+        if ( countServer.getAndIncrement() == 0 )
+            setupServer(true) ;
+    }
+    
+    /*package*/ static void freeServer() {
+        if ( countServer.decrementAndGet() == 0 )
+            teardownServer() ;
+    }
+    
+    protected static void setupServer(boolean updateable) {
+        FusekiEnv.FUSEKI_HOME = Paths.get(TS_Fuseki.FusekiTestHome).toAbsolutePath() ;
+        FileOps.ensureDir("target");
+        FileOps.ensureDir(TS_Fuseki.FusekiTestHome);
+        FileOps.ensureDir(TS_Fuseki.FusekiTestBase) ;
+        FusekiEnv.FUSEKI_BASE = Paths.get(TS_Fuseki.FusekiTestBase).toAbsolutePath() ;
+        setupServer(port(), null, datasetPath(), updateable) ;
+    }
+    
+    public static void setupServer(int port, String authConfigFile, String datasetPath, boolean updateable) {
+        SystemState.location = Location.mem() ;
+        SystemState.init$() ;
+        
+        ServerInitialConfig params = new ServerInitialConfig() ;
+        dsgTesting = DatasetGraphFactory.createTxnMem() ;
+        params.dsg = dsgTesting ;
+        params.datasetPath = datasetPath ;
+        params.allowUpdate = updateable ;
+        
+        FusekiServerListener.initialSetup = params ;
+        
+        JettyServerConfig config = make(port, true, true) ;
+        config.authConfigFile = authConfigFile ;
+        JettyFuseki.initializeServer(config);
+        JettyFuseki.instance.start() ;
+        server = JettyFuseki.instance ;
+    }
+    
+    /*package*/ static void teardownServer() {
+        if ( server != null )
+            server.stop() ;
+        server = null ;
+        // Clear out the registry.
+        Collection<String> keys = Iter.toList(DataAccessPointRegistry.get().keys().iterator()) ;
+        for (String k : keys)
+            DataAccessPointRegistry.get().remove(k) ;
+        // Clear configuration directory.
+        FileOps.clearAll(FusekiServer.dirConfiguration.toFile()) ;
+    }
+
+    /*package*/ static JettyServerConfig make(int port, boolean allowUpdate, boolean listenLocal) {
+        JettyServerConfig config = new JettyServerConfig() ;
+        // Avoid any persistent record.
+        config.port = port ;
+        config.contextPath = "/" ;
+        config.loopback = listenLocal ;
+        config.jettyConfigFile = null ;
+        config.enableCompression = true ;
+        config.verboseLogging = false ;
+        return config ;
+    }
+
+    /*package*/ static void resetServer() {
+        if (countServer.get() == 0)  
+            throw new RuntimeException("No server started!");
+        if ( CLEAR_DSG_DIRECTLY ) {
+            Txn.executeWrite(dsgTesting, ()->dsgTesting.clear()) ;   
+        } else {
+            Update clearRequest = new UpdateDrop(Target.ALL) ;
+            UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, serviceUpdate()) ;
+            try {proc.execute() ; }
+            catch (Throwable e) {e.printStackTrace(); throw e;}
+        }
+    }
+    
+    /** Choose an unused port for a server to listen on */
+    public static int choosePort() {
+        try (ServerSocket s = new ServerSocket(0)) {
+            return s.getLocalPort();
+        } catch (IOException ex) {
+            throw new FusekiException("Failed to find a port for tests!");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java
index d36f104..cd832cc 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java
@@ -18,31 +18,12 @@
 
 package org.apache.jena.fuseki ;
 
-import java.io.IOException ;
-import java.net.ServerSocket ;
-import java.nio.file.Paths ;
-import java.util.Arrays ;
-import java.util.Collection ;
-
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.fuseki.server.* ;
-import org.apache.jena.fuseki.jetty.JettyServerConfig ;
-import org.apache.jena.fuseki.jetty.JettyFuseki ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.NodeFactory ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.ModelFactory ;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.DatasetGraphFactory ;
-import org.apache.jena.sparql.modify.request.Target ;
-import org.apache.jena.sparql.modify.request.UpdateDrop ;
 import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.tdb.base.file.Location ;
-import org.apache.jena.update.Update ;
-import org.apache.jena.update.UpdateExecutionFactory ;
-import org.apache.jena.update.UpdateProcessor ;
 
 /**
  * Manage a server for testing. Example for one server per test suite:
@@ -54,15 +35,6 @@ import org.apache.jena.update.UpdateProcessor ;
  * </pre>
  */
 public class ServerTest {
-    // Abstraction that runs a SPARQL server for tests.
-    public static final int     port          = choosePort(3535, 3534, 3735, 9035, 9135, 10035) ;
-    public static final String  urlRoot       = "http://localhost:" + port + "/" ;
-    public static final String  datasetPath   = "/dataset" ;
-    public static final String  urlDataset    = "http://localhost:" + port + datasetPath ;
-    public static final String  serviceUpdate = urlDataset + "/update" ;
-    public static final String  serviceQuery  = urlDataset + "/query" ;
-    public static final String  serviceGSP    = urlDataset + "/data" ;
-
     public static final String  gn1           = "http://graph/1" ;
     public static final String  gn2           = "http://graph/2" ;
     public static final String  gn99          = "http://graph/99" ;
@@ -76,102 +48,4 @@ public class ServerTest {
 
     public static final Model   model1        = ModelFactory.createModelForGraph(graph1) ;
     public static final Model   model2        = ModelFactory.createModelForGraph(graph2) ;
-
-    private static JettyFuseki server        = null ;
-
-    // reference count of start/stop server
-    private static int          countServer   = 0 ;
-
-    // This will cause there to be one server over all tests.
-    // Must be after initialization of counters
-    // static { allocServer() ; }
-
-    static public void allocServer() {
-        allocServer(true) ;
-    }
-    
-    static public void allocServer(boolean updateable) {
-        if ( countServer == 0 )
-            setupServer(updateable) ;
-        countServer++ ;
-    }
-
-    static public void freeServer() {
-        if ( countServer >= 0 ) {
-            countServer-- ;
-            if ( countServer == 0 )
-                teardownServer() ;
-        }
-    }
-
-    protected static void setupServer(boolean updateable) {
-        FusekiEnv.FUSEKI_HOME = Paths.get(TS_Fuseki.FusekiTestHome).toAbsolutePath() ;
-        FileOps.ensureDir("target");
-        FileOps.ensureDir(TS_Fuseki.FusekiTestHome);
-        FileOps.ensureDir(TS_Fuseki.FusekiTestBase) ;
-        FusekiEnv.FUSEKI_BASE = Paths.get(TS_Fuseki.FusekiTestBase).toAbsolutePath() ;
-        setupServer(ServerTest.port, null, ServerTest.datasetPath, updateable) ;
-    }
-    
-    protected static void setupServer(int port, String authConfigFile, String datasetPath, boolean updateable) {
-        SystemState.location = Location.mem() ;
-        SystemState.init$() ;
-        
-        ServerInitialConfig params = new ServerInitialConfig() ;
-        DatasetGraph dsg = DatasetGraphFactory.create() ;
-        params.dsg = dsg ;
-        params.datasetPath = datasetPath ;
-        params.allowUpdate = updateable ;
-        
-        FusekiServerListener.initialSetup = params ;
-        
-        JettyServerConfig config = make(port, true, true) ;
-        config.authConfigFile = authConfigFile ;
-        JettyFuseki.initializeServer(config);
-        JettyFuseki.instance.start() ;
-        server = JettyFuseki.instance ;
-    }
-
-    public static JettyServerConfig make(int port, boolean allowUpdate, boolean listenLocal) {
-        JettyServerConfig config = new JettyServerConfig() ;
-        // Avoid any persistent record.
-        config.port = port ;
-        config.contextPath = "/" ;
-        config.loopback = listenLocal ;
-        config.jettyConfigFile = null ;
-        config.enableCompression = true ;
-        config.verboseLogging = false ;
-        return config ;
-    }
-
-    protected static void teardownServer() {
-        if ( server != null )
-            server.stop() ;
-        server = null ;
-        // Clear out the registry.
-        Collection<String> keys = Iter.toList(DataAccessPointRegistry.get().keys().iterator()) ;
-        for (String k : keys)
-            DataAccessPointRegistry.get().remove(k) ;
-        // Clear configuration directory.
-        FileOps.clearAll(FusekiServer.dirConfiguration.toFile()) ;
-    }
-
-    public static void resetServer() {
-        Update clearRequest = new UpdateDrop(Target.ALL) ;
-        UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, ServerTest.serviceUpdate) ;
-        proc.execute() ;
-    }
-    
-    // Imperfect probing for a port.
-    // There is a race condition on finding a free port and using it in the tests. 
-    private static int choosePort(int... ports) {
-        for (int port : ports) {
-            try {
-                ServerSocket s = new ServerSocket(port) ;
-                s.close();
-                return s.getLocalPort() ; // OK to call after close.
-            } catch (IOException ex) { }
-        }
-        throw new FusekiException("Failed to find a port in :"+Arrays.asList(ports)) ;
-    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
index 9424eb8..c5af249 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java
@@ -25,6 +25,7 @@ import org.apache.jena.fuseki.http.TestDatasetAccessorHTTP ;
 import org.apache.jena.fuseki.http.TestDatasetGraphAccessorHTTP ;
 import org.apache.jena.fuseki.http.TestHttpOp ;
 import org.apache.jena.fuseki.server.FusekiEnv ;
+import org.junit.AfterClass ;
 import org.junit.BeforeClass ;
 import org.junit.runner.RunWith ;
 import org.junit.runners.Suite ;
@@ -69,5 +70,12 @@ public class TS_Fuseki extends ServerTest
         LogCtl.setLevel(Fuseki.actionLogName,        "WARN");
         LogCtl.setLevel(Fuseki.requestLogName,       "WARN");
         LogCtl.setLevel(Fuseki.servletRequestLogName,"WARN");
+        
+        ServerCtl.ctlBeforeTestSuite();
+    }
+    
+    @AfterClass
+    static public void afterSuiteClass() {
+        ServerCtl.ctlAfterTestSuite() ;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java
index bc02309..f447960 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java
@@ -18,8 +18,6 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.datasetPath ;
-import static org.apache.jena.fuseki.ServerTest.urlRoot ;
 import static org.apache.jena.fuseki.mgt.MgtConst.opDatasets ;
 import static org.apache.jena.fuseki.mgt.MgtConst.opListBackups ;
 import static org.apache.jena.fuseki.mgt.MgtConst.opPing ;
@@ -60,17 +58,17 @@ public class TestAdmin extends AbstractFusekiTest {
     // --- Ping 
     
     @Test public void ping_1() {
-        execHttpGet(ServerTest.urlRoot+"$/"+opPing) ;
+        execHttpGet(ServerCtl.urlRoot()+"$/"+opPing) ;
     }
     
     @Test public void ping_2() {
-        execHttpPost(ServerTest.urlRoot+"$/"+opPing, null) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opPing, null) ;
     }
     
     // --- Server status 
     
     @Test public void server_1() {
-        JsonValue jv = httpGetJson(ServerTest.urlRoot+"$/"+opServer) ;
+        JsonValue jv = httpGetJson(ServerCtl.urlRoot()+"$/"+opServer) ;
         JsonObject obj = jv.getAsObject() ;
         // Now optional : assertTrue(obj.hasKey(JsonConst.admin)) ;
         assertTrue(obj.hasKey(JsonConst.datasets)) ;
@@ -79,17 +77,17 @@ public class TestAdmin extends AbstractFusekiTest {
     }
 
     @Test public void server_2() {
-        execHttpPost(ServerTest.urlRoot+"$/"+opServer, null) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opServer, null) ;
     }
     
     // --- List all datasets
     
     @Test public void list_datasets_1() {
-        try ( TypedInputStream in = execHttpGet(urlRoot+"$/"+opDatasets) ; ) { }
+        try ( TypedInputStream in = execHttpGet(ServerCtl.urlRoot()+"$/"+opDatasets) ; ) { }
     }
     
     @Test public void list_datasets_2() {
-        try ( TypedInputStream in = execHttpGet(urlRoot+"$/"+opDatasets) ) {
+        try ( TypedInputStream in = execHttpGet(ServerCtl.urlRoot()+"$/"+opDatasets) ) {
             assertEqualsIgnoreCase(WebContent.contentTypeJSON, in.getContentType()) ;
             JsonValue v = JSON.parseAny(in) ;
             assertNotNull(v.getAsObject().get("datasets")) ; 
@@ -99,7 +97,7 @@ public class TestAdmin extends AbstractFusekiTest {
     
     // Specific dataset
     @Test public void list_datasets_3() {
-        checkExists(datasetPath) ;
+        checkExists(ServerCtl.datasetPath()) ;
     }
     
     // Specific dataset
@@ -109,7 +107,7 @@ public class TestAdmin extends AbstractFusekiTest {
     
     // Specific dataset
     @Test public void list_datasets_5() {
-        JsonValue v = getDatasetDescription(datasetPath) ;
+        JsonValue v = getDatasetDescription(ServerCtl.datasetPath()) ;
         checkJsonDatasetsOne(v.getAsObject()) ;
     }
 
@@ -135,14 +133,14 @@ public class TestAdmin extends AbstractFusekiTest {
         { 
             org.apache.http.entity.ContentType ct = org.apache.http.entity.ContentType.parse(WebContent.contentTypeTurtle+"; charset="+WebContent.charsetUTF8) ;
             HttpEntity e = new FileEntity(f, ct) ;
-            execHttpPost(ServerTest.urlRoot+"$/"+opDatasets, e) ;
+            execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets, e) ;
         }
         // Check exists.
         checkExists(dsTest) ;
         try {
             org.apache.http.entity.ContentType ct = org.apache.http.entity.ContentType.parse(WebContent.contentTypeTurtle+"; charset="+WebContent.charsetUTF8) ;
             HttpEntity e = new FileEntity(f, ct) ;
-            execHttpPost(ServerTest.urlRoot+"$/"+opDatasets, e) ;
+            execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets, e) ;
         } catch (HttpException ex) {
             assertEquals(HttpSC.CONFLICT_409, ex.getResponseCode()) ;
         }
@@ -184,7 +182,7 @@ public class TestAdmin extends AbstractFusekiTest {
     
     @Test public void delete_dataset_1() {
         String name = "NoSuchDataset" ;
-        FusekiTest.exec404( ()-> execHttpDelete(ServerTest.urlRoot+"$/"+opDatasets+"/"+name) ) ;
+        FusekiTest.exec404( ()-> execHttpDelete(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+name) ) ;
     }
 
     // ---- Active/Offline.
@@ -194,11 +192,11 @@ public class TestAdmin extends AbstractFusekiTest {
         addTestDataset() ;
         checkExists(dsTest) ;
 
-        execHttpPost(ServerTest.urlRoot+"$/"+opDatasets+"/"+dsTest+"?state=offline", null) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+dsTest+"?state=offline", null) ;
 
         checkExistsNotActive(dsTest); 
         
-        execHttpPost(ServerTest.urlRoot+"$/"+opDatasets+"/"+dsTest+"?state=active", null) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+dsTest+"?state=active", null) ;
         
         checkExists(dsTest) ;
         deleteDataset(dsTest) ;
@@ -206,14 +204,14 @@ public class TestAdmin extends AbstractFusekiTest {
     
     @Test public void state_2() {
         addTestDataset() ;
-        execHttpPost(ServerTest.urlRoot+"$/"+opDatasets+"/"+dsTest+"?state=offline", null) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+dsTest+"?state=offline", null) ;
         deleteDataset(dsTest) ;
         checkNotThere(dsTest) ;
     }
 
     @Test public void state_3() {
         addTestDataset() ;
-        FusekiTest.exec404(()->execHttpPost(ServerTest.urlRoot+"$/"+opDatasets+"/DoesNotExist?state=offline", null)) ;
+        FusekiTest.exec404(()->execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets+"/DoesNotExist?state=offline", null)) ;
         deleteDataset(dsTest) ;
     }
     
@@ -224,13 +222,13 @@ public class TestAdmin extends AbstractFusekiTest {
     // ---- Stats
     
     @Test public void stats_1() {
-        JsonValue v = execGetJSON(urlRoot+"$/"+opStats) ;
+        JsonValue v = execGetJSON(ServerCtl.urlRoot()+"$/"+opStats) ;
         checkJsonStatsAll(v); 
     }
     
     @Test public void stats_2() {
         addTestDataset() ;
-        JsonValue v = execGetJSON(urlRoot+"$/"+opStats+datasetPath) ;
+        JsonValue v = execGetJSON(ServerCtl.urlRoot()+"$/"+opStats+ServerCtl.datasetPath()) ;
         checkJsonStatsAll(v); 
         deleteDataset(dsTest) ;
     }
@@ -238,7 +236,7 @@ public class TestAdmin extends AbstractFusekiTest {
     @Test public void stats_3() {
         addTestDataset() ;
         FusekiTest.exec404(()->{
-            JsonValue v = execGetJSON(urlRoot+"$/"+opStats+"/DoesNotExist") ;
+            JsonValue v = execGetJSON(ServerCtl.urlRoot()+"$/"+opStats+"/DoesNotExist") ;
         }) ;
         deleteDataset(dsTest) ;
     }
@@ -253,7 +251,7 @@ public class TestAdmin extends AbstractFusekiTest {
     
     @Test public void task_2() {
         String x = "NoSuchTask" ;
-        String url = urlRoot+"$/tasks/"+x ;
+        String url = ServerCtl.urlRoot()+"$/tasks/"+x ;
         FusekiTest.exec404(()->httpGetJson(url) ) ;
         try { 
             checkInTasks(x) ;
@@ -278,7 +276,7 @@ public class TestAdmin extends AbstractFusekiTest {
         String x = execSleepTask(null, 1) ;
         // Check exists in the list of all tasks (should be "finished")
         checkInTasks(x) ;
-        String url = urlRoot+"$/tasks/"+x ;
+        String url = ServerCtl.urlRoot()+"$/tasks/"+x ;
         
         boolean finished = false ; 
         for ( int i = 0 ; i < 10 ; i++ ) {
@@ -302,7 +300,7 @@ public class TestAdmin extends AbstractFusekiTest {
     }
 
     @Test public void list_backups_1() {
-        try ( TypedInputStream in = execHttpGet(urlRoot+"$/"+opListBackups) ) {
+        try ( TypedInputStream in = execHttpGet(ServerCtl.urlRoot()+"$/"+opListBackups) ) {
             assertEqualsIgnoreCase(WebContent.contentTypeJSON, in.getContentType()) ;
             JsonValue v = JSON.parseAny(in) ;
             assertNotNull(v.getAsObject().get("backups")) ; 
@@ -310,12 +308,12 @@ public class TestAdmin extends AbstractFusekiTest {
     }
 
     private JsonValue getTask(String taskId) {
-        String url = urlRoot+"$/tasks/"+taskId ;
+        String url = ServerCtl.urlRoot()+"$/tasks/"+taskId ;
         return httpGetJson(url) ;
     }
 
     private static JsonValue getDatasetDescription(String dsName) {
-        try (TypedInputStream in = execHttpGet(urlRoot + "$/" + opDatasets + "/" + dsName)) {
+        try (TypedInputStream in = execHttpGet(ServerCtl.urlRoot() + "$/" + opDatasets + "/" + dsName)) {
             assertEqualsIgnoreCase(WebContent.contentTypeJSON, in.getContentType());
             JsonValue v = JSON.parse(in);
             return v;
@@ -332,11 +330,11 @@ public class TestAdmin extends AbstractFusekiTest {
         File f = new File(filename) ;
         org.apache.http.entity.ContentType ct = org.apache.http.entity.ContentType.parse(WebContent.contentTypeTurtle+"; charset="+WebContent.charsetUTF8) ;
         HttpEntity e = new FileEntity(f, ct) ;
-        execHttpPost(ServerTest.urlRoot+"$/"+opDatasets, e) ;
+        execHttpPost(ServerCtl.urlRoot()+"$/"+opDatasets, e) ;
     }
 
     private static void deleteDataset(String name) {
-        execHttpDelete(ServerTest.urlRoot+"$/"+opDatasets+"/"+name) ;
+        execHttpDelete(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+name) ;
     }
 
     static class JsonResponseHandler implements HttpResponseHandler {
@@ -357,7 +355,7 @@ public class TestAdmin extends AbstractFusekiTest {
     }
     
     private String execSleepTask(String name, int millis) {
-        String url = urlRoot+"$/sleep" ;
+        String url = ServerCtl.urlRoot()+"$/sleep" ;
         if ( name != null ) {
             if ( name.startsWith("/") )
                 name = name.substring(1) ;
@@ -378,7 +376,7 @@ public class TestAdmin extends AbstractFusekiTest {
     }
     
     private void checkTask(String x) {
-        String url = urlRoot+"$/tasks/"+x ;
+        String url = ServerCtl.urlRoot()+"$/tasks/"+x ;
         JsonValue v = httpGetJson(url) ;
         checkTask(v) ;
     }    
@@ -399,7 +397,7 @@ public class TestAdmin extends AbstractFusekiTest {
     }
         
    private void checkInTasks(String x) {
-       String url = urlRoot+"$/tasks" ;
+       String url = ServerCtl.urlRoot()+"$/tasks" ;
        JsonValue v = httpGetJson(url) ;
        assertTrue(v.isArray()) ;
        JsonArray array = v.getAsArray() ; 
@@ -421,11 +419,11 @@ public class TestAdmin extends AbstractFusekiTest {
     private static void askPing(String name) {
         if ( name.startsWith("/") )
             name = name.substring(1) ;
-        try ( TypedInputStream in = execHttpGet(urlRoot+name+"/sparql?query=ASK%7B%7D") ) {}  
+        try ( TypedInputStream in = execHttpGet(ServerCtl.urlRoot()+name+"/sparql?query=ASK%7B%7D") ) {}  
     }
     
     private static void adminPing(String name) {
-        try ( TypedInputStream in = execHttpGet(urlRoot+"$/"+opDatasets+"/"+name) ) {} 
+        try ( TypedInputStream in = execHttpGet(ServerCtl.urlRoot()+"$/"+opDatasets+"/"+name) ) {} 
     }
 
     private static void checkExists(String name)  {

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java
index 1a4f517..a860291 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java
@@ -56,10 +56,9 @@ import org.junit.Test ;
  */
 public class TestAuth {
     
-
     // Use different port etc because sometimes the previous testing servers
     // don't release ports fast enough (OS issue / Linux)
-    public static final int authPort             = ServerTest.port+10 ;
+    public static final int authPort             = ServerCtl.port()+10 ;
     public static final String authUrlRoot       = "http://localhost:"+authPort+"/" ;
     public static final String authDatasetPath   = "/dataset" ;
     public static final String authServiceUpdate = "http://localhost:"+authPort+authDatasetPath+"/update" ; 
@@ -84,7 +83,7 @@ public class TestAuth {
         LogCtl.setLevel(Fuseki.actionLogName, "warn") ;
         LogCtl.setLevel("org.eclipse.jetty",  "warn") ;
 
-        ServerTest.setupServer(authPort, realmFile.getAbsolutePath(), authDatasetPath, true);
+        ServerCtl.setupServer(authPort, realmFile.getAbsolutePath(), authDatasetPath, true);
     }
 
     /**
@@ -92,7 +91,7 @@ public class TestAuth {
      */
     @AfterClass
     public static void teardown() {
-        ServerTest.teardownServer(); 
+        ServerCtl.teardownServer(); 
         realmFile.delete();
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java
index fac056b..6ee42d4 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java
@@ -18,9 +18,7 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.serviceQuery ;
-import static org.apache.jena.fuseki.ServerTest.serviceGSP ;
-import static org.apache.jena.fuseki.ServerTest.urlDataset ;
+import static org.apache.jena.fuseki.ServerCtl.* ; 
 import org.apache.http.HttpEntity ;
 import org.apache.http.entity.EntityTemplate ;
 import org.apache.jena.atlas.lib.StrUtils ;
@@ -61,19 +59,19 @@ public class TestDatasetOps extends AbstractFusekiTest
     }
     
     @Test public void gsp_x_01() {
-        gsp_x(urlDataset, urlDataset) ;
+        gsp_x(urlDataset(), urlDataset()) ;
     }
 
     @Test public void gsp_x_02() {
-        gsp_x(urlDataset, serviceGSP) ;
+        gsp_x(urlDataset(), serviceGSP()) ;
     }
 
     @Test public void gsp_x_03() {
-        gsp_x(serviceGSP, urlDataset) ;
+        gsp_x(serviceGSP(), urlDataset()) ;
     }
 
     @Test public void gsp_x_04() {
-        gsp_x(serviceGSP, urlDataset) ;
+        gsp_x(serviceGSP(), urlDataset()) ;
     }
 
     private void gsp_x(String outward, String inward) {
@@ -89,38 +87,38 @@ public class TestDatasetOps extends AbstractFusekiTest
     // Get dataset.  Tests conneg.
     @Test 
     public void gsp_x_10() {
-        gsp_x_ct(urlDataset, WebContent.contentTypeNQuads, WebContent.contentTypeNQuads) ;
+        gsp_x_ct(urlDataset(), WebContent.contentTypeNQuads, WebContent.contentTypeNQuads) ;
     }
 
     @Test 
     public void gsp_x_11() {
-        gsp_x_ct(urlDataset, WebContent.contentTypeNQuadsAlt1, WebContent.contentTypeNQuads) ;
+        gsp_x_ct(urlDataset(), WebContent.contentTypeNQuadsAlt1, WebContent.contentTypeNQuads) ;
     }
 
     @Test 
     public void gsp_x_12() {
-        gsp_x_ct(urlDataset, WebContent.contentTypeTriG, WebContent.contentTypeTriG) ;
+        gsp_x_ct(urlDataset(), WebContent.contentTypeTriG, WebContent.contentTypeTriG) ;
     }
 
     @Test 
     public void gsp_x_13() {
-        gsp_x_ct(urlDataset, WebContent.contentTypeTriGAlt1, WebContent.contentTypeTriG) ;
+        gsp_x_ct(urlDataset(), WebContent.contentTypeTriGAlt1, WebContent.contentTypeTriG) ;
     }
 
     @Test 
     public void gsp_x_14() {
-        gsp_x_ct(urlDataset, WebContent.defaultDatasetAcceptHeader, WebContent.contentTypeTriG) ;
+        gsp_x_ct(urlDataset(), WebContent.defaultDatasetAcceptHeader, WebContent.contentTypeTriG) ;
     }
 
     @Test 
     public void gsp_x_15() {
         // Anything!
-        gsp_x_ct(urlDataset, WebContent.defaultRDFAcceptHeader, WebContent.contentTypeTriG) ;
+        gsp_x_ct(urlDataset(), WebContent.defaultRDFAcceptHeader, WebContent.contentTypeTriG) ;
     }
     
-    private void gsp_x_ct(String urldataset, String acceptheader, String contentTypeResponse) {
+    private void gsp_x_ct(String urlDataset, String acceptheader, String contentTypeResponse) {
         HttpEntity e = datasetToHttpEntity(data) ;
-        HttpOp.execHttpPut(urlDataset, e);
+        HttpOp.execHttpPut(urlDataset(), e);
         TypedInputStream in = HttpOp.execHttpGet(urlDataset, acceptheader) ;
         assertEqualsIgnoreCase(contentTypeResponse, in.getContentType()) ;
         DatasetGraph dsg = DatasetGraphFactory.create() ;
@@ -133,7 +131,7 @@ public class TestDatasetOps extends AbstractFusekiTest
     {
         HttpEntity e = datasetToHttpEntity(data) ;
         try { 
-            HttpOp.execHttpPost(serviceQuery, e);
+            HttpOp.execHttpPost(serviceQuery(), e);
         } catch (HttpException ex) {
             assertTrue(HttpSC.isClientError(ex.getResponseCode())) ;
         }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java
index d351c7d..cfc0527 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java
@@ -18,7 +18,6 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.serviceGSP ;
 import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.http.TestDatasetAccessorHTTP ;
 import org.apache.jena.fuseki.http.TestHttpOp ;
@@ -42,12 +41,12 @@ public class TestFileUpload extends AbstractFusekiTest
 {
     @Test public void upload_gsp_01()
     {
-        FileSender x = new FileSender(serviceGSP+"?default") ;
+        FileSender x = new FileSender(ServerCtl.serviceGSP()+"?default") ;
         x.add("D.ttl", "<http://example/s> <http://example/p> <http://example/o> .", "text/turtle") ;
         x.send("POST") ;
         
         Model m = ModelFactory.createDefaultModel() ;
-        TypedInputStream in = HttpOp.execHttpGet(serviceGSP, "text/turtle") ;
+        TypedInputStream in = HttpOp.execHttpGet(ServerCtl.serviceGSP(), "text/turtle") ;
         RDFDataMgr.read(m, in, RDFLanguages.contentTypeToLang(in.getMediaType()) ) ;
         // which is is effectively :
 //        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceREST) ;
@@ -57,13 +56,13 @@ public class TestFileUpload extends AbstractFusekiTest
     
     @Test public void upload_gsp_02()
     {
-        FileSender x = new FileSender(ServerTest.serviceGSP+"?default") ;
+        FileSender x = new FileSender(ServerCtl.serviceGSP()+"?default") ;
         x.add("D.ttl", "<http://example/s> <http://example/p> 123 .", "text/turtle") ;
         x.add("D.nt", "<http://example/s> <http://example/p> <http://example/o-456> .", "application/n-triples") ;
         x.send("PUT") ;
         
         // BUG
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         Model m = du.getModel() ;
         assertEquals(2, m.size()) ;
     }
@@ -71,12 +70,12 @@ public class TestFileUpload extends AbstractFusekiTest
     // Extension of GSP - no graph selector => dataset
     @Test public void upload_gsp_03()
     {
-        FileSender x = new FileSender(ServerTest.serviceGSP) ;
+        FileSender x = new FileSender(ServerCtl.serviceGSP()) ;
         x.add("D.ttl", "<http://example/s> <http://example/p> <http://example/o> .", "text/turtle") ;
         x.add("D.trig", "<http://example/g> { <http://example/s> <http://example/p> <http://example/o> }", "text/trig") ;
         x.send("POST") ;
         
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         Model m = du.getModel() ;
         assertEquals(1, m.size()) ;
     }
@@ -84,16 +83,16 @@ public class TestFileUpload extends AbstractFusekiTest
     @Test public void upload_gsp_04()
     {
         {
-            DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+            DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
             Model m = du.getModel() ;
             assertEquals(0, m.size()) ;
         }
-        FileSender x = new FileSender(ServerTest.urlDataset) ;
+        FileSender x = new FileSender(ServerCtl.urlDataset()) ;
         x.add("D.ttl", "<http://example/s> <http://example/p> <http://example/o> .", "text/plain") ;
         x.add("D.trig", "<http://example/g> { <http://example/s> <http://example/p> 123,456 }", "text/plain") ;
         x.send("POST") ;
         
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         Model m = du.getModel() ;
         assertEquals(1, m.size()) ;
         m = du.getModel("http://example/g") ;
@@ -103,21 +102,21 @@ public class TestFileUpload extends AbstractFusekiTest
     // Via DatasetAccessor
     
     @Test public void dataset_accessor_01() {
-        FileSender x = new FileSender(ServerTest.urlDataset) ;
+        FileSender x = new FileSender(ServerCtl.urlDataset()) ;
         x.add("D.nq", "", "application/-n-quads") ;
         x.send("PUT") ;
         
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         Model m = du.getModel() ;
         assertEquals(0, m.size()) ;
     }
     
     @Test public void dataset_accessor_02() {
-        FileSender x = new FileSender(ServerTest.urlDataset) ;
+        FileSender x = new FileSender(ServerCtl.urlDataset()) ;
         x.add("D.nq", "<http://example/s> <http://example/p> <http://example/o-456> <http://example/g> .", "application/n-quads") ;
         x.send("PUT") ;
         
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP()) ;
         Model m = du.getModel("http://example/g") ;
         assertEquals(1, m.size()) ;
         m = du.getModel() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java
index 2f5b751..71011a0 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java
@@ -18,8 +18,8 @@
 
 package org.apache.jena.fuseki ;
 
-import static org.apache.jena.fuseki.ServerTest.* ;
-import static org.apache.jena.fuseki.ServerTest.serviceUpdate ;
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
 
 import org.apache.jena.atlas.web.HttpException ;
 import org.apache.jena.atlas.web.TypedInputStream ;
@@ -38,7 +38,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     @Test 
     public void query_by_get_1() {
         String qs = Convert.encWWWForm("ASK{}") ;
-        String u = serviceQuery+"?query=" + qs ;
+        String u = serviceQuery()+"?query=" + qs ;
         try (TypedInputStream in = HttpOp.execHttpGet(u)) {
             Assert.assertNotNull(in);
         }
@@ -46,8 +46,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     
     @Test 
     public void query_by_post_1() {
-        String u = serviceQuery ;
-        try (TypedInputStream in = HttpOp.execHttpPostStream(u, WebContent.contentTypeSPARQLQuery, "ASK{}", "*")) {
+        try (TypedInputStream in = HttpOp.execHttpPostStream(serviceQuery(), WebContent.contentTypeSPARQLQuery, "ASK{}", "*")) {
             Assert.assertNotNull(in);
         }
     }
@@ -55,7 +54,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     @Test 
     public void query_by_post_2() {
         String qs = Convert.encWWWForm("ASK{}") ;
-        String u = serviceQuery+"?query=" + qs ;
+        String u = serviceQuery()+"?query=" + qs ;
         try (TypedInputStream in = HttpOp.execHttpPostStream(u, null, null)) {
             Assert.assertNotNull(in);
         }
@@ -63,26 +62,23 @@ public class TestHttpOperations extends AbstractFusekiTest {
 
     @Test 
     public void query_by_form_1() {
-        String u = serviceQuery ;
         Params params = new Params().addParam("query", "ASK{}") ;
-        try (TypedInputStream in = HttpOp.execHttpPostFormStream(u, params, "*") ) { 
+        try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceQuery(), params, "*") ) { 
             Assert.assertNotNull(in);
         }
     }
 
     @Test(expected=HttpException.class) 
     public void query_by_form_2() {
-        String u = serviceQuery ;
         Params params = new Params().addParam("foobar", "ASK{}") ;    // Wrong.
-        try (TypedInputStream in = HttpOp.execHttpPostFormStream(u, params, "*") ) { 
+        try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceQuery(), params, "*") ) { 
             Assert.assertNotNull(in);
         }
     }
 
     @Test 
     public void update_by_post_1() {
-        String u = serviceUpdate ;
-        HttpOp.execHttpPost(u, WebContent.contentTypeSPARQLUpdate, "INSERT DATA{}") ;
+        HttpOp.execHttpPost(serviceUpdate(), WebContent.contentTypeSPARQLUpdate, "INSERT DATA{}") ;
     }
 
     // POST ?request= :: Not supported.
@@ -97,18 +93,16 @@ public class TestHttpOperations extends AbstractFusekiTest {
 
     @Test
     public void update_by_form_1() {
-        String u = serviceUpdate ;
         Params params = new Params().addParam("update", "INSERT DATA{}") ;
-        try (TypedInputStream in = HttpOp.execHttpPostFormStream(u, params, "*") ) { 
+        try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceUpdate(), params, "*") ) { 
             Assert.assertNotNull(in);
         }
     }
     
     @Test(expected=HttpException.class)
     public void update_by_form_2() {
-        String u = serviceUpdate ;
         Params params = new Params().addParam("query", "INSERT DATA{}") ;  // Wrong paramater
-        try (TypedInputStream in = HttpOp.execHttpPostFormStream(u, params, "*") ) { 
+        try (TypedInputStream in = HttpOp.execHttpPostFormStream(serviceUpdate(), params, "*") ) { 
             Assert.assertNotNull(in);
         }
     }
@@ -117,7 +111,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     
     @Test 
     public void ds_query_by_get_1() {
-        String u = urlDataset ;
+        String u = ServerCtl.urlDataset() ;
         try (TypedInputStream in = HttpOp.execHttpGet(u)) {
             Assert.assertNotNull(in);
         }
@@ -125,7 +119,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
 
     @Test 
     public void ds_query_by_post_1() {
-        String u = urlDataset ;
+        String u = ServerCtl.urlDataset() ;
         try (TypedInputStream in = HttpOp.execHttpPostStream(u, WebContent.contentTypeSPARQLQuery, "ASK{}", "*")) {
             Assert.assertNotNull(in);
         }
@@ -133,7 +127,7 @@ public class TestHttpOperations extends AbstractFusekiTest {
     
     @Test 
     public void ds_update_by_post_1() {
-        String u = urlDataset ;
+        String u = ServerCtl.urlDataset() ;
         HttpOp.execHttpPost(u, WebContent.contentTypeSPARQLUpdate, "INSERT DATA{}") ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOptions.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOptions.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOptions.java
index 8f26d1a..7c6d4cd 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOptions.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOptions.java
@@ -18,30 +18,25 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.serviceGSP ;
-import static org.apache.jena.fuseki.ServerTest.serviceQuery ;
-import static org.apache.jena.fuseki.ServerTest.serviceUpdate ;
-import static org.apache.jena.fuseki.ServerTest.urlDataset ;
-
 import org.junit.Test ;
 
 public class TestHttpOptions extends AbstractFusekiTest
 {
     @Test
     public void options_query() {
-        String v = FusekiTest.execOptions(serviceQuery) ;
+        String v = FusekiTest.execOptions(ServerCtl.serviceQuery()) ;
         FusekiTest.assertStringList(v, "GET", "OPTIONS", "POST") ;
     }
     
     @Test
     public void options_update() {
-        String v = FusekiTest.execOptions(serviceUpdate) ;
+        String v = FusekiTest.execOptions(ServerCtl.serviceUpdate()) ;
         FusekiTest.assertStringList(v, "OPTIONS", "POST") ;
     }
     
     @Test
     public void options_dataset_01() {
-        String v = FusekiTest.execOptions(urlDataset) ;
+        String v = FusekiTest.execOptions(ServerCtl.urlDataset()) ;
         // Not DELETE
         FusekiTest.assertStringList(v, "HEAD", "GET", "OPTIONS", "POST", "PUT") ;
     }
@@ -53,7 +48,7 @@ public class TestHttpOptions extends AbstractFusekiTest
     
     @Test
     public void options_gsp_rw() {
-        String v = FusekiTest.execOptions(serviceGSP+"?default") ;
+        String v = FusekiTest.execOptions(ServerCtl.serviceGSP()+"?default") ;
         FusekiTest.assertStringList(v, "GET", "OPTIONS", "HEAD", "POST", "PUT", "DELETE") ;
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java
index 213ea38..5651b77 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java
@@ -18,19 +18,17 @@
 
 package org.apache.jena.fuseki ;
 
-import static org.apache.jena.fuseki.ServerTest.gn1 ;
-import static org.apache.jena.fuseki.ServerTest.gn2 ;
+import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerTest.* ;
 import static org.apache.jena.fuseki.ServerTest.model1 ;
 import static org.apache.jena.fuseki.ServerTest.model2 ;
-import static org.apache.jena.fuseki.ServerTest.serviceQuery ;
-import static org.apache.jena.fuseki.ServerTest.serviceGSP ;
 
 import java.io.IOException ;
 import java.net.HttpURLConnection ;
 import java.net.URL ;
 import java.util.Iterator ;
 
-import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.atlas.web.AcceptList ;
 import org.apache.jena.atlas.web.MediaType;
 import org.apache.jena.graph.Node ;
@@ -42,37 +40,24 @@ import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.engine.http.QueryEngineHTTP ;
 import org.apache.jena.sparql.resultset.ResultSetCompare ;
-import org.apache.jena.sparql.sse.Item ;
 import org.apache.jena.sparql.sse.SSE ;
-import org.apache.jena.sparql.sse.builders.BuilderResultSet ;
 import org.apache.jena.sparql.util.Convert ;
-import org.junit.AfterClass ;
 import org.junit.Assert ;
-import org.junit.BeforeClass ;
+import org.junit.Before ;
 import org.junit.Test ;
 
-public class TestQuery extends BaseTest {
-    protected static ResultSet rs1 = null ;
-    static {
-        Item item = SSE.parseItem("(resultset (?s ?p ?o) (row (?s <x>)(?p <p>)(?o 1)))") ;
-        rs1 = BuilderResultSet.build(item) ;
-    }
-
-    @BeforeClass
-    public static void beforeClass() {
-        ServerTest.allocServer() ;
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+public class TestQuery extends AbstractFusekiTest {
+    
+    @Before
+    public void before() {
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         du.putModel(model1) ;
         du.putModel(gn1, model2) ;
     }
-
-    @AfterClass
-    public static void afterClass() {
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
-        du.deleteDefault() ;
-        ServerTest.freeServer() ;
-    }
-
+    
+    private static final AcceptList quadsOfferTest = DEF.quadsOffer ;
+    private static final AcceptList rdfOfferTest   = DEF.rdfOffer ;    
+    
     @Test
     public void query_01() {
         execQuery("SELECT * {?s ?p ?o}", 1) ;
@@ -80,8 +65,8 @@ public class TestQuery extends BaseTest {
 
     @Test
     public void query_recursive_01() {
-        String query = "SELECT * WHERE { SERVICE <" + serviceQuery + "> { ?s ?p ?o . BIND(?o AS ?x) } }" ;
-        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query)) {
+        String query = "SELECT * WHERE { SERVICE <" + serviceQuery() + "> { ?s ?p ?o . BIND(?o AS ?x) } }" ;
+        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query)) {
             ResultSet rs = qExec.execSelect() ;
             Var x = Var.alloc("x") ;
             while (rs.hasNext()) {
@@ -94,7 +79,7 @@ public class TestQuery extends BaseTest {
     @Test
     public void query_with_params_01() {
         String query = "ASK { }" ;
-        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery + "?output=json", query)) {
+        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery() + "?output=json", query)) {
             boolean result = qExec.execAsk() ;
             Assert.assertTrue(result) ;
         }
@@ -103,19 +88,19 @@ public class TestQuery extends BaseTest {
     @Test
     public void request_id_header_01() throws IOException {
         String qs = Convert.encWWWForm("ASK{}") ;
-        URL u = new URL(serviceQuery + "?query=" + qs) ;
+        URL u = new URL(serviceQuery() + "?query=" + qs) ;
         HttpURLConnection conn = (HttpURLConnection)u.openConnection() ;
         Assert.assertTrue(conn.getHeaderField("Fuseki-Request-ID") != null) ;
     }
 
     @Test
     public void query_dynamic_dataset_01() {
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         du.putModel(model1);
         du.putModel(gn1, model2);
         {
             String query = "SELECT * { ?s ?p ?o }" ;
-            try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery + "?output=json", query)) {
+            try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery() + "?output=json", query)) {
                 ResultSet rs = qExec.execSelect() ;
                 Node o = rs.next().getLiteral("o").asNode() ;
                 Node n = SSE.parseNode("1") ;
@@ -124,7 +109,7 @@ public class TestQuery extends BaseTest {
         }
         {
             String query = "SELECT * FROM <" + gn1 + "> { ?s ?p ?o }" ;
-            try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery + "?output=json", query)) {
+            try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery() + "?output=json", query)) {
                 ResultSet rs = qExec.execSelect() ;
                 Node o = rs.next().getLiteral("o").asNode() ;
                 Node n = SSE.parseNode("2") ;
@@ -135,12 +120,12 @@ public class TestQuery extends BaseTest {
 
     @Test
     public void query_dynamic_dataset_02() {
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         du.putModel(model1);
         du.putModel(gn1, model1);
         du.putModel(gn2, model2);
         String query = "SELECT * FROM <"+gn1+"> FROM <"+gn2+"> { ?s ?p ?o }" ;
-        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery + "?output=json", query)) {
+        try (QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery() + "?output=json", query)) {
             ResultSet rs = qExec.execSelect() ;
             int n = ResultSetFormatter.consume(rs) ;
             assertEquals(2, n) ;
@@ -153,7 +138,7 @@ public class TestQuery extends BaseTest {
         String queryString = " CONSTRUCT { GRAPH <http://eg/g> {?s ?p ?oq} } WHERE {?s ?p ?oq}" ;
         Query query = QueryFactory.create(queryString, Syntax.syntaxARQ);
 
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Iterator<Quad> result = qExec.execConstructQuads();
             Assert.assertTrue(result.hasNext());
             Assert.assertEquals( "http://eg/g", result.next().getGraph().getURI());
@@ -167,7 +152,7 @@ public class TestQuery extends BaseTest {
         String queryString = " CONSTRUCT { GRAPH <http://eg/g> {?s ?p ?oq} } WHERE {?s ?p ?oq}" ;
         Query query = QueryFactory.create(queryString, Syntax.syntaxARQ);
 
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Dataset result = qExec.execConstructDataset();
             Assert.assertTrue(result.asDatasetGraph().find().hasNext());
             Assert.assertEquals( "http://eg/g", result.asDatasetGraph().find().next().getGraph().getURI());
@@ -178,7 +163,7 @@ public class TestQuery extends BaseTest {
     public void query_construct_01()
     {
         String query = " CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o}" ;
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Iterator<Triple> result = qExec.execConstructTriples();
             Assert.assertTrue(result.hasNext());
         }
@@ -188,7 +173,7 @@ public class TestQuery extends BaseTest {
     public void query_construct_02()
     {
         String query = " CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o}" ;
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Model result = qExec.execConstruct();
             assertEquals(1, result.size());
         }
@@ -197,7 +182,7 @@ public class TestQuery extends BaseTest {
     @Test
     public void query_describe_01() {
         String query = "DESCRIBE ?s WHERE {?s ?p ?o}" ;
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Model result = qExec.execDescribe();
             assertFalse(result.isEmpty()) ;
         }
@@ -206,21 +191,27 @@ public class TestQuery extends BaseTest {
     @Test
     public void query_describe_02() {
         String query = "DESCRIBE <http://example/somethingelse> WHERE { }" ;
-        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
             Model result = qExec.execDescribe();
             assertTrue(result.isEmpty()) ;
         }
     }
 
-    private static final AcceptList rdfOfferTest = DEF.rdfOffer ;
-    private static final AcceptList quadsOfferTest = DEF.quadsOffer ;
-
+    // Conneg tests:
+    // These avoid pooling connection pooling.
+    // It leads to lock up if the list is long (contentTypeTriXxml seems signiifcant)
+    // Hence: ServerCtl.setHttpClient(null) ;
+    
+    
     @Test
     public void query_construct_conneg() {
+        ServerCtl.setHttpClient(null) ;
+        
         String query = " CONSTRUCT {?s ?p ?o} WHERE {?s ?p ?o}" ;
         for (MediaType type: rdfOfferTest.entries()){
+            
             String contentType = type.toHeaderString();
-            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
                 qExec.setModelContentType( contentType );
                 Iterator<Triple> iter = qExec.execConstructTriples();
                 assertTrue(iter.hasNext()) ;
@@ -232,11 +223,13 @@ public class TestQuery extends BaseTest {
 
     @Test
     public void query_construct_quad_conneg() {
+        ServerCtl.setHttpClient(null) ;
+
         String queryString = " CONSTRUCT { GRAPH ?g {?s ?p ?o} } WHERE { GRAPH ?g {?s ?p ?o}}" ;
         Query query = QueryFactory.create(queryString, Syntax.syntaxARQ);
         for (MediaType type: quadsOfferTest.entries()){
             String contentType = type.toHeaderString();
-            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
                 qExec.setDatasetContentType( contentType );
                 Iterator<Quad> iter = qExec.execConstructQuads();
                 assertTrue(iter.hasNext()) ;
@@ -248,10 +241,12 @@ public class TestQuery extends BaseTest {
 
     @Test
     public void query_describe_conneg() {
+        ServerCtl.setHttpClient(null) ;
+
         String query = "DESCRIBE ?s WHERE {?s ?p ?o}" ;
         for (MediaType type: rdfOfferTest.entries()){
             String contentType = type.toHeaderString();
-            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery, query) ) {
+            try ( QueryEngineHTTP qExec = (QueryEngineHTTP) QueryExecutionFactory.sparqlService(serviceQuery(), query) ) {
                 qExec.setModelContentType( contentType );
                 Model m = qExec.execDescribe() ;
                 String x = qExec.getHttpResponseContentType() ;
@@ -261,18 +256,19 @@ public class TestQuery extends BaseTest {
         }
     }
 
-
     private void execQuery(String queryString, int exceptedRowCount) {
-        QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, queryString) ;
-        ResultSet rs = qExec.execSelect() ;
-        int x = ResultSetFormatter.consume(rs) ;
-        assertEquals(exceptedRowCount, x) ;
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), queryString) ) {
+            ResultSet rs = qExec.execSelect() ;
+            int x = ResultSetFormatter.consume(rs) ;
+            assertEquals(exceptedRowCount, x) ;
+        }
     }
 
     private void execQuery(String queryString, ResultSet expectedResultSet) {
-        QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery, queryString) ;
-        ResultSet rs = qExec.execSelect() ;
-        boolean b = ResultSetCompare.equalsByTerm(rs, expectedResultSet) ;
-        assertTrue("Result sets different", b) ;
+        try ( QueryExecution qExec = QueryExecutionFactory.sparqlService(serviceQuery(), queryString) ) {
+            ResultSet rs = qExec.execSelect() ;
+            boolean b = ResultSetCompare.equalsByTerm(rs, expectedResultSet) ;
+            assertTrue("Result sets different", b) ;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
index 32bc663..a5a5be3 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestSPARQLProtocol.java
@@ -18,8 +18,12 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.*;
-import org.apache.jena.atlas.junit.BaseTest;
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
+import static org.apache.jena.fuseki.ServerTest.gn1 ;
+import static org.apache.jena.fuseki.ServerTest.model1 ;
+import static org.apache.jena.fuseki.ServerTest.model2 ;
+
 import org.apache.jena.query.*;
 import org.apache.jena.riot.WebContent;
 import org.apache.jena.sparql.engine.http.QueryEngineHTTP;
@@ -28,27 +32,19 @@ import org.apache.jena.update.UpdateExecutionFactory;
 import org.apache.jena.update.UpdateFactory;
 import org.apache.jena.update.UpdateProcessor;
 import org.apache.jena.update.UpdateRequest;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.Before ;
 import org.junit.Test;
 
-public class TestSPARQLProtocol extends BaseTest
+public class TestSPARQLProtocol extends AbstractFusekiTest
 {
-    @BeforeClass
-    public static void beforeClass() {
-        ServerTest.allocServer();
+    @Before
+    public void before() {
         // Load some data.
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP);
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(ServerCtl.serviceGSP());
         du.putModel(model1);
         du.putModel(gn1, model2);
     }
 
-    @AfterClass
-    public static void afterClass() {
-        ServerTest.resetServer();
-        ServerTest.freeServer();
-    }
-
     static String query(String base, String queryString) {
         return base + "?query=" + Convert.encWWWForm(queryString);
     }
@@ -56,7 +52,7 @@ public class TestSPARQLProtocol extends BaseTest
     @Test
     public void query_01() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }");
-        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery, query);
+        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery(), query);
         ResultSet rs = qexec.execSelect();
         int x = ResultSetFormatter.consume(rs);
         assertTrue(x != 0);
@@ -65,7 +61,7 @@ public class TestSPARQLProtocol extends BaseTest
     @Test
     public void query_02() {
         Query query = QueryFactory.create("SELECT * { ?s ?p ?o }");
-        QueryEngineHTTP engine = QueryExecutionFactory.createServiceRequest(serviceQuery, query);
+        QueryEngineHTTP engine = QueryExecutionFactory.createServiceRequest(serviceQuery(), query);
         engine.setSelectContentType(WebContent.contentTypeResultsJSON);
         ResultSet rs = engine.execSelect();
         int x = ResultSetFormatter.consume(rs);
@@ -75,14 +71,14 @@ public class TestSPARQLProtocol extends BaseTest
     @Test
     public void update_01() {
         UpdateRequest update = UpdateFactory.create("INSERT DATA {}");
-        UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate);
+        UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate());
         proc.execute();
     }
 
     @Test
     public void update_02() {
         UpdateRequest update = UpdateFactory.create("INSERT DATA {}");
-        UpdateProcessor proc = UpdateExecutionFactory.createRemoteForm(update, serviceUpdate);
+        UpdateProcessor proc = UpdateExecutionFactory.createRemoteForm(update, serviceUpdate());
         proc.execute();
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestServerReadOnly.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestServerReadOnly.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestServerReadOnly.java
index 8e3f98a..225279f 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestServerReadOnly.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestServerReadOnly.java
@@ -18,15 +18,13 @@
 
 package org.apache.jena.fuseki;
 
-import static org.apache.jena.fuseki.ServerTest.serviceGSP ;
-import static org.apache.jena.fuseki.ServerTest.serviceQuery ;
-import static org.apache.jena.fuseki.ServerTest.serviceUpdate ;
+import static org.apache.jena.fuseki.ServerCtl.serviceQuery ;
+import static org.apache.jena.fuseki.ServerCtl.serviceUpdate ;
 
 import java.nio.charset.StandardCharsets ;
 
 import org.apache.http.HttpEntity ;
 import org.apache.http.entity.StringEntity ;
-import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.query.Query ;
 import org.apache.jena.query.QueryExecution ;
 import org.apache.jena.query.QueryExecutionFactory ;
@@ -42,23 +40,25 @@ import org.junit.BeforeClass ;
 import org.junit.Test ;
 
 /** Tests on a read only server. */
-public class TestServerReadOnly extends BaseTest
+public class TestServerReadOnly
 {
     // readonly server.
     @BeforeClass
     public static void allocServerForSuite() {
-        ServerTest.allocServer(false) ;
+        ServerCtl.freeServer();
+        //Manage ourselves.
+        ServerCtl.setupServer(false) ;
     }
 
     @AfterClass
     public static void freeServerForSuite() {
-        ServerTest.freeServer() ;
+        ServerCtl.freeServer() ;
     }
     
     @Test
     public void query_readonly() {
         Query query = QueryFactory.create("ASK{}");
-        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery, query);
+        QueryExecution qexec = QueryExecutionFactory.sparqlService(serviceQuery(), query);
         qexec.execAsk() ;
     }
     
@@ -66,7 +66,7 @@ public class TestServerReadOnly extends BaseTest
     public void update_readonly() {
         FusekiTest.exec404( () -> {
             UpdateRequest update = UpdateFactory.create("INSERT DATA {}");
-            UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate);
+            UpdateProcessor proc = UpdateExecutionFactory.createRemote(update, serviceUpdate());
             proc.execute();
         });
     }
@@ -77,7 +77,7 @@ public class TestServerReadOnly extends BaseTest
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
             HttpEntity e = new StringEntity("", StandardCharsets.UTF_8) ;
-            HttpOp.execHttpPost(serviceGSP+"?default", e);
+            HttpOp.execHttpPost(ServerCtl.serviceGSP()+"?default", e);
         }) ;
     }
     
@@ -86,7 +86,7 @@ public class TestServerReadOnly extends BaseTest
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
             HttpEntity e = new StringEntity("", StandardCharsets.UTF_8) ;
-            HttpOp.execHttpPut(serviceGSP+"?default", e);
+            HttpOp.execHttpPut(ServerCtl.serviceGSP()+"?default", e);
         }) ;
     }
 
@@ -94,7 +94,7 @@ public class TestServerReadOnly extends BaseTest
     public void gsp_w_readonly_DELETE() {
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
-            HttpOp.execHttpDelete(serviceGSP+"?default");
+            HttpOp.execHttpDelete(ServerCtl.serviceGSP()+"?default");
         }) ;
     }
     
@@ -103,7 +103,7 @@ public class TestServerReadOnly extends BaseTest
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
             HttpEntity e = new StringEntity("", StandardCharsets.UTF_8) ;
-            HttpOp.execHttpPost(ServerTest.urlDataset, e) ;
+            HttpOp.execHttpPost(ServerCtl.urlDataset(), e) ;
         }) ;
     }
 
@@ -112,7 +112,7 @@ public class TestServerReadOnly extends BaseTest
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
             HttpEntity e = new StringEntity("", StandardCharsets.UTF_8) ;
-            HttpOp.execHttpPut(ServerTest.urlDataset, e) ;
+            HttpOp.execHttpPut(ServerCtl.urlDataset(), e) ;
         }) ;
     }
 
@@ -120,13 +120,13 @@ public class TestServerReadOnly extends BaseTest
     public void dataset_w_readonly_DELETE() {
         // Try to write
         FusekiTest.execWithHttpException(HttpSC.METHOD_NOT_ALLOWED_405, ()->{
-            HttpOp.execHttpDelete(ServerTest.urlDataset) ;
+            HttpOp.execHttpDelete(ServerCtl.urlDataset()) ;
         }) ;
     }
 
     @Test
     public void options_gsp_readonly() {
-        String v = FusekiTest.execOptions(serviceGSP+"?default") ;
+        String v = FusekiTest.execOptions(ServerCtl.serviceGSP()+"?default") ;
         FusekiTest.assertStringList(v, "GET", "OPTIONS", "HEAD") ;
     }
 


[7/9] jena git commit: JENA-1247: Create debug string safely.

Posted by an...@apache.org.
JENA-1247: Create debug string safely.

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

Branch: refs/heads/master
Commit: ddcd45c8e9285c08aadee2da006e1c3fe050b315
Parents: be13685
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 18 09:51:19 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 18 09:51:19 2016 +0100

----------------------------------------------------------------------
 .../ReorderTransformationSubstitution.java      | 23 +++++++++++---------
 1 file changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/ddcd45c8/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
index d4caa80..1f74c9c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/optimizer/reorder/ReorderTransformationSubstitution.java
@@ -42,7 +42,9 @@ import org.slf4j.LoggerFactory ;
 public abstract class ReorderTransformationSubstitution implements ReorderTransformation
 {
     static public final Logger log = LoggerFactory.getLogger(ReorderTransformationSubstitution.class) ;
-    private final boolean DEBUG = log.isDebugEnabled() ;  
+    static private final boolean DEBUG = false ;  
+    
+    public ReorderTransformationSubstitution() {}
     
     @Override
     public BasicPattern reorder(BasicPattern pattern)
@@ -75,6 +77,15 @@ public abstract class ReorderTransformationSubstitution implements ReorderTransf
         return components ;
     }
 
+    private AccString<PatternTriple> formatter() { 
+        return new AccString<PatternTriple>() { 
+            @Override
+            protected String toString(PatternTriple pt) {
+                return "(" + printAbbrev(pt.toString()) + ")" ;
+            }
+        } ;
+    }
+    
     protected ReorderProc reorder(List<Triple> triples, List<PatternTriple> components)
     {
         int N = components.size() ;
@@ -82,7 +93,7 @@ public abstract class ReorderTransformationSubstitution implements ReorderTransf
         int indexes[] = new int[N] ;
 
         if ( DEBUG )
-            log.debug("Reorder: "+Iter.asString(components, formatter)) ;
+            log.debug("Reorder: "+Iter.asString(components, formatter())) ;
         
         int idx = 0 ;
         for ( ; idx < numReorder ; idx++ )
@@ -289,12 +300,4 @@ public abstract class ReorderTransformationSubstitution implements ReorderTransf
         if ( var.equals(elt.object.getNode()) )
             elt.object = Item.createNode(value) ;
     }
-    
-    private AccString<PatternTriple> formatter = 
-        new AccString<PatternTriple>() { 
-            @Override
-            protected String toString(PatternTriple pt) {
-                return "(" + printAbbrev(pt.toString()) + ")" ;
-        }
-    } ;
 }


[4/9] jena git commit: Port ServerCtl to Fuseki2. Make naming and use consistent

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
index 457ab96..77d019e 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java
@@ -18,41 +18,42 @@
 
 package org.apache.jena.fuseki.http;
 
-import static org.apache.jena.fuseki.ServerTest.* ;
-import org.apache.jena.atlas.junit.BaseTest ;
+import static org.apache.jena.fuseki.ServerCtl.datasetPath ;
+import static org.apache.jena.fuseki.ServerCtl.port ;
+import static org.apache.jena.fuseki.ServerCtl.serviceGSP ;
+import static org.apache.jena.fuseki.ServerCtl.urlDataset ;
+import static org.apache.jena.fuseki.ServerTest.gn1 ;
+import static org.apache.jena.fuseki.ServerTest.gn2 ;
+import static org.apache.jena.fuseki.ServerTest.gn99 ;
+import static org.apache.jena.fuseki.ServerTest.model1 ;
+import static org.apache.jena.fuseki.ServerTest.model2 ;
+
 import org.apache.jena.atlas.web.HttpException ;
+import org.apache.jena.fuseki.AbstractFusekiTest ;
 import org.apache.jena.fuseki.FusekiTest ;
-import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.query.DatasetAccessor ;
 import org.apache.jena.query.DatasetAccessorFactory ;
 import org.apache.jena.rdf.model.Model ;
 import org.apache.jena.rdf.model.ModelFactory ;
 import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.web.HttpSC ;
-import org.junit.AfterClass ;
-import org.junit.Before ;
-import org.junit.BeforeClass ;
 import org.junit.Test ;
 
 
-public class TestDatasetAccessorHTTP extends BaseTest 
+public class TestDatasetAccessorHTTP extends AbstractFusekiTest 
 {
     //Model level testing.
     
-    static final String datasetURI_not_1    = "http://localhost:"+port+"/junk" ;
-    static final String datasetURI_not_2    = serviceGSP+"/not" ;
-    static final String datasetURI_not_3    = "http://localhost:"+port+datasetPath+"/not/data" ;
-    
-    @BeforeClass public static void beforeClass()   { ServerTest.allocServer() ; }
-    @AfterClass public static void afterClass()     { ServerTest.freeServer() ; }
-    @Before public void before()                    { ServerTest.resetServer() ; }
+    static final String datasetURI_not_1    = "http://localhost:"+port()+"/junk" ;
+    static final String datasetURI_not_2    = serviceGSP()+"/not" ;
+    static final String datasetURI_not_3    = "http://localhost:"+port()+datasetPath()+"/not/data" ;
     
     @Test
     public void test_ds_1()
     {
         // Can GET the dataset service.
         try {
-            HttpOp.execHttpGet(serviceGSP) ;
+            HttpOp.execHttpGet(serviceGSP()) ;
         } catch (HttpException ex) {
             assertTrue(HttpSC.isClientError(ex.getResponseCode())) ;
             throw ex ;
@@ -92,7 +93,7 @@ public class TestDatasetAccessorHTTP extends BaseTest
     public void test_404_3()
     {
         // Right service, wrong graph
-        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP) ;
+        DatasetAccessor du = DatasetAccessorFactory.createHTTP(serviceGSP()) ;
         Model graph = du.getModel(gn99) ;
         assertNull(graph) ;
     }
@@ -308,12 +309,12 @@ public class TestDatasetAccessorHTTP extends BaseTest
 
     static DatasetAccessor connectToService()
     {
-        return DatasetAccessorFactory.createHTTP(ServerTest.serviceGSP) ;
+        return DatasetAccessorFactory.createHTTP(serviceGSP()) ;
     }
     
     static DatasetAccessor connectToDataset()
     {
-        return DatasetAccessorFactory.createHTTP(ServerTest.urlDataset) ;
+        return DatasetAccessorFactory.createHTTP(urlDataset()) ;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 590083d..281a844 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -18,26 +18,24 @@
 
 package org.apache.jena.fuseki.http;
 
-import org.apache.jena.fuseki.ServerTest ;
+import org.apache.jena.fuseki.ServerCtl ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessorHTTP ;
+import org.junit.After ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
 
 public class TestDatasetGraphAccessorHTTP extends AbstractTestDatasetGraphAccessor
 {
-    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; }
-    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
-    @Before public void before() { 
-        ServerTest.resetServer() ; 
-    }
-
+    @BeforeClass public static void ctlBeforeClass() { ServerCtl.ctlBeforeClass(); }
+    @AfterClass  public static void ctlAfterClass()  { ServerCtl.ctlAfterClass(); }
+    @Before      public void ctlBeforeTest()         { ServerCtl.ctlBeforeTest(); }
+    @After       public void ctlAfterTest()          { ServerCtl.ctlAfterTest(); }
     
     @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceGSP) ;
+    protected DatasetGraphAccessor getDatasetUpdater() {
+        return new DatasetGraphAccessorHTTP(ServerCtl.serviceGSP()) ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/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 062f9ef..2bb7206 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
@@ -20,11 +20,14 @@ package org.apache.jena.fuseki.http;
 
 import static org.apache.jena.fuseki.FusekiTest.exec404;
 import static org.apache.jena.fuseki.FusekiTest.execWithHttpException;
+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 org.apache.jena.atlas.lib.IRILib ;
 import org.apache.jena.atlas.web.TypedInputStream ;
 import org.apache.jena.fuseki.AbstractFusekiTest ;
-import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.riot.WebContent ;
 import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.sparql.engine.http.Params ;
@@ -35,12 +38,12 @@ import org.junit.Test ;
 // especially error cases abnd unusual usage that the higher level APIs don't use.
 public class TestHttpOp extends AbstractFusekiTest {
     
-    static String pingURL           = ServerTest.urlRoot+"$/ping" ;
-    static String gspServiceURL     = ServerTest.serviceGSP ;
-    static String defaultGraphURL   = ServerTest.serviceGSP+"?default" ;
-    static String namedGraphURL     = ServerTest.serviceGSP+"?graph=http://example/g" ;
-    static String queryURL          = ServerTest.serviceQuery ;
-    static String updateURL         = ServerTest.serviceUpdate ;
+    static String pingURL           = urlRoot()+"$/ping" ;
+    static String gspServiceURL     = serviceGSP() ;
+    static String defaultGraphURL   = serviceGSP()+"?default" ;
+    static String namedGraphURL     = serviceGSP()+"?graph=http://example/g" ;
+    static String queryURL          = serviceQuery() ;
+    static String updateURL         = serviceUpdate() ;
     
     static String simpleQuery = queryURL+"?query="+IRILib.encodeUriComponent("ASK{}") ;
     
@@ -52,7 +55,7 @@ public class TestHttpOp extends AbstractFusekiTest {
     
     @Test
     public void httpGet_02() {
-        exec404(() -> HttpOp.execHttpGet(ServerTest.urlRoot + "does-not-exist"));
+        exec404(() -> HttpOp.execHttpGet(urlRoot() + "does-not-exist"));
     }
 
     @Test public void httpGet_03() {
@@ -60,7 +63,7 @@ public class TestHttpOp extends AbstractFusekiTest {
     }   
     
     @Test public void httpGet_04() {
-        String x = HttpOp.execHttpGetString(ServerTest.urlRoot+"does-not-exist") ;
+        String x = HttpOp.execHttpGetString(urlRoot()+"does-not-exist") ;
         assertNull(x) ;
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
index e7b9107..ccde079 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnection.java
@@ -55,7 +55,7 @@ public class TestRemoteEndpointConnection extends AbstractRemoteEndpointConnecti
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT);
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
index 2d75c82..08d8360 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithAuth.java
@@ -126,7 +126,7 @@ public class TestRemoteEndpointConnectionWithAuth extends AbstractRemoteEndpoint
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST(), client);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP(), client);
         return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null,
                 client, JenaConnection.DEFAULT_HOLDABILITY,
                 JdbcCompatibility.DEFAULT, null, null);

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
index 95f82d3..21d73d2 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithGraphUris.java
@@ -79,7 +79,7 @@ public class TestRemoteEndpointConnectionWithGraphUris extends AbstractRemoteEnd
         // Set up the dataset
         ds = TestUtils.renameGraph(ds, null, DEFAULT_GRAPH_URI);
         Assert.assertEquals(0, ds.getDefaultModel().size());
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), defaultGraphs, namedGraphs,
                 defaultGraphs, namedGraphs, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, null, null);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
index b2396d7..eca16f1 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/connections/TestRemoteEndpointConnectionWithResultSetTypes.java
@@ -56,7 +56,7 @@ public class TestRemoteEndpointConnectionWithResultSetTypes extends AbstractRemo
     @Override
     protected JenaConnection getConnection(Dataset ds) throws SQLException {
         // Set up the dataset
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         return new RemoteEndpointConnection(ServerCtl.serviceQuery(), ServerCtl.serviceUpdate(), null, null, null, null, null, JenaConnection.DEFAULT_HOLDABILITY, JdbcCompatibility.DEFAULT, WebContent.contentTypeTextTSV, WebContent.contentTypeRdfJson);
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
index 7de87c3..009fc71 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResults.java
@@ -74,7 +74,7 @@ public class TestRemoteEndpointResults extends AbstractRemoteEndpointResultSetTe
     
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
index 8f7b8a1..78b7d2b 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithAuth.java
@@ -133,7 +133,7 @@ public class TestRemoteEndpointResultsWithAuth extends AbstractRemoteEndpointRes
 
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST(), client);
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP(), client);
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
index 9cfb46a..9988249 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithGraphUris.java
@@ -84,7 +84,7 @@ public class TestRemoteEndpointResultsWithGraphUris extends AbstractRemoteEndpoi
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
         ds = TestUtils.renameGraph(ds, null, DEFAULT_GRAPH_URI);
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/7c3a5cfd/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
----------------------------------------------------------------------
diff --git a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
index 2076193..b7587cb 100644
--- a/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
+++ b/jena-jdbc/jena-jdbc-driver-remote/src/test/java/org/apache/jena/jdbc/remote/results/TestRemoteEndpointResultsWithResultSetTypes.java
@@ -75,7 +75,7 @@ public class TestRemoteEndpointResultsWithResultSetTypes extends AbstractRemoteE
     
     @Override
     protected ResultSet createResults(Dataset ds, String query, int resultSetType) throws SQLException {
-        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceREST());
+        TestUtils.copyToRemoteDataset(ds, ServerCtl.serviceGSP());
         Statement stmt = connection.createStatement(resultSetType, ResultSet.CONCUR_READ_ONLY);
         return stmt.executeQuery(query);
     }


[6/9] jena git commit: Typo

Posted by an...@apache.org.
Typo


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

Branch: refs/heads/master
Commit: 080ff1dbd115270d4bb59b5847b98f73edf76444
Parents: 7c3a5cf
Author: Andy Seaborne <an...@apache.org>
Authored: Sun Oct 16 19:41:46 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sun Oct 16 19:41:46 2016 +0100

----------------------------------------------------------------------
 .../src/test/java/org/apache/jena/fuseki/ServerCtl.java            | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/080ff1db/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
index cc6d97a..39913ed 100644
--- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
+++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java
@@ -99,7 +99,7 @@ public class ServerCtl {
     
     static HttpClient defaultHttpClient = HttpOp.getDefaultHttpClient();
 
-    // Note: it is import to cleanly close a PoolingHttpClient across server restarts
+    // Note: it is important to cleanly close a PoolingHttpClient across server restarts
     // otherwise the pooled connections remain for the old server. 
     
     /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }


[8/9] jena git commit: JENA-1245: Merge commit 'refs/pull/179/head' of github.com:apache/jena

Posted by an...@apache.org.
JENA-1245: Merge commit 'refs/pull/179/head' of github.com:apache/jena

This closes #179.


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

Branch: refs/heads/master
Commit: 0784e088f02d8c8989245c076dce7bd694e117a7
Parents: ddcd45c 080ff1d
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Oct 18 09:56:25 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Oct 18 09:56:25 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/fuseki/ServerCtl.java  | 167 +++++++++--
 .../java/org/apache/jena/fuseki/ServerTest.java | 130 ---------
 .../org/apache/jena/fuseki/ServerTestData.java  |  45 +++
 .../java/org/apache/jena/fuseki/TS_Fuseki.java  |   2 +-
 .../java/org/apache/jena/fuseki/TestAuth.java   |   3 +-
 .../java/org/apache/jena/fuseki/TestQuery.java  |  89 +++---
 .../apache/jena/fuseki/TestSPARQLProtocol.java  |  61 ++--
 .../fuseki/http/TestDatasetAccessorHTTP.java    | 133 ++++-----
 .../http/TestDatasetGraphAccessorHTTP.java      |   6 +-
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  18 +-
 .../apache/jena/fuseki/AbstractFusekiTest.java  |  18 +-
 .../java/org/apache/jena/fuseki/ServerCtl.java  | 287 +++++++++++++++++++
 .../java/org/apache/jena/fuseki/ServerTest.java | 126 --------
 .../java/org/apache/jena/fuseki/TS_Fuseki.java  |   8 +
 .../java/org/apache/jena/fuseki/TestAdmin.java  |  62 ++--
 .../java/org/apache/jena/fuseki/TestAuth.java   |   7 +-
 .../org/apache/jena/fuseki/TestDatasetOps.java  |  30 +-
 .../org/apache/jena/fuseki/TestFileUpload.java  |  27 +-
 .../apache/jena/fuseki/TestHttpOperations.java  |  32 +--
 .../org/apache/jena/fuseki/TestHttpOptions.java |  13 +-
 .../java/org/apache/jena/fuseki/TestQuery.java  | 112 ++++----
 .../apache/jena/fuseki/TestSPARQLProtocol.java  |  34 +--
 .../apache/jena/fuseki/TestServerReadOnly.java  |  32 +--
 .../fuseki/http/TestDatasetAccessorHTTP.java    |  37 +--
 .../http/TestDatasetGraphAccessorHTTP.java      |  18 +-
 .../org/apache/jena/fuseki/http/TestHttpOp.java |  21 +-
 .../jena/jdbc/remote/RemoteEndpointDriver.java  |   1 -
 .../remote/metadata/RemoteEndpointMetadata.java |   1 -
 .../TestRemoteEndpointConnection.java           |   7 +-
 .../TestRemoteEndpointConnectionWithAuth.java   |  16 +-
 ...stRemoteEndpointConnectionWithGraphUris.java |   7 +-
 ...oteEndpointConnectionWithResultSetTypes.java |   7 +-
 .../metadata/TestRemoteConnectionMetadata.java  |   3 +-
 .../results/TestRemoteEndpointResults.java      |   5 +-
 .../TestRemoteEndpointResultsWithAuth.java      |  14 +-
 .../TestRemoteEndpointResultsWithGraphUris.java |   5 +-
 ...RemoteEndpointResultsWithResultSetTypes.java |   5 +-
 .../TestRemoteEndpointStatements.java           |   3 +-
 38 files changed, 882 insertions(+), 710 deletions(-)
----------------------------------------------------------------------