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 2014/03/21 16:32:50 UTC

svn commit: r1579960 - in /jena/branches/jena-fuseki-new-ui: ./ src/main/java/org/apache/jena/fuseki/ src/main/java/org/apache/jena/fuseki/jetty/ src/main/java/org/apache/jena/fuseki/server/

Author: andy
Date: Fri Mar 21 15:32:49 2014
New Revision: 1579960

URL: http://svn.apache.org/r1579960
Log:
Clean up running in development setup

Modified:
    jena/branches/jena-fuseki-new-ui/config.ttl
    jena/branches/jena-fuseki-new-ui/fuseki_d.sh
    jena/branches/jena-fuseki-new-ui/make_cp_mvn
    jena/branches/jena-fuseki-new-ui/run-fuseki
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/FusekiErrorHandler.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java

Modified: jena/branches/jena-fuseki-new-ui/config.ttl
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/config.ttl?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
Binary files - no diff available.

Modified: jena/branches/jena-fuseki-new-ui/fuseki_d.sh
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/fuseki_d.sh?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/fuseki_d.sh (original)
+++ jena/branches/jena-fuseki-new-ui/fuseki_d.sh Fri Mar 21 15:32:49 2014
@@ -70,7 +70,7 @@
 # Default-Start:     3 4 5
 # Default-Stop:      0 1 2 6
 # Short-Description: Start Jena Fuseki at boot time
-# Description:       Jena Fuseki is a service that provides a SPARQL API over HTTP to one more RDF triple stores
+# Description:       Jena Fuseki is a service that provides a SPARQL API over HTTP
 ### END INIT INFO
 
 # DEBUG=1

Modified: jena/branches/jena-fuseki-new-ui/make_cp_mvn
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/make_cp_mvn?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/make_cp_mvn (original)
+++ jena/branches/jena-fuseki-new-ui/make_cp_mvn Fri Mar 21 15:32:49 2014
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Write a run script.
+# Make the maven classpath
 
 $POM="pom.xml" ;
 $POM = @ARGV[0] if ( defined(@ARGV[0]) ) ;
@@ -32,4 +32,3 @@ print "   XCP=\"\$CP:\$XCP\"\n" ;
 print "fi\n" ;
 print "\n" ;
 print "echo \"\$XCP\"\n"
-

Modified: jena/branches/jena-fuseki-new-ui/run-fuseki
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/run-fuseki?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/run-fuseki (original)
+++ jena/branches/jena-fuseki-new-ui/run-fuseki Fri Mar 21 15:32:49 2014
@@ -19,20 +19,37 @@
 ## Run Fuseki, include development code if it looks like it's available.
 ## Or --pages=
 
-export FUSEKI_HOME=$PWD
-if [ ! -e $FUSEKI_HOME ]
-then
-    echo "$FUSEKI_HOME does not exist" 1>&2
-    exit 1
+function check_dir() {
+    local NAME="$1"
+    local DIR="$2"
+    if [ ! -e "$DIR" ]
+    then
+	echo "$NAME: '$DIR' does not exist" 1>&2
+	exit 1
     fi
-if [ ! -d $FUSEKI_HOME ]
-then
-    echo "$FUSEKI_HOME exists but is not a directory" 1>&2
+    if [ ! -d "$DIR" ]
+    then
+	echo "$NAME: '$DIR' exists but is not a directory" 1>&2
     exit 1
     fi
+}
+
+export FUSEKI_HOME=$PWD
+check_dir "FUSEKI_HOME" "$FUSEKI_HOME"
+
+export FUSEKI_BASE="$FUSEKI_HOME/run"
+check_dir "FUSEKI_BASE" "$FUSEKI_BASE"
+
+CPF="$FUSEKI_HOME/fuseki.classpath"
+
+if [ ! -e "$CPF" ]; then
+    echo "Creating Fuseki classpath file"
+    exec "$FUSEKI_HOME/make_cp_bin" > $CPF
+fi
 
-CP="$(. $FUSEKI_HOME/run_cp)"
+CP="$(. $CPF)"
 
+# Add development directories.
 if [ -e "$FUSEKI_HOME/classes" ]
 then
     CP="$FUSEKI_HOME/classes:$CP"
@@ -54,9 +71,8 @@ done
 
 FUSEKI_LOG=${FUSEKI_LOG:-}
 JVM_ARGS="${JVM_ARGS:--Xmx1200M}"
-#JVM_ARGS="$JVM_ARGS -XX:MaxDirectMemorySize=1G"
 
-# echo $CP
+exec java -cp "$CP" $JVM_ARGS $FUSEKI_LOG org.apache.jena.fuseki.FusekiCmd "$@"
 
-exec java -cp "$CP" $JVM_ARGS $FUSEKI_LOG org.apache.jena.fuseki.FusekiCmd \
-    --home="$FUSEKI_HOME" "$@"
+# Run as war file.
+# java -jar jetty-runner.jar fuseki-server.war
\ No newline at end of file

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/FusekiCmd.java Fri Mar 21 15:32:49 2014
@@ -90,7 +90,6 @@ public class FusekiCmd {
             new FusekiCmdInner(argv).mainRun() ;
         }
 
-        public String               homeDir           = null ;
         private JettyServerConfig   jettyServerConfig = new JettyServerConfig() ;
         {
             jettyServerConfig.port = 3030 ;
@@ -129,7 +128,7 @@ public class FusekiCmd {
             add(argBasicAuth) ;
             add(argMgt,     "--mgt",          "Enable the management commands") ;
             add(argMgtPort, "--mgtPort=port", "Port for management optations") ;
-            add(argHome, "--home=DIR", "Root of Fuseki installation (overrides environment variable FUSEKI_HOME)") ;
+            //add(argHome, "--home=DIR", "Root of Fuseki installation (overrides environment variable FUSEKI_HOME)") ;
             add(argGZip, "--gzip=on|off", "Enable GZip compression (HTTP Accept-Encoding) if request header set") ;
 
             //add(argUber) ;
@@ -292,8 +291,9 @@ public class FusekiCmd {
             }
 
             if ( contains(argHome) ) {
-                List<String> args = super.getValues(argHome) ;
-                homeDir = args.get(args.size() - 1) ;
+                Fuseki.configLog.warn("--home ignored (use enviroment variables $FUSEKI_HOME and $FUSEKI_BASE)") ;
+//                List<String> args = super.getValues(argHome) ;
+//                homeDir = args.get(args.size() - 1) ;
             }
 
             if ( contains(argPages) ) {
@@ -326,31 +326,6 @@ public class FusekiCmd {
             System.exit(0) ;
         }
 
-        private String pagesDir(String pages) {
-            if ( homeDir == null ) {
-                if ( System.getenv(Fuseki.FusekiHomeEnv) != null )
-                    homeDir = System.getenv(Fuseki.FusekiHomeEnv) ;
-                else
-                    homeDir = "." ;
-            }
-
-            homeDir = sort_out_dir(homeDir) ;
-            Fuseki.configLog.info("Home Directory: " + FileOps.fullDirectoryPath(homeDir)) ;
-            if ( !FileOps.exists(homeDir) )
-                Fuseki.configLog.warn("No such directory for Fuseki home: " + homeDir) ;
-
-            if ( pages == null )
-                pages = homeDir + Fuseki.PagesStatic ;
-
-            Fuseki.configLog.debug("Static Content Directory: " + FileOps.fullDirectoryPath(pages)) ;
-
-            if ( !FileOps.exists(pages) ) {
-                Fuseki.configLog.warn("No such directory for static content: "+ FileOps.fullDirectoryPath(pages)) ;
-                Fuseki.configLog.warn("You may need to set the --pages or --home option to configure static content correctly") ;
-            }
-            return pages ;
-        }
-
         @Override
         protected String getCommandName() {
             return "fuseki" ;

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/FusekiErrorHandler.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/FusekiErrorHandler.java?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/FusekiErrorHandler.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/FusekiErrorHandler.java Fri Mar 21 15:32:49 2014
@@ -37,6 +37,8 @@ import org.eclipse.jetty.server.handler.
 
 public class FusekiErrorHandler extends ErrorHandler
 {
+    public FusekiErrorHandler() {}
+    
     @Override
     public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException
     {

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/JettyServerConfig.java Fri Mar 21 15:32:49 2014
@@ -19,7 +19,8 @@
 package org.apache.jena.fuseki.jetty;
 
 
-/** This represents a configuration of a SPARQL server.
+/** Configuration of the Jetty server when run from the command line directly,
+ *  not as a webapp/war file.
  */
 
 public class JettyServerConfig

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/jetty/SPARQLServer.java Fri Mar 21 15:32:49 2014
@@ -37,7 +37,9 @@ import org.eclipse.jetty.xml.XmlConfigur
 
 import com.hp.hpl.jena.sparql.util.Utils ;
 
-/**
+/** Standalone server, not run as a WAR file.
+ * Used in testing and development.
+ * 
  * SPARQLServer is the Jena server instance which wraps/utilizes 
  * {@link org.eclipse.jetty.server.Server}. This class provides
  * immediate access to the {@link org.eclipse.jetty.server.Server#start()} and 
@@ -48,8 +50,8 @@ import com.hp.hpl.jena.sparql.util.Utils
 public class SPARQLServer {
     // Jetty specific.
     // This class is becoming less important - it now sets up a Jetty server for in-process use
-    // either for the command line (including the fuskei service init.d script)  
-    // or testing but not direct webapp deployments. 
+    // either for the command line in development  
+    // and in testing but not direct webapp deployments. 
     static { Fuseki.init() ; }
 
     public static SPARQLServer  instance    = null ;
@@ -65,8 +67,8 @@ public class SPARQLServer {
     
     // webapp setup - standard maven layout
     public static final String contextpath    = "/" ;
-    public static final String descriptorFile = "src/main/webapp/WEB-INF/web.xml" ;
     public static final String resourceBase   = "src/main/webapp" ;
+    public static final String descriptorFile = resourceBase+"/WEB-INF/web.xml" ;
 
     /**
      * Default setup which requires a {@link org.apache.jena.fuseki.jetty.JettyServerConfig}
@@ -164,7 +166,7 @@ public class SPARQLServer {
     public static WebAppContext createWebApp() {
       WebAppContext webapp = new WebAppContext();
       webapp.getServletContext().getContextHandler().setMaxFormContentSize(10 * 1000 * 1000) ;
-      webapp.setDescriptor(descriptorFile);
+      webapp.setDescriptor(resourceBase+"/WEB-INF/web.xml");
       webapp.setResourceBase(resourceBase);
       webapp.setContextPath(contextpath);
       

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java?rev=1579960&r1=1579959&r2=1579960&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java Fri Mar 21 15:32:49 2014
@@ -47,10 +47,11 @@ public class FusekiServer
 {
     /** Root of the Fuseki installation for fixed files. */ 
     public static Path FUSEKI_HOME = null ;
-    /** Root of the varying files in this deployment. */ 
+    /** Root of the varying files in this deployment. Often $FUSEKI_HOME/run */ 
     public static Path FUSEKI_BASE = null ;
 
     // Relative names of directories
+    private static final String        runArea                  = "run" ;
     private static final String        databasesLocationBase    = "databases" ;
     private static final String        backupDirNameBase        = "backups" ;
     private static final String        configDirNameBase        = "configuration" ;
@@ -60,7 +61,7 @@ public class FusekiServer
     private static final String        templatesNameBase        = "templates" ;
     
     // --- Set during server initialization
-    
+
     /** Directory for TDB databases - this is known to the assembler templates */
     public static Path        dirDatabases       = null ;
     
@@ -100,7 +101,7 @@ public class FusekiServer
             if ( x2 != null )
                 FUSEKI_BASE = Paths.get(x2) ;
             else
-                FUSEKI_BASE = FUSEKI_HOME ;
+                FUSEKI_BASE = FUSEKI_HOME.resolve(runArea) ;
         }
 
         mustExist(FUSEKI_HOME) ;