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/12/03 17:42:43 UTC

svn commit: r1547472 - in /jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki: mgt/ server/ servlets/

Author: andy
Date: Tue Dec  3 16:42:42 2013
New Revision: 1547472

URL: http://svn.apache.org/r1547472
Log:
Cleaning up control actions.

Added:
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java
      - copied, changed from r1547446, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionCtl.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
      - copied, changed from r1547446, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DatasetsServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDescription.java
      - copied, changed from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DescriptionServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java
      - copied, changed from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java
      - copied, changed from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java
Removed:
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DatasetsServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DescriptionServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionCtl.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java
Modified:
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
    jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java?rev=1547472&r1=1547471&r2=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java Tue Dec  3 16:42:42 2013
@@ -36,7 +36,6 @@ import org.apache.jena.fuseki.FusekiExce
 import org.apache.jena.fuseki.FusekiLib ;
 import org.apache.jena.fuseki.server.DatasetRef ;
 import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.apache.jena.fuseki.servlets.ActionCtl ;
 import org.apache.jena.fuseki.servlets.HttpAction ;
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.RDFDataMgr ;
@@ -84,6 +83,7 @@ public class ActionBackup extends Action
         DatasetRef ref = DatasetRegistry.get().get(dataset) ;
         action.setDataset(ref);
         scheduleBackup(action) ;
+        success(action) ;
     }
 
     static final String BackupArea = "backups" ;  

Copied: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java (from r1547446, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionCtl.java)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java?p2=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java&p1=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionCtl.java&r1=1547446&r2=1547472&rev=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionCtl.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java Tue Dec  3 16:42:42 2013
@@ -16,10 +16,13 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.servlets;
+package org.apache.jena.fuseki.mgt;
 
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.server.* ;
+import org.apache.jena.fuseki.servlets.ActionBase ;
+import org.apache.jena.fuseki.servlets.ActionLib ;
+import org.apache.jena.fuseki.servlets.HttpAction ;
 
 /** Control/admin request lifecycle */
 public abstract class ActionCtl extends ActionBase
@@ -58,6 +61,7 @@ public abstract class ActionCtl extends 
     }
     
     // This is the service request lifecycle.
+    final
     protected void executeLifecycle(HttpAction action)
     {
         startRequest(action) ;

Copied: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java (from r1547446, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DatasetsServlet.java)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java?p2=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java&p1=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DatasetsServlet.java&r1=1547446&r2=1547472&rev=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DatasetsServlet.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java Tue Dec  3 16:42:42 2013
@@ -38,8 +38,6 @@ import org.apache.jena.fuseki.server.Dat
 import org.apache.jena.fuseki.server.DatasetRegistry ;
 import org.apache.jena.fuseki.server.FusekiConfig ;
 import org.apache.jena.fuseki.server.SPARQLServer ;
-import org.apache.jena.fuseki.servlets.ActionCtl ;
-import org.apache.jena.fuseki.servlets.ActionErrorException ;
 import org.apache.jena.fuseki.servlets.HttpAction ;
 import org.apache.jena.riot.* ;
 import org.apache.jena.riot.lang.LangRIOT ;
@@ -53,9 +51,9 @@ import com.hp.hpl.jena.rdf.model.Model ;
 import com.hp.hpl.jena.rdf.model.ModelFactory ;
 
 
-public class DatasetsServlet extends ActionCtl {
+public class ActionDatasets extends ActionCtl {
     
-    public DatasetsServlet() {}
+    public ActionDatasets() { super() ; }
     
     @Override
     protected void doGet(HttpServletRequest request, HttpServletResponse response) {
@@ -78,23 +76,6 @@ public class DatasetsServlet extends Act
 //    }
 
     @Override
-    protected void executeLifecycle(HttpAction action)
-    {
-        startRequest(action) ;
-        try {
-            perform(action) ;
-//            incCounter(action.srvRef, RequestsGood) ;
-//            incCounter(action.dsRef, RequestsGood) ;
-        } catch (ActionErrorException ex) {
-//            incCounter(action.srvRef, RequestsBad) ;
-//            incCounter(action.dsRef, RequestsBad) ;
-            throw ex ;
-        } finally {
-            finishRequest(action) ;
-        }
-    }
-    
-    @Override
     protected void perform(HttpAction action) {
         String name = mapRequestToDataset(action) ;
         String method = action.request.getMethod().toUpperCase(Locale.ROOT) ;

Copied: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDescription.java (from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DescriptionServlet.java)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDescription.java?p2=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDescription.java&p1=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DescriptionServlet.java&r1=1546818&r2=1547472&rev=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DescriptionServlet.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionDescription.java Tue Dec  3 16:42:42 2013
@@ -19,10 +19,8 @@
 package org.apache.jena.fuseki.mgt;
 
 import java.io.IOException ;
-import java.io.PrintStream ;
 
 import javax.servlet.ServletOutputStream ;
-import javax.servlet.http.HttpServlet ;
 import javax.servlet.http.HttpServletRequest ;
 import javax.servlet.http.HttpServletResponse ;
 
@@ -31,36 +29,35 @@ import org.apache.jena.atlas.json.JsonBu
 import org.apache.jena.atlas.json.JsonValue ;
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.server.DatasetRegistry ;
+import org.apache.jena.fuseki.servlets.HttpAction ;
 import org.apache.jena.riot.WebContent ;
-import org.apache.jena.web.HttpSC ;
 import org.eclipse.jetty.server.Server ;
 
 /** Description of datasets for a server */ 
-public class DescriptionServlet extends HttpServlet
+public class ActionDescription extends ActionCtl
 {
+    public ActionDescription() { super() ; }
+    
+    @Override
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
+        doCommon(req, resp); }
+    
     @Override
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-        throws /*ServletException,*/ IOException
+    protected void perform(HttpAction action) 
     {
         try {
-            // Conneg etc.
-            description(req, resp) ;
-        } catch (IOException e)
-        { 
-            resp.sendError(HttpSC.INTERNAL_SERVER_ERROR_500, e.getMessage()) ;
-            resp.setContentType(WebContent.contentTypeTextPlain) ;
-            resp.setCharacterEncoding(WebContent.charsetUTF8) ;
-            ServletOutputStream out = resp.getOutputStream() ;
-            PrintStream x = new PrintStream(out) ;
-            e.printStackTrace(x);
-            x.flush() ;
+            description(action) ;
+            success(action) ;
+        }
+        catch (IOException e) {
+            errorOccurred(e) ;
         }
     }
     
-    private void description(HttpServletRequest req, HttpServletResponse resp) throws IOException {
-        ServletOutputStream out = resp.getOutputStream() ;
-        resp.setContentType(WebContent.contentTypeJSON);
-        resp.setCharacterEncoding(WebContent.charsetUTF8) ;
+    private void description(HttpAction action) throws IOException {
+        ServletOutputStream out = action.response.getOutputStream() ;
+        action.response.setContentType(WebContent.contentTypeJSON);
+        action.response.setCharacterEncoding(WebContent.charsetUTF8) ;
         
         JsonBuilder builder = new JsonBuilder() ; 
         builder.startObject() ;

Copied: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java (from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java?p2=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java&p1=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java&r1=1546818&r2=1547472&rev=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java Tue Dec  3 16:42:42 2013
@@ -19,47 +19,41 @@
 package org.apache.jena.fuseki.mgt;
 
 import java.io.IOException ;
-import java.io.PrintStream ;
 import java.util.Iterator ;
 
 import javax.servlet.ServletOutputStream ;
-import javax.servlet.http.HttpServlet ;
 import javax.servlet.http.HttpServletRequest ;
 import javax.servlet.http.HttpServletResponse ;
 
+import org.apache.jena.atlas.io.IO ;
 import org.apache.jena.atlas.json.JSON ;
 import org.apache.jena.atlas.json.JsonArray ;
 import org.apache.jena.atlas.json.JsonObject ;
 import org.apache.jena.fuseki.server.* ;
+import org.apache.jena.fuseki.servlets.HttpAction ;
 import org.apache.jena.riot.WebContent ;
-import org.apache.jena.web.HttpSC ;
 
-public class StatsServlet extends HttpServlet
+public class ActionStats extends ActionCtl
 {
-    // Convert to JsonBuilder-style
+    public ActionStats() { super() ; } 
+    
     @Override
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-        throws /*ServletException,*/ IOException
-    {
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
+        doCommon(req, resp); 
+    }
+    
+    @Override
+    protected void perform(HttpAction action) {
         try {
-            // Conneg etc.
-            statsJSON(req, resp) ;
-        } catch (IOException e) {
-            resp.sendError(HttpSC.INTERNAL_SERVER_ERROR_500, e.getMessage()) ;
-            resp.setContentType(WebContent.contentTypeTextPlain) ;
-            resp.setCharacterEncoding(WebContent.charsetUTF8) ;
-            ServletOutputStream out = resp.getOutputStream() ;
-            PrintStream x = new PrintStream(out) ;
-            e.printStackTrace(x) ;
-            x.flush() ;
-        }
+            perform$(action) ;
+        } catch (IOException ex) { IO.exception(ex) ; }
     }
     
-    private void statsJSON(HttpServletRequest req, HttpServletResponse resp) throws IOException
-    {
-        ServletOutputStream out = resp.getOutputStream() ;
-        resp.setContentType(WebContent.contentTypeJSON);
-        resp.setCharacterEncoding(WebContent.charsetUTF8) ;
+    protected void perform$(HttpAction action) throws IOException {
+        HttpServletResponse response = action.response ;
+        ServletOutputStream out = action.response.getOutputStream() ;
+        response.setContentType(WebContent.contentTypeJSON);
+        response.setCharacterEncoding(WebContent.charsetUTF8) ;
 
         /*
          * { "server" : ....   
@@ -68,19 +62,19 @@ public class StatsServlet extends HttpSe
          *       GSP stucture?
          *         
          */
-        
+
         JsonObject obj = new JsonObject() ;
         JsonObject datasets = new JsonObject() ;
-        
+
         JsonObject server = new JsonObject() ;
-        server.put("host", req.getLocalName()+":"+req.getLocalPort()) ;
-        
+        server.put("host", action.request.getLocalName()+":"+action.request.getLocalPort()) ;
+
         for ( String ds : DatasetRegistry.get().keys() )
             statsJSON(datasets, ds) ; 
-        
+
         obj.put("server", server) ;
         obj.put("datasets", datasets) ;
-        
+
         JSON.write(out, obj) ;
         out.flush() ;
     }

Copied: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java (from r1546818, jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java)
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java?p2=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java&p1=jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java&r1=1546818&r2=1547472&rev=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java Tue Dec  3 16:42:42 2013
@@ -20,7 +20,7 @@
  */
 
 // Could be neater - much, much neater!
-package org.apache.jena.fuseki.servlets;
+package org.apache.jena.fuseki.mgt;
 
 import java.io.BufferedReader ;
 import java.io.IOException ;

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java?rev=1547472&r1=1547471&r2=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java Tue Dec  3 16:42:42 2013
@@ -27,7 +27,6 @@ import javax.servlet.http.HttpServlet ;
 import org.apache.jena.fuseki.Fuseki ;
 import org.apache.jena.fuseki.FusekiException ;
 import org.apache.jena.fuseki.server.FusekiErrorHandler ;
-import org.apache.jena.fuseki.servlets.DumpServlet ;
 import org.eclipse.jetty.server.Connector ;
 import org.eclipse.jetty.server.Server ;
 import org.eclipse.jetty.server.nio.SelectChannelConnector ;
@@ -66,8 +65,8 @@ public class ManagementServer
         if ( !base.startsWith("/"))
             throw new FusekiException("Base URI does not start with a '/'") ; 
         // Dump request
-        addServlet(context, new DumpServlet(),          base+"dump") ;
-        addServlet(context, new DescriptionServlet(),   base+"status") ;
+        addServlet(context, new DumpServlet(),         base+"dump") ;
+        addServlet(context, new ActionDescription(),   base+"status") ;
     }
     
     public static void addAdminFunctions(ServletContextHandler context, String base) {
@@ -77,8 +76,8 @@ public class ManagementServer
         if ( !base.startsWith("/"))
             throw new FusekiException("Base URI does nto start with a '/'") ; 
         addServlet(context, new MgtCmdServlet(),        base+"mgt") ;
-        addServlet(context, new StatsServlet(),         base+"stats") ;
-        addServlet(context, new DatasetsServlet(),      base+"datasets/*") ; // Covers "datasets" as well. 
+        addServlet(context, new ActionStats(),          base+"stats") ;
+        addServlet(context, new ActionDatasets(),       base+"datasets/*") ; // Covers ".../datasets" as well. 
     }
 
     // SHARE

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1547472&r1=1547471&r2=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java Tue Dec  3 16:42:42 2013
@@ -32,7 +32,9 @@ import org.apache.jena.fuseki.FusekiConf
 import org.apache.jena.fuseki.FusekiException ;
 import org.apache.jena.fuseki.HttpNames ;
 import org.apache.jena.fuseki.mgt.MgtFunctions ;
-import org.apache.jena.fuseki.servlets.* ;
+import org.apache.jena.fuseki.servlets.SPARQL_QueryGeneral ;
+import org.apache.jena.fuseki.servlets.SPARQL_UberFilter ;
+import org.apache.jena.fuseki.servlets.SimpleVelocityServlet ;
 import org.apache.jena.fuseki.validation.DataValidator ;
 import org.apache.jena.fuseki.validation.IRIValidator ;
 import org.apache.jena.fuseki.validation.QueryValidator ;
@@ -270,7 +272,6 @@ public class SPARQLServer {
             HttpServlet validateData = new DataValidator() ;
             HttpServlet validateIRI = new IRIValidator() ;
 
-            HttpServlet dumpService = new DumpServlet() ;
             HttpServlet generalQueryService = new SPARQL_QueryGeneral() ;
 
             addServlet(context, validateQuery, validationRoot + "/query", false) ;

Modified: jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java
URL: http://svn.apache.org/viewvc/jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java?rev=1547472&r1=1547471&r2=1547472&view=diff
==============================================================================
--- jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java (original)
+++ jena/branches/jena-fuseki-new-ui/src/main/java/org/apache/jena/fuseki/servlets/ActionSPARQL.java Tue Dec  3 16:42:42 2013
@@ -65,7 +65,7 @@ public abstract class ActionSPARQL exten
     }
     
     // This is the service request lifecycle.
-    // Called directly by the UberServlet which has not done any stats by this point.
+    final
     protected void executeLifecycle(HttpAction action)
     {
         incCounter(action.dsRef, Requests) ;