Move choosePort() to FusekiLib.

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

Branch: refs/heads/master
Commit: 026d503d1e236c81ec5065335d9817e200f7fb19
Parents: 806fd19
Author: Andy Seaborne <[email protected]>
Authored: Sun May 28 21:18:37 2017 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Sun May 28 21:18:37 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/fuseki/FusekiLib.java  | 13 ++++++++++--
 .../apache/jena/fuseki/server/FusekiEnv.java    | 11 ----------
 .../java/org/apache/jena/fuseki/ServerCtl.java  |  2 +-
 .../jena/fuseki/embedded/FusekiTestAuth.java    | 21 ++++++++++++++------
 .../jena/fuseki/embedded/FusekiTestServer.java  |  4 ++--
 .../fuseki/embedded/TestEmbeddedFuseki.java     | 20 +++++++++----------
 .../fuseki/embedded/TestMultipleEmbedded.java   | 16 +++++++--------
 7 files changed, 47 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
index 1138260..3f68563 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java
@@ -18,6 +18,8 @@
 
 package org.apache.jena.fuseki;
 
+import java.io.IOException;
+import java.net.ServerSocket;
 import java.util.Iterator ;
 
 import javax.servlet.http.HttpServletRequest ;
@@ -221,12 +223,10 @@ public class FusekiLib {
         return lit.getLexicalForm() ;
     }
 
-    // XXX Lib
     public static String strForResource(Resource r) {
         return strForResource(r, r.getModel()) ;
     }
 
-    // XXX Lib
     public static String strForResource(Resource r, PrefixMapping pm) {
         if ( r == null )
             return "NULL " ;
@@ -254,4 +254,13 @@ public class FusekiLib {
         }
         return "<" + uri + ">" ;
     }
+
+    /** 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");
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java
 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java
index f18f61b..3799c9a 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java
@@ -21,7 +21,6 @@ package org.apache.jena.fuseki.server;
 import static java.lang.String.format ;
 
 import java.io.IOException ;
-import java.net.ServerSocket;
 import java.nio.file.DirectoryStream ;
 import java.nio.file.Files ;
 import java.nio.file.Path ;
@@ -30,7 +29,6 @@ import java.util.ArrayList ;
 import java.util.List ;
 
 import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.fuseki.FusekiException;
 import org.apache.jena.fuseki.servlets.HttpAction ;
 import org.apache.jena.fuseki.servlets.ServletOps ;
 
@@ -178,15 +176,6 @@ public class FusekiEnv {
         return x ;
     }
     
-    /** 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");
-        }
-    }
-    
     /** Dataset set name to configuration file name. */
     public static String datasetNameToConfigurationFile(HttpAction action, 
String dsName) {
         List<String> existing = existingConfigurationFile(dsName) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/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 d99bb5b..cc8870d 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
@@ -109,7 +109,7 @@ public class ServerCtl {
     
     /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }
     private static ServerScope serverScope = ServerScope.CLASS ;
-    private static int currentPort = FusekiEnv.choosePort() ;
+    private static int currentPort = FusekiLib.choosePort() ;
     
     public static int port() {
         return currentPort ;

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestAuth.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestAuth.java
 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestAuth.java
index 992b9d2..8b10f50 100644
--- 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestAuth.java
+++ 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestAuth.java
@@ -18,12 +18,11 @@
 
 package org.apache.jena.fuseki.embedded;
 
-import static org.apache.jena.fuseki.server.FusekiEnv.choosePort;
-
 import java.util.Objects;
 
 import org.apache.jena.atlas.web.HttpException;
 import org.apache.jena.fuseki.FusekiException;
+import org.apache.jena.fuseki.FusekiLib;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
 import org.apache.jena.web.HttpSC;
@@ -80,7 +79,7 @@ import org.junit.Assert;
  * large test suite may end up quite slow.
  */
 public class FusekiTestAuth {
-    private static int currentPort = choosePort() ;
+    private static int currentPort = FusekiLib.choosePort() ;
     
     public static int port() {
         return currentPort ;
@@ -100,10 +99,18 @@ public class FusekiTestAuth {
     public static final String serviceGSP()         { return 
"http://localhost:"+port()+datasetPath()+"/data" ; }
     
     private static FusekiEmbeddedServer server ;
-    
+
+    /** Setup a testing server, using the given  Jetty {@link SecurityHandler} 
for authentication. 
+     * The server will have an empty, in-emory transactional dataset.
+     */
     public static void setupServer(boolean updateable, SecurityHandler sh) {
-        // Clean datasets.
-        dsgTesting = DatasetGraphFactory.createTxnMem();
+        setupServer(updateable, sh, DatasetGraphFactory.createTxnMem());
+    }
+    
+    /** Setup a testing server, using the given  Jetty {@link SecurityHandler} 
for authentication. 
+     */
+    public static void setupServer(boolean updateable, SecurityHandler sh, 
DatasetGraph dsg) {
+        dsgTesting = dsg;
         server = FusekiEmbeddedServer.create()
             .add(datasetPath(), dsgTesting)
             .setPort(port())
@@ -112,10 +119,12 @@ public class FusekiTestAuth {
             .start();
     }
     
+    /** Shutdown the server.*/
     public static void teardownServer() {
         if ( server != null ) {
             server.stop() ;
             server = null ;
+            dsgTesting = null;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestServer.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestServer.java
 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestServer.java
index e1a4488..72deb5d 100644
--- 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestServer.java
+++ 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/FusekiTestServer.java
@@ -21,13 +21,13 @@ package org.apache.jena.fuseki.embedded;
 import static 
org.apache.jena.fuseki.embedded.FusekiTestServer.ServerScope.CLASS;
 import static 
org.apache.jena.fuseki.embedded.FusekiTestServer.ServerScope.SUITE;
 import static 
org.apache.jena.fuseki.embedded.FusekiTestServer.ServerScope.TEST;
-import static org.apache.jena.fuseki.server.FusekiEnv.choosePort;
 
 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.FusekiLib;
 import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.DatasetGraphFactory;
@@ -121,7 +121,7 @@ public class FusekiTestServer {
     
     /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }
     private static ServerScope serverScope = ServerScope.CLASS ;
-    private static int currentPort = choosePort() ;
+    private static int currentPort = FusekiLib.choosePort() ;
     
     public static int port() {
         return currentPort ;

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
index 7a1826b..2743bcb 100644
--- 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
+++ 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
@@ -33,9 +33,9 @@ import org.apache.http.entity.EntityTemplate ;
 import org.apache.jena.atlas.web.ContentType ;
 import org.apache.jena.atlas.web.HttpException ;
 import org.apache.jena.atlas.web.TypedInputStream ;
+import org.apache.jena.fuseki.FusekiLib;
 import org.apache.jena.fuseki.server.DataAccessPointRegistry ;
 import org.apache.jena.fuseki.server.DataService ;
-import org.apache.jena.fuseki.server.FusekiEnv;
 import org.apache.jena.fuseki.server.OperationName ;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.query.QueryExecution;
@@ -94,7 +94,7 @@ public class TestEmbeddedFuseki {
     // Different dataset name.
     @Test public void embedded_03() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds1", dsg) 
@@ -128,7 +128,7 @@ public class TestEmbeddedFuseki {
         dataService.addEndpoint(OperationName.Quads_RW, "");
         dataService.addEndpoint(OperationName.Query, "");
         dataService.addEndpoint(OperationName.Update, "");
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -168,7 +168,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_05() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds0", dsg) 
@@ -183,7 +183,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_06() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds0", dsg)
@@ -199,7 +199,7 @@ public class TestEmbeddedFuseki {
     // Context path.
     @Test public void embedded_07() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -217,7 +217,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_08() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
 
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -231,7 +231,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_09() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
 
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -252,7 +252,7 @@ public class TestEmbeddedFuseki {
 
     @Test public void embedded_20() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
 
         DataService dSrv = new DataService(dsg) ;
         dSrv.addEndpoint(OperationName.Query, "q") ;
@@ -271,7 +271,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_21() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
 
         DataService dSrv = new DataService(dsg) ;
         dSrv.addEndpoint(OperationName.Query, "q") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/026d503d/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestMultipleEmbedded.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestMultipleEmbedded.java
 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestMultipleEmbedded.java
index 3ed297d..bb45b8f 100644
--- 
a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestMultipleEmbedded.java
+++ 
b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestMultipleEmbedded.java
@@ -30,7 +30,7 @@ import org.apache.http.entity.ContentProducer ;
 import org.apache.http.entity.EntityTemplate ;
 import org.apache.jena.atlas.web.ContentType ;
 import org.apache.jena.fuseki.FusekiException ;
-import org.apache.jena.fuseki.server.FusekiEnv;
+import org.apache.jena.fuseki.FusekiLib;
 import org.apache.jena.graph.Graph ;
 import org.apache.jena.query.ResultSet ;
 import org.apache.jena.query.ResultSetFormatter ;
@@ -52,7 +52,7 @@ public class TestMultipleEmbedded {
     public void multiple_01() {
         DatasetGraph dsg = dataset() ;
 
-        int port = FusekiEnv.choosePort() ;
+        int port = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server1 = 
FusekiEmbeddedServer.create().setPort(port).add("/ds1", dsg).build() ;
         // Same port - Bbad.
         FusekiEmbeddedServer server2 = 
FusekiEmbeddedServer.create().setPort(port).add("/ds2", dsg).build() ;
@@ -74,11 +74,11 @@ public class TestMultipleEmbedded {
     @Test
     public void multiple_02() {
         DatasetGraph dsg = dataset() ;
-        int port1 = FusekiEnv.choosePort() ;
+        int port1 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server1 = 
FusekiEmbeddedServer.create().setPort(port1).add("/ds1", dsg).build() ;
 
         // Different port - good
-        int port2 = FusekiEnv.choosePort() ;
+        int port2 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server2 = 
FusekiEmbeddedServer.create().setPort(port2).add("/ds2", dsg).build() ;
 
         try {
@@ -96,11 +96,11 @@ public class TestMultipleEmbedded {
         DatasetGraph dsg1 = dataset() ;
         DatasetGraph dsg2 = dataset() ;
         // Same name.
-        int port1 = FusekiEnv.choosePort() ;
+        int port1 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server1 = 
FusekiEmbeddedServer.create().setPort(port1).add("/ds", dsg1).build().start() ;
         Txn.executeWrite(dsg1, ()->dsg1.add(q1));
         
-        int port2 = FusekiEnv.choosePort() ;
+        int port2 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server2 = 
FusekiEmbeddedServer.create().setPort(port2).add("/ds", dsg2).build().start() ;
         Txn.executeWrite(dsg2, ()->dsg2.add(q2));
         
@@ -129,11 +129,11 @@ public class TestMultipleEmbedded {
     public void multiple_04() {
         DatasetGraph dsg = dataset() ;
         
-        int port1 = FusekiEnv.choosePort() ;
+        int port1 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server1 = 
FusekiEmbeddedServer.create().setPort(port1).add("/ds1", dsg).build().start() ;
         Txn.executeWrite(dsg, ()->dsg.add(q1));
         
-        int port2 = FusekiEnv.choosePort() ;
+        int port2 = FusekiLib.choosePort() ;
         FusekiEmbeddedServer server2 = 
FusekiEmbeddedServer.create().setPort(port2).add("/ds2", dsg).build().start() ;
         Txn.executeWrite(dsg, ()->dsg.add(q2));
         

Reply via email to