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 ;


Reply via email to