Author: andy
Date: Wed Aug 6 14:17:26 2014
New Revision: 1616241
URL: http://svn.apache.org/r1616241
Log:
Running as a named webapp in development
Added:
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
- copied, changed from r1616147,
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java
Removed:
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java
Modified:
jena/Experimental/jena-fuseki2/src-dev/dev/RunAsWebapp.java
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
jena/Experimental/jena-fuseki2/src/test/java/org/apache/jena/fuseki/ServerTest.java
Modified: jena/Experimental/jena-fuseki2/src-dev/dev/RunAsWebapp.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src-dev/dev/RunAsWebapp.java?rev=1616241&r1=1616240&r2=1616241&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src-dev/dev/RunAsWebapp.java (original)
+++ jena/Experimental/jena-fuseki2/src-dev/dev/RunAsWebapp.java Wed Aug 6
14:17:26 2014
@@ -21,7 +21,7 @@ package dev;
import java.nio.file.Paths ;
import org.apache.jena.fuseki.FusekiLogging ;
-import org.apache.jena.fuseki.jetty.SPARQLServer ;
+import org.apache.jena.fuseki.jetty.JettyFuseki ;
import org.apache.jena.fuseki.server.FusekiServer ;
import org.apache.jena.fuseki.server.FusekiServletContextListener ;
import org.eclipse.jetty.server.Server ;
@@ -31,13 +31,13 @@ public class RunAsWebapp
// See also
http://www.eclipse.org/jetty/documentation/current/embedded-examples.html#embedded-one-webapp
public static void main(String[] args) //throws Exception
{
- FusekiServer.FUSEKI_HOME = Paths.get(".").toAbsolutePath() ;
+ FusekiServer.FUSEKI_HOME = Paths.get("").toAbsolutePath() ;
FusekiServer.FUSEKI_BASE = Paths.get("run") ;
FusekiLogging.setLogging() ;
// No command line.
FusekiServletContextListener.initialSetup = null ;
- // Create a basic jetty server object that will listen on port 4040.
- Server server = SPARQLServer.create(3030) ;
+ // Create a basic jetty-hosted Fuseki server
+ Server server = JettyFuseki.create("/fuseki", 3030) ;
try {
server.start();
server.join();
Modified:
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/FusekiCmd.java?rev=1616241&r1=1616240&r2=1616241&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
(original)
+++
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
Wed Aug 6 14:17:26 2014
@@ -23,7 +23,7 @@ import java.util.List ;
import org.apache.jena.atlas.lib.FileOps ;
import org.apache.jena.fuseki.build.Template ;
import org.apache.jena.fuseki.jetty.JettyServerConfig ;
-import org.apache.jena.fuseki.jetty.SPARQLServer ;
+import org.apache.jena.fuseki.jetty.JettyFuseki ;
import org.apache.jena.fuseki.server.FusekiServletContextListener ;
import org.apache.jena.fuseki.server.ServerInitialConfig ;
import org.apache.jena.riot.Lang ;
@@ -93,6 +93,7 @@ public class FusekiCmd {
private JettyServerConfig jettyServerConfig = new
JettyServerConfig() ;
{
jettyServerConfig.port = 3030 ;
+ jettyServerConfig.contextPath = "/" ;
jettyServerConfig.jettyConfigFile = null ;
jettyServerConfig.pages = Fuseki.PagesStatic ;
jettyServerConfig.enableCompression = true ;
@@ -317,9 +318,9 @@ public class FusekiCmd {
protected void exec() {
FusekiServletContextListener.initialSetup = cmdLineDataset ;
// For standalone, command line use ...
- SPARQLServer.initializeServer(jettyServerConfig) ;
- SPARQLServer.instance.start() ;
- SPARQLServer.instance.join() ;
+ JettyFuseki.initializeServer(jettyServerConfig) ;
+ JettyFuseki.instance.start() ;
+ JettyFuseki.instance.join() ;
System.exit(0) ;
}
Copied:
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
(from r1616147,
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java?p2=jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java&p1=jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java&r1=1616147&r2=1616241&rev=1616241&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java
(original)
+++
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java
Wed Aug 6 14:17:26 2014
@@ -48,14 +48,14 @@ import com.hp.hpl.jena.sparql.util.Utils
* instances of the server and server configuration. Finally we can obtain
* instances of {@link org.apache.jena.fuseki.jetty.JettyServerConfig}.
*/
-public class SPARQLServer {
+public class JettyFuseki {
// Jetty specific.
// This class is becoming less important - it now sets up a Jetty server
for in-process use
// either for the command line in development
// and in testing but not direct webapp deployments.
static { Fuseki.init() ; }
- public static SPARQLServer instance = null ;
+ public static JettyFuseki instance = null ;
private ServerConnector serverConnector = null ;
// If a separate ...
@@ -67,7 +67,7 @@ public class SPARQLServer {
private Server server = null ;
// webapp setup - standard maven layout
- public static final String contextpath = "/" ;
+ public static String contextpath = "/" ;
public static final String resourceBase1 = "webapp" ; //
Standalone jar
public static final String resourceBase2 = "src/main/webapp" ; //
Development
@@ -81,31 +81,34 @@ public class SPARQLServer {
public static void initializeServer(JettyServerConfig config) {
// Currently server-wide.
Fuseki.verboseLogging = config.verboseLogging ;
- instance = new SPARQLServer(config) ;
+ instance = new JettyFuseki(config) ;
}
/** Build a Jetty server using the development files for the webapp
* No command line configuration.
*/
public static Server create(int port) {
+ return create("/", port) ;
+ }
+
+ public static Server create(String contextPath, int port) {
Server server = new Server(port) ;
- WebAppContext webapp = createWebApp() ;
+ WebAppContext webapp = createWebApp(contextPath) ;
server.setHandler(webapp) ;
return server ;
}
- private SPARQLServer(JettyServerConfig config) {
+ private JettyFuseki(JettyServerConfig config) {
this.serverConfig = config ;
- boolean webappBuild = true ;
- buildServerWebapp(serverConfig.jettyConfigFile,
config.enableCompression) ;
+ buildServerWebapp(serverConfig.contextPath,
serverConfig.jettyConfigFile, config.enableCompression) ;
if ( mgtConnector == null )
mgtConnector = serverConnector ;
}
/**
- * Initialize the {@link SPARQLServer} instance.
+ * Initialize the {@link JettyFuseki} instance.
*/
public void start() {
@@ -141,7 +144,7 @@ public class SPARQLServer {
}
/**
- * Sync with the {@link SPARQLServer} instance.
+ * Sync with the {@link JettyFuseki} instance.
* Returns only if the server exits cleanly
*/
public void join() {
@@ -151,7 +154,7 @@ public class SPARQLServer {
}
/**
- * Stop the {@link SPARQLServer} instance.
+ * Stop the {@link JettyFuseki} instance.
*/
public void stop() {
String now = Utils.nowAsString() ;
@@ -164,7 +167,7 @@ public class SPARQLServer {
MgtJMX.removeJMX() ;
}
- public static WebAppContext createWebApp() {
+ public static WebAppContext createWebApp(String contextPath) {
WebAppContext webapp = new WebAppContext();
webapp.getServletContext().getContextHandler().setMaxFormContentSize(10
* 1000 * 1000) ;
String resourceBase = null ;
@@ -177,7 +180,7 @@ public class SPARQLServer {
webapp.setDescriptor(resourceBase+"/WEB-INF/web.xml");
webapp.setResourceBase(resourceBase);
- webapp.setContextPath(contextpath);
+ webapp.setContextPath(contextPath);
//-- Jetty setup for the ServletContext logger.
// The name of the Jetty-allocated slf4j/log4j logger is
@@ -193,14 +196,14 @@ public class SPARQLServer {
return webapp ;
}
- private void buildServerWebapp(String jettyConfig, boolean
enableCompression) {
+ private void buildServerWebapp(String contextPath, String jettyConfig,
boolean enableCompression) {
if ( jettyConfig != null )
// --jetty-config=jetty-fuseki.xml
// for detailed configuration of the server using Jetty features.
configServer(jettyConfig) ;
else
defaultServerConfig(serverConfig.port, serverConfig.loopback) ;
- WebAppContext webapp = createWebApp() ;
+ WebAppContext webapp = createWebApp(contextPath) ;
server.setHandler(webapp) ;
// Replaced by Shiro.
if ( jettyConfig == null && serverConfig.authConfigFile != null )
Modified:
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java?rev=1616241&r1=1616240&r2=1616241&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
(original)
+++
jena/Experimental/jena-fuseki2/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
Wed Aug 6 14:17:26 2014
@@ -29,6 +29,8 @@ public class JettyServerConfig
/** Port to run the server service on */
public int port ;
+ /** Port to run the server service on */
+ public String contextPath ;
/** Jetty config file - if null, use the built-in configuration of Jetty */
public String jettyConfigFile = null ;
/** Listen only on the loopback (localhost) interface */
Modified:
jena/Experimental/jena-fuseki2/src/test/java/org/apache/jena/fuseki/ServerTest.java
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/test/java/org/apache/jena/fuseki/ServerTest.java?rev=1616241&r1=1616240&r2=1616241&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/test/java/org/apache/jena/fuseki/ServerTest.java
(original)
+++
jena/Experimental/jena-fuseki2/src/test/java/org/apache/jena/fuseki/ServerTest.java
Wed Aug 6 14:17:26 2014
@@ -25,7 +25,7 @@ import org.apache.jena.atlas.iterator.It
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.SPARQLServer ;
+import org.apache.jena.fuseki.jetty.JettyFuseki ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
@@ -76,7 +76,7 @@ public class ServerTest {
public static final Model model1 =
ModelFactory.createModelForGraph(graph1) ;
public static final Model model2 =
ModelFactory.createModelForGraph(graph2) ;
- private static SPARQLServer server = null ;
+ private static JettyFuseki server = null ;
// reference count of start/stop server
private static int countServer = 0 ;
@@ -120,15 +120,16 @@ public class ServerTest {
JettyServerConfig config = make(true, true) ;
config.authConfigFile = authConfigFile ;
- SPARQLServer.initializeServer(config);
- SPARQLServer.instance.start() ;
- server = SPARQLServer.instance ;
+ JettyFuseki.initializeServer(config);
+ JettyFuseki.instance.start() ;
+ server = JettyFuseki.instance ;
}
public static JettyServerConfig make(boolean allowUpdate, boolean
listenLocal) {
JettyServerConfig config = new JettyServerConfig() ;
// Avoid any persistent record.
config.port = ServerTest.port ;
+ config.contextPath = "/" ;
config.loopback = listenLocal ;
config.jettyConfigFile = null ;
config.pages = Fuseki.PagesStatic ;