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) ;