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 2013/08/04 22:02:06 UTC
svn commit: r1510329 - in /jena/trunk/jena-fuseki: ./
src/main/java/org/apache/jena/fuseki/
src/main/java/org/apache/jena/fuseki/server/
src/test/java/org/apache/jena/fuseki/
Author: andy
Date: Sun Aug 4 20:02:05 2013
New Revision: 1510329
URL: http://svn.apache.org/r1510329
Log:
JENA-499 : Add --localhost to have the server only listen to the loopback interface.
Modified:
jena/trunk/jena-fuseki/ReleaseNotes.txt
jena/trunk/jena-fuseki/pom.xml
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/ServerConfig.java
jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/ServerTest.java
jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java
Modified: jena/trunk/jena-fuseki/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/ReleaseNotes.txt?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/ReleaseNotes.txt (original)
+++ jena/trunk/jena-fuseki/ReleaseNotes.txt Sun Aug 4 20:02:05 2013
@@ -4,6 +4,8 @@
+ jena-text added to the server : Lucene/solr backed search:
http://jena.apache.org/documentation/query/text-query.html
++ Upgrade to Jetty 8.1.11.v20130520
++ JENA-499 : --localhost will cause the server to oonly listen to the loopback interface
== Fuseki 0.2.7
Modified: jena/trunk/jena-fuseki/pom.xml
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/pom.xml?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/pom.xml (original)
+++ jena/trunk/jena-fuseki/pom.xml Sun Aug 4 20:02:05 2013
@@ -75,8 +75,6 @@
<assembly.zip.name>${this.root}</assembly.zip.name>
<ver.jetty>8.1.11.v20130520</ver.jetty>
- <!--<ver.jetty>8.1.8.v20121106</ver.jetty> < ! - - Has stray print "Null identity service..." -->
- <!-- <ver.jetty>8.1.7.v20120910</ver.jetty> -->
<ver.velocity>1.7</ver.velocity>
<ver.commons-fileupload>1.2.2</ver.commons-fileupload>
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java Sun Aug 4 20:02:05 2013
@@ -21,8 +21,6 @@ package org.apache.jena.fuseki;
import static org.apache.jena.fuseki.Fuseki.serverLog ;
import java.io.InputStream ;
-import java.net.InetAddress ;
-import java.net.UnknownHostException ;
import java.util.List ;
import org.apache.jena.atlas.io.IO ;
@@ -115,7 +113,7 @@ public class FusekiCmd extends CmdARQ
private static ArgDecl argMemTDB = new ArgDecl(ArgDecl.NoValue, "memtdb", "memTDB") ;
private static ArgDecl argTDB = new ArgDecl(ArgDecl.HasValue, "loc", "location") ;
private static ArgDecl argPort = new ArgDecl(ArgDecl.HasValue, "port") ;
- private static ArgDecl argHost = new ArgDecl(ArgDecl.HasValue, "host") ;
+ private static ArgDecl argLocalhost = new ArgDecl(ArgDecl.NoValue, "localhost", "local") ;
private static ArgDecl argTimeout = new ArgDecl(ArgDecl.HasValue, "timeout") ;
private static ArgDecl argFusekiConfig = new ArgDecl(ArgDecl.HasValue, "config", "conf") ;
private static ArgDecl argJettyConfig = new ArgDecl(ArgDecl.HasValue, "jetty-config") ;
@@ -144,7 +142,7 @@ public class FusekiCmd extends CmdARQ
private int port = 3030 ;
private int mgtPort = -1 ;
- private String clientHost = null;
+ private boolean listenLocal = false ;
private DatasetGraph dsg = null ;
private String datasetPath = null ;
@@ -174,7 +172,7 @@ public class FusekiCmd extends CmdARQ
add(argPort, "--port", "Listen on this port number") ;
add(argPages, "--pages=DIR", "Set of pages to serve as static content") ;
// Set via jetty config file.
- //add(argHost, "--host=name or IP", "Listen on a particular interface (e.g. localhost)") ;
+ add(argLocalhost, "--localhost", "Listen only on the localhost interface") ;
add(argTimeout, "--timeout=", "Global timeout applied to queries (value in ms) -- format is X[,Y] ") ;
add(argAllowUpdate, "--update", "Allow updates (via SPARQL Update and SPARQL HTTP Update)") ;
add(argFusekiConfig, "--config=", "Use a configuration file to determine the services") ;
@@ -191,7 +189,7 @@ public class FusekiCmd extends CmdARQ
super.modVersion.addClass(Fuseki.class) ;
}
- static String argUsage = "[--config=FILE] [--mem|--desc=AssemblerFile|--file=FILE] [--port PORT] [--host HOST] /DatasetPathName" ;
+ static String argUsage = "[--config=FILE] [--mem|--desc=AssemblerFile|--file=FILE] [--port PORT] /DatasetPathName" ;
@Override
protected String getSummary()
@@ -311,15 +309,8 @@ public class FusekiCmd extends CmdARQ
}
}
- if ( contains(argHost) )
- {
- clientHost = getValue(argHost);
- try {
- InetAddress.getByName(clientHost);
- } catch (UnknownHostException e) {
- throw new CmdException("unknown host name");
- }
- }
+ if ( contains(argLocalhost) )
+ listenLocal = true ;
if ( fusekiConfigFile == null && dsg == null )
throw new CmdException("No dataset defined and no configuration file: "+argUsage) ;
@@ -433,13 +424,14 @@ public class FusekiCmd extends CmdARQ
serverConfig = FusekiConfig.configure(fusekiConfigFile) ;
}
else
- serverConfig = FusekiConfig.defaultConfiguration(datasetPath, dsg, allowUpdate) ;
+ serverConfig = FusekiConfig.defaultConfiguration(datasetPath, dsg, allowUpdate, listenLocal) ;
// TODO Get from parsing config file.
serverConfig.port = port ;
serverConfig.pages = staticContentDir ;
serverConfig.mgtPort = mgtPort ;
serverConfig.pagesPort = port ;
+ serverConfig.loopback = listenLocal ;
serverConfig.enableCompression = enableCompression ;
serverConfig.jettyConfigFile = jettyConfigFile ;
serverConfig.authConfigFile = authConfigFile ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java Sun Aug 4 20:02:05 2013
@@ -84,7 +84,7 @@ public class FusekiConfig
"PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>" ,
"") ;
- public static ServerConfig defaultConfiguration(String datasetPath, DatasetGraph dsg, boolean allowUpdate)
+ public static ServerConfig defaultConfiguration(String datasetPath, DatasetGraph dsg, boolean allowUpdate, boolean listenLocal)
{
DatasetRef dbDesc = new DatasetRef() ;
dbDesc.name = datasetPath ;
@@ -106,6 +106,7 @@ public class FusekiConfig
config.port = 3030 ;
config.mgtPort = 3031 ;
config.pagesPort = config.port ;
+ config.loopback = listenLocal ;
config.jettyConfigFile = null ;
config.pages = Fuseki.PagesStatic ;
config.enableCompression = true ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java Sun Aug 4 20:02:05 2013
@@ -168,7 +168,7 @@ public class SPARQLServer {
// for detailed configuration of the server using Jetty features.
server = configServer(jettyConfig) ;
} else
- server = defaultServerConfig(serverConfig.port) ;
+ server = defaultServerConfig(serverConfig.port, serverConfig.loopback) ;
// Keep the server to a maximum number of threads.
// server.setThreadPool(new QueuedThreadPool(ThreadPoolSize)) ;
@@ -256,7 +256,7 @@ public class SPARQLServer {
HttpServlet dumpService = new DumpServlet() ;
HttpServlet generalQueryService = new SPARQL_QueryGeneral() ;
- // TODO Name management
+
addServlet(context, validateQuery, validationRoot + "/query", false) ;
addServlet(context, validateUpdate, validationRoot + "/update", false) ;
addServlet(context, validateData, validationRoot + "/data", false) ;
@@ -346,7 +346,7 @@ public class SPARQLServer {
}
}
- private static Server defaultServerConfig(int port) {
+ private static Server defaultServerConfig(int port, boolean loopback) {
// Server, with one NIO-based connector, large input buffer size (for
// long URLs, POSTed forms (queries, updates)).
Server server = new Server() ;
@@ -369,6 +369,8 @@ public class SPARQLServer {
// and you get a lot of log messages.
connector.setMaxIdleTime(0) ; // Jetty outputs a lot of messages if this
// goes off.
+ if ( loopback )
+ connector.setHost("localhost");
connector.setPort(port) ;
// Some people do try very large operations ...
connector.setRequestHeaderSize(64 * 1024) ;
Modified: jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/ServerConfig.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/ServerConfig.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/ServerConfig.java (original)
+++ jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/ServerConfig.java Sun Aug 4 20:02:05 2013
@@ -34,7 +34,9 @@ public class ServerConfig
/** Port for the pages UI : this can be the same as the services port. */
public int pagesPort ;
/** Jetty config file - if null, use the built-in configuration of Jetty */
- public String jettyConfigFile ;
+ public String jettyConfigFile = null ;
+ /** Listen only on the loopback (localhost) interface */
+ public boolean loopback = false ;
/** The local directory for serving the static pages */
public String pages ;
/** The list of datasets */
Modified: jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/ServerTest.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/ServerTest.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/ServerTest.java (original)
+++ jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/ServerTest.java Sun Aug 4 20:02:05 2013
@@ -111,7 +111,7 @@ public class ServerTest
{
DatasetGraph dsg = DatasetGraphFactory.createMem() ;
// This must agree with ServerTest
- ServerConfig conf = FusekiConfig.defaultConfiguration(ServerTest.datasetPath, dsg, true) ;
+ ServerConfig conf = FusekiConfig.defaultConfiguration(ServerTest.datasetPath, dsg, true, true) ;
conf.port = ServerTest.port ;
conf.pagesPort = ServerTest.port ;
server = new SPARQLServer(conf) ;
Modified: jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java?rev=1510329&r1=1510328&r2=1510329&view=diff
==============================================================================
--- jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java (original)
+++ jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java Sun Aug 4 20:02:05 2013
@@ -83,7 +83,7 @@ public class TestAuth extends ServerTest
DatasetGraph dsg = DatasetGraphFactory.createMem();
// This must agree with ServerTest
- ServerConfig conf = FusekiConfig.defaultConfiguration(datasetPath, dsg, true);
+ ServerConfig conf = FusekiConfig.defaultConfiguration(datasetPath, dsg, true, true);
conf.port = ServerTest.port;
conf.pagesPort = ServerTest.port;
conf.authConfigFile = realmFile.getAbsolutePath();