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/24 17:05:05 UTC

[3/3] jena git commit: Move choosePort() into FusekiEnv.

Move choosePort() into FusekiEnv.

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

Branch: refs/heads/master
Commit: 2e820783a3b0183e3c340804d2726763e088cac1
Parents: 2aedf71
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Oct 24 17:57:18 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Oct 24 17:57:18 2016 +0100

----------------------------------------------------------------------
 .../apache/jena/fuseki/server/FusekiEnv.java    | 13 ++++++++++-
 .../java/org/apache/jena/fuseki/ServerCtl.java  | 13 +----------
 .../fuseki/embedded/FusekiEmbeddedServer.java   | 13 +++++++++--
 .../jena/fuseki/embedded/FusekiTestServer.java  | 15 ++----------
 .../fuseki/embedded/TestEmbeddedFuseki.java     | 24 ++++++++++++--------
 .../fuseki/embedded/TestMultipleEmbedded.java   | 15 ++++++------
 6 files changed, 48 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2e820783/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 744b8b1..cd1b705 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,6 +21,7 @@ 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 ;
@@ -29,6 +30,7 @@ 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 ;
 
@@ -175,7 +177,16 @@ public class FusekiEnv {
             x = System.getProperty(name) ;
         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/2e820783/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 9353753..7df203b 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
@@ -22,8 +22,6 @@ 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.concurrent.atomic.AtomicInteger ;
 
@@ -102,7 +100,7 @@ public class ServerCtl {
     
     /*package : for import static */ enum ServerScope { SUITE, CLASS, TEST }
     private static ServerScope serverScope = ServerScope.CLASS ;
-    private static int currentPort = choosePort() ;
+    private static int currentPort = FusekiEnv.choosePort() ;
     
     public static int port() {
         return currentPort ;
@@ -271,13 +269,4 @@ public class ServerCtl {
             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/2e820783/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
index 9765919..fe1b7af 100644
--- a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
+++ b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
@@ -101,6 +101,15 @@ public class FusekiEmbeddedServer {
         this.port = port ;
     }
     
+    /** 
+     * Return the port begin used.  
+     * This will be the give port, which defauls to 3330, or
+     * the one actually allocated if the port was 0 ("choose a free port").
+     */
+    public int getPort() {
+        return port ; 
+    }
+
     /** Get the underlying Jetty server which has also been set up. */ 
     public Server getJettyServer() {
         return server ; 
@@ -156,8 +165,8 @@ public class FusekiEmbeddedServer {
 
         /** Set the port to run on. */ 
         public Builder setPort(int port) {
-            if ( port <= 0 )
-                throw new IllegalArgumentException("port="+port+" : Port must be greater than zero.") ;
+            if ( port < 0 )
+                throw new IllegalArgumentException("Illegal port="+port+" : Port must be greater than or equal to zero.") ;
             this.port = port ;
             return this ;
         }

http://git-wip-us.apache.org/repos/asf/jena/blob/2e820783/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 599fb78..48dd278 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
@@ -22,14 +22,12 @@ 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 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.FusekiException ;
+import org.apache.jena.fuseki.server.FusekiEnv;
 import org.apache.jena.riot.web.HttpOp ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.apache.jena.sparql.core.DatasetGraphFactory ;
@@ -96,7 +94,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 = FusekiEnv.choosePort() ;
     
     public static int port() {
         return currentPort ;
@@ -229,13 +227,4 @@ public class FusekiTestServer {
             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/2e820783/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 ca4d25c..141faab 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
@@ -35,9 +35,13 @@ import org.apache.jena.atlas.web.HttpException ;
 import org.apache.jena.atlas.web.TypedInputStream ;
 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.* ;
+import org.apache.jena.query.QueryExecution;
+import org.apache.jena.query.QueryExecutionFactory;
+import org.apache.jena.query.ResultSet;
+import org.apache.jena.query.ResultSetFormatter;
 import org.apache.jena.riot.RDFDataMgr ;
 import org.apache.jena.riot.RDFFormat ;
 import org.apache.jena.riot.RDFLanguages ;
@@ -75,7 +79,7 @@ public class TestEmbeddedFuseki {
     // Different dataset name.
     @Test public void embedded_02() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = 0 ;//FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.make(port, "/ds2", dsg) ;
         DataAccessPointRegistry registry = server.getDataAccessPointRegistry() ;
         // But no /ds
@@ -90,7 +94,7 @@ public class TestEmbeddedFuseki {
     // Different dataset name.
     @Test public void embedded_03() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds1", dsg) 
@@ -124,7 +128,7 @@ public class TestEmbeddedFuseki {
         dataService.addEndpoint(OperationName.Quads_RW, "");
         dataService.addEndpoint(OperationName.Query, "");
         dataService.addEndpoint(OperationName.Update, "");
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -164,7 +168,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_05() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds0", dsg) 
@@ -179,7 +183,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_06() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
             .add("/ds0", dsg)
@@ -195,7 +199,7 @@ public class TestEmbeddedFuseki {
     // Context path.
     @Test public void embedded_07() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -213,7 +217,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_08() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
 
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -227,7 +231,7 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_09() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
 
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .setPort(port)
@@ -248,7 +252,7 @@ public class TestEmbeddedFuseki {
 
     @Test public void embedded_20() {
         DatasetGraph dsg = dataset() ;
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
 
         DataService dSrv = new DataService(dsg) ;
         dSrv.addEndpoint(OperationName.Query, "q") ;

http://git-wip-us.apache.org/repos/asf/jena/blob/2e820783/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 5ceab3e..3ed297d 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,6 +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.graph.Graph ;
 import org.apache.jena.query.ResultSet ;
 import org.apache.jena.query.ResultSetFormatter ;
@@ -51,7 +52,7 @@ public class TestMultipleEmbedded {
     public void multiple_01() {
         DatasetGraph dsg = dataset() ;
 
-        int port = FusekiTestServer.choosePort() ;
+        int port = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server1 = FusekiEmbeddedServer.create().setPort(port).add("/ds1", dsg).build() ;
         // Same port - Bbad.
         FusekiEmbeddedServer server2 = FusekiEmbeddedServer.create().setPort(port).add("/ds2", dsg).build() ;
@@ -73,11 +74,11 @@ public class TestMultipleEmbedded {
     @Test
     public void multiple_02() {
         DatasetGraph dsg = dataset() ;
-        int port1 = FusekiTestServer.choosePort() ;
+        int port1 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server1 = FusekiEmbeddedServer.create().setPort(port1).add("/ds1", dsg).build() ;
 
         // Different port - good
-        int port2 = FusekiTestServer.choosePort() ;
+        int port2 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server2 = FusekiEmbeddedServer.create().setPort(port2).add("/ds2", dsg).build() ;
 
         try {
@@ -95,11 +96,11 @@ public class TestMultipleEmbedded {
         DatasetGraph dsg1 = dataset() ;
         DatasetGraph dsg2 = dataset() ;
         // Same name.
-        int port1 = FusekiTestServer.choosePort() ;
+        int port1 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server1 = FusekiEmbeddedServer.create().setPort(port1).add("/ds", dsg1).build().start() ;
         Txn.executeWrite(dsg1, ()->dsg1.add(q1));
         
-        int port2 = FusekiTestServer.choosePort() ;
+        int port2 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server2 = FusekiEmbeddedServer.create().setPort(port2).add("/ds", dsg2).build().start() ;
         Txn.executeWrite(dsg2, ()->dsg2.add(q2));
         
@@ -128,11 +129,11 @@ public class TestMultipleEmbedded {
     public void multiple_04() {
         DatasetGraph dsg = dataset() ;
         
-        int port1 = FusekiTestServer.choosePort() ;
+        int port1 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server1 = FusekiEmbeddedServer.create().setPort(port1).add("/ds1", dsg).build().start() ;
         Txn.executeWrite(dsg, ()->dsg.add(q1));
         
-        int port2 = FusekiTestServer.choosePort() ;
+        int port2 = FusekiEnv.choosePort() ;
         FusekiEmbeddedServer server2 = FusekiEmbeddedServer.create().setPort(port2).add("/ds2", dsg).build().start() ;
         Txn.executeWrite(dsg, ()->dsg.add(q2));