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:03 UTC

[1/3] jena git commit: Minimise use of fixed ports.

Repository: jena
Updated Branches:
  refs/heads/master d3b9c4668 -> 2e820783a


Minimise use of fixed ports.

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

Branch: refs/heads/master
Commit: 38b22feac3f3b135ae69997b6f2de00e00aad2af
Parents: d3b9c46
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Oct 24 17:32:12 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Oct 24 17:32:12 2016 +0100

----------------------------------------------------------------------
 .../fuseki/embedded/TestEmbeddedFuseki.java     | 66 +++++++++++++-------
 1 file changed, 42 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/38b22fea/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 4c5e866..ca4d25c 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
@@ -58,21 +58,25 @@ public class TestEmbeddedFuseki {
     
     private static final String DIR = "testing/FusekiEmbedded/" ;
 
+    // Test - build on default port. 
     @Test public void embedded_01() {
         DatasetGraph dsg = dataset() ;
+        int port = 3330 ;   // Default port.
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create().add("/ds", dsg).build() ;
         assertTrue(server.getDataAccessPointRegistry().isRegistered("/ds")) ;
         server.start() ;
-        query("http://localhost:3330/ds/query", "SELECT * { ?s ?p ?o}", qExec-> {
+        query("http://localhost:"+port+"/ds/query", "SELECT * { ?s ?p ?o}", qExec-> {
             ResultSet rs = qExec.execSelect() ; 
             assertFalse(rs.hasNext()) ;
         }) ;
         server.stop() ;
     }
     
+    // Different dataset name.
     @Test public void embedded_02() {
         DatasetGraph dsg = dataset() ;
-        FusekiEmbeddedServer server = FusekiEmbeddedServer.make(3330, "/ds2", dsg) ;
+        int port = FusekiTestServer.choosePort() ;
+        FusekiEmbeddedServer server = FusekiEmbeddedServer.make(port, "/ds2", dsg) ;
         DataAccessPointRegistry registry = server.getDataAccessPointRegistry() ;
         // But no /ds
         assertEquals(1, registry.size()) ;
@@ -83,10 +87,12 @@ public class TestEmbeddedFuseki {
         } finally { server.stop() ; }
     }
     
+    // Different dataset name.
     @Test public void embedded_03() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3331)
+            .setPort(port)
             .add("/ds1", dsg) 
             .build() ;
         server.start() ;
@@ -96,7 +102,7 @@ public class TestEmbeddedFuseki {
                 Quad q = SSE.parseQuad("(_ :s :p _:b)") ;
                 dsg.add(q); 
             }) ;
-            query("http://localhost:3331/ds1/query", "SELECT * { ?s ?p ?o}", qExec->{
+            query("http://localhost:"+port+"/ds1/query", "SELECT * { ?s ?p ?o}", qExec->{
                 ResultSet rs = qExec.execSelect() ; 
                 int x = ResultSetFormatter.consume(rs) ;
                 assertEquals(1, x) ;
@@ -118,9 +124,10 @@ public class TestEmbeddedFuseki {
         dataService.addEndpoint(OperationName.Quads_RW, "");
         dataService.addEndpoint(OperationName.Query, "");
         dataService.addEndpoint(OperationName.Update, "");
+        int port = FusekiTestServer.choosePort() ;
         
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3332)
+            .setPort(port)
             .add("/data", dataService)
             .build() ;
         server.start() ;
@@ -129,25 +136,25 @@ public class TestEmbeddedFuseki {
             String data = "(graph (:s :p 1) (:s :p 2) (:s :p 3))" ;
             Graph g = SSE.parseGraph(data) ;
             HttpEntity e = graphToHttpEntity(g) ;
-            HttpOp.execHttpPut("http://localhost:3332/data", e) ;
+            HttpOp.execHttpPut("http://localhost:"+port+"/data", e) ;
     
             // Get data out.
-            try ( TypedInputStream in = HttpOp.execHttpGet("http://localhost:3332/data") ) { 
+            try ( TypedInputStream in = HttpOp.execHttpGet("http://localhost:"+port+"/data") ) { 
                 Graph g2 = GraphFactory.createDefaultGraph() ;
                 RDFDataMgr.read(g2, in, RDFLanguages.contentTypeToLang(in.getContentType())) ;
                 assertTrue(g.isIsomorphicWith(g2)) ;
             }
             // Query.
-            query("http://localhost:3332/data", "SELECT * { ?s ?p ?o}", qExec->{
+            query("http://localhost:"+port+"/data", "SELECT * { ?s ?p ?o}", qExec->{
                 ResultSet rs = qExec.execSelect() ; 
                 int x = ResultSetFormatter.consume(rs) ;
                 assertEquals(3, x) ;
             }) ;
             // Update
             UpdateRequest req = UpdateFactory.create("CLEAR DEFAULT") ;
-            UpdateExecutionFactory.createRemote(req, "http://localhost:3332/data").execute(); 
+            UpdateExecutionFactory.createRemote(req, "http://localhost:"+port+"/data").execute(); 
             // Query again.
-            query("http://localhost:3332/data", "SELECT * { ?s ?p ?o}", qExec-> {
+            query("http://localhost:"+port+"/data", "SELECT * { ?s ?p ?o}", qExec-> {
                 ResultSet rs = qExec.execSelect() ; 
                 int x = ResultSetFormatter.consume(rs) ;
                 assertEquals(0, x) ;
@@ -157,28 +164,30 @@ public class TestEmbeddedFuseki {
     
     @Test public void embedded_05() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3330)
+            .setPort(port)
             .add("/ds0", dsg) 
             .build() ;
         server.start() ;
         try {
             // No stats
-            String x = HttpOp.execHttpGetString("http://localhost:3330/$/stats") ;
+            String x = HttpOp.execHttpGetString("http://localhost:"+port+"/$/stats") ;
             assertNull(x) ;  
         } finally { server.stop() ; }
     }
     
     @Test public void embedded_06() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3330)
+            .setPort(port)
             .add("/ds0", dsg)
             .enableStats(true)
             .build() ;
         server.start() ;
         // No stats
-        String x = HttpOp.execHttpGetString("http://localhost:3330/$/stats") ;
+        String x = HttpOp.execHttpGetString("http://localhost:"+port+"/$/stats") ;
         assertNotNull(x) ;
         server.stop() ;
     }
@@ -186,63 +195,72 @@ public class TestEmbeddedFuseki {
     // Context path.
     @Test public void embedded_07() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
+        
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3330)
+            .setPort(port)
             .setContextPath("/ABC")
             .add("/ds", dsg) 
             .build() ;
         server.start() ;
         try {
-            String x1 = HttpOp.execHttpGetString("http://localhost:3330/ds") ;
+            String x1 = HttpOp.execHttpGetString("http://localhost:"+port+"/ds") ;
             assertNull(x1) ;
-            String x2 = HttpOp.execHttpGetString("http://localhost:3330/ABC/ds") ;
+            String x2 = HttpOp.execHttpGetString("http://localhost:"+port+"/ABC/ds") ;
             assertNotNull(x2) ;
         } finally { server.stop() ; }
     }
     
     @Test public void embedded_08() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
+
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3330)
+            .setPort(port)
             .parseConfigFile(DIR+"config.ttl") 
             .build() ;
         server.start() ;
         try {
-            query("http://localhost:3330/FuTest", "SELECT * {}", x->{}) ;
+            query("http://localhost:"+port+"/FuTest", "SELECT * {}", x->{}) ;
         } finally { server.stop() ; } 
     }
     
     @Test public void embedded_09() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
+
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
-            .setPort(3330)
+            .setPort(port)
             .setContextPath("/ABC")
             .parseConfigFile(DIR+"config.ttl") 
             .build() ;
         server.start() ;
         try {
             try {
-                query("http://localhost:3330/FuTest", "ASK{}", x->{}) ;
+                query("http://localhost:"+port+"/FuTest", "ASK{}", x->{}) ;
             } catch (HttpException ex) {
                 assertEquals(HttpSC.METHOD_NOT_ALLOWED_405, ex.getResponseCode()) ;
             }
 
-            query("http://localhost:3330/ABC/FuTest","ASK{}",x->{}) ;
+            query("http://localhost:"+port+"/ABC/FuTest","ASK{}",x->{}) ;
         } finally { server.stop() ; } 
     }
 
     @Test public void embedded_20() {
         DatasetGraph dsg = dataset() ;
+        int port = FusekiTestServer.choosePort() ;
+
         DataService dSrv = new DataService(dsg) ;
         dSrv.addEndpoint(OperationName.Query, "q") ;
         dSrv.addEndpoint(OperationName.GSP_R, "gsp") ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
             .add("/dsrv1", dSrv)
+            .setPort(port)
             .build() ;
         server.start() ;
         try {
-            query("http://localhost:3330/dsrv1/q","ASK{}",x->{}) ;
-            String x1 = HttpOp.execHttpGetString("http://localhost:3330/dsrv1/gsp") ;
+            query("http://localhost:"+port+"/dsrv1/q","ASK{}",x->{}) ;
+            String x1 = HttpOp.execHttpGetString("http://localhost:"+port+"/dsrv1/gsp") ;
             assertNotNull(x1) ;
         } finally { server.stop() ; } 
     }


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

Posted by an...@apache.org.
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));
         


[2/3] jena git commit: Remove unnecessary System.exit calls.

Posted by an...@apache.org.
Remove unnecessary System.exit calls.

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

Branch: refs/heads/master
Commit: 2aedf71e2625190e021a92b3ea42150ac0734153
Parents: 38b22fe
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Oct 24 17:32:34 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Oct 24 17:32:34 2016 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/jena/fuseki/FusekiCmd.java  |  7 ++++++-
 .../java/org/apache/jena/fuseki/server/SPARQLServer.java |  4 ++--
 .../main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java  | 11 ++++++++---
 .../java/org/apache/jena/fuseki/jetty/JettyFuseki.java   |  4 ++--
 .../apache/jena/fuseki/server/FusekiServerListener.java  |  3 ++-
 .../jena/tdb/base/recordbuffer/RecordRangeIterator.java  |  4 ++--
 6 files changed, 22 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
index fb33ab7..c7f4085 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
@@ -483,7 +483,12 @@ public class FusekiCmd extends CmdARQ
             { serverLog.error("SPARQLServer: Failed to start management server: " + ex.getMessage(), ex) ; System.exit(1) ; }
         }
 
-        server.start() ;
+        try {
+            server.start() ;
+        } catch (FusekiException ex) {
+            serverLog.warn("Failed to start the server.", ex) ;
+        }
+    
         try { server.getServer().join() ; } catch (Exception ex) {}
 
         if ( mgtServer != null )

http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-fuseki1/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
index 155f09f..2ab8db6 100644
--- a/jena-fuseki1/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
+++ b/jena-fuseki1/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
@@ -119,10 +119,10 @@ public class SPARQLServer {
             server.start() ;
         } catch (java.net.BindException ex) {
             serverLog.error("SPARQLServer: Failed to start server: " + ex.getMessage()) ;
-            System.exit(1) ;
+            throw new FusekiException("BindException: port="+server.getConnectors()[0].getPort()+": Failed to start server: " + ex.getMessage(), ex) ;
         } catch (Exception ex) {
             serverLog.error("SPARQLServer: Failed to start server: " + ex.getMessage(), ex) ;
-            System.exit(1) ;
+            throw new FusekiException("Failed to start server: " + ex.getMessage(), ex) ;
         }
 
         ServletContextHandler context = (ServletContextHandler)server.getHandler() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
index 4be63b8..04fcd70 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java
@@ -25,8 +25,10 @@ import arq.cmdline.CmdARQ ;
 import arq.cmdline.ModDatasetAssembler ;
 import jena.cmd.ArgDecl ;
 import jena.cmd.CmdException ;
+import jena.cmd.TerminationException;
 import org.apache.jena.atlas.lib.FileOps ;
 import org.apache.jena.fuseki.Fuseki ;
+import org.apache.jena.fuseki.FusekiException;
 import org.apache.jena.fuseki.FusekiLogging ;
 import org.apache.jena.fuseki.build.Template ;
 import org.apache.jena.fuseki.jetty.JettyFuseki ;
@@ -338,7 +340,11 @@ public class FusekiCmd {
 
         @Override
         protected void exec() {
-            runFuseki(cmdLineConfig, jettyServerConfig) ;
+            try {
+                runFuseki(cmdLineConfig, jettyServerConfig) ;
+            } catch (FusekiException ex) {
+                throw new TerminationException(1) ;
+            }
         }
 
         @Override
@@ -347,12 +353,11 @@ public class FusekiCmd {
         }
     }
     
-    /** Configure and run a Fuseki server - this function does not return */  
+    /** Configure and run a Fuseki server - this function does not return except for error starting up*/  
     public static void runFuseki(ServerInitialConfig serverConfig, JettyServerConfig jettyConfig) {
         FusekiServerListener.initialSetup = serverConfig ;
         JettyFuseki.initializeServer(jettyConfig) ;
         JettyFuseki.instance.start() ;
         JettyFuseki.instance.join() ;
-        System.exit(0) ;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
index 00b6658..1c3670b 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
@@ -139,10 +139,10 @@ public class JettyFuseki {
             server.start() ;
         } catch (java.net.BindException ex) {
             serverLog.error("SPARQLServer (port="+serverConnector.getPort()+"): Failed to start server: " + ex.getMessage()) ;
-            System.exit(1) ;
+            throw new FusekiException("BindException: port="+serverConnector.getPort()+": Failed to start server: " + ex.getMessage(), ex) ;
         } catch (Exception ex) {
             serverLog.error("SPARQLServer: Failed to start server: " + ex.getMessage(), ex) ;
-            System.exit(1) ;
+            throw new FusekiException("Failed to start server: " + ex.getMessage(), ex) ;
         }
         String now = DateTimeUtils.nowAsString() ;
         serverLog.info(format("Started %s on port %d", now, serverConnector.getPort())) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
----------------------------------------------------------------------
diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
index 6597fe8..4156134 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
+++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java
@@ -23,6 +23,7 @@ import javax.servlet.ServletContextEvent ;
 import javax.servlet.ServletContextListener ;
 
 import org.apache.jena.fuseki.Fuseki ;
+import org.apache.jena.fuseki.FusekiException;
 import org.apache.jena.tdb.StoreConnection ;
 
 /** Setup configurtation.
@@ -88,7 +89,7 @@ public class FusekiServerListener implements ServletContextListener {
                                                         initialSetup, FusekiServer.dirConfiguration.toString()) ;
             } else {
                 Fuseki.serverLog.error("No configuration") ;
-                System.exit(0) ;
+                throw new FusekiException("No configuration") ;
             }
         } catch (Throwable th) { 
             Fuseki.serverLog.error("Exception in initialization: {}", th.getMessage()) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/2aedf71e/jena-tdb/src/main/java/org/apache/jena/tdb/base/recordbuffer/RecordRangeIterator.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/recordbuffer/RecordRangeIterator.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/recordbuffer/RecordRangeIterator.java
index cdbc390..f577a57 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/recordbuffer/RecordRangeIterator.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/recordbuffer/RecordRangeIterator.java
@@ -24,6 +24,7 @@ import java.util.Iterator;
 import java.util.NoSuchElementException;
 
 import org.apache.jena.atlas.lib.Closeable ;
+import org.apache.jena.atlas.logging.Log;
 import org.apache.jena.tdb.base.StorageException ;
 import org.apache.jena.tdb.base.block.BlockException ;
 import org.apache.jena.tdb.base.record.Record ;
@@ -36,8 +37,7 @@ class RecordRangeIterator implements Iterator<Record>, Closeable
     {
         if ( ! pageMgr.valid(pageId) ) {
             String msg = "RecordRangeIterator.iterator -- No such block (pageId="+pageId+", fromRec="+fromRec+", toRec="+toRec+ ")" ;
-            System.err.println(msg) ;
-            System.exit(0) ;
+            Log.fatal(RecordRangeIterator.class, msg);
             throw new BlockException(msg) ;
         }
         return new RecordRangeIterator(pageId, fromRec, toRec, pageMgr) ;