From 1d41d2ce4975ebc34e8a4dd4ff67cf1100421856 Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Sat, 4 Aug 2018 21:56:23 +0100 Subject: [PATCH 1/3] JENA-1585: Fuseki core reorg --- .../jena/fuseki/cmds/FusekiBasicCmd.java | 2 +- .../org/apache/jena/fuseki/FusekiLib.java | 99 -------------- .../jena/fuseki/FusekiRequestException.java | 57 -------- .../jena/fuseki/build/FusekiBuildLib.java | 125 ++++++++++++++++++ .../jena/fuseki/build/FusekiBuilder.java | 17 +-- .../jena/fuseki/build/FusekiConfig.java | 8 +- .../apache/jena/fuseki/build/Template.java | 2 +- .../org/apache/jena/fuseki/cmd/FusekiCmd.java | 8 +- .../fuseki/{mgt => ctl}/ActionAsyncTask.java | 3 +- .../fuseki/{mgt => ctl}/ActionBackup.java | 3 +- .../fuseki/{mgt => ctl}/ActionBackupList.java | 4 +- .../{mgt => ctl}/ActionContainerItem.java | 2 +- .../jena/fuseki/{mgt => ctl}/ActionCtl.java | 2 +- .../jena/fuseki/{mgt => ctl}/ActionPing.java | 2 +- .../jena/fuseki/{mgt => ctl}/ActionSleep.java | 4 +- .../jena/fuseki/{mgt => ctl}/ActionStats.java | 13 +- .../jena/fuseki/{mgt => ctl}/ActionTasks.java | 10 +- .../jena/fuseki/{mgt => ctl}/Async.java | 6 +- .../jena/fuseki/{mgt => ctl}/Backup.java | 4 +- .../JsonConstCtl.java} | 13 +- .../jena/fuseki/{mgt => ctl}/TaskBase.java | 2 +- .../apache/jena/fuseki/jetty/JettyFuseki.java | 2 +- .../jena/fuseki/mgt/ActionDatasets.java | 7 +- .../apache/jena/fuseki/mgt/ActionItem.java | 1 + .../apache/jena/fuseki/mgt/ActionLogs.java | 1 + .../jena/fuseki/mgt/ActionServerStatus.java | 11 +- .../apache/jena/fuseki/mgt/DumpServlet.java | 14 +- .../org/apache/jena/fuseki/mgt/JsonConst.java | 53 -------- .../jena/fuseki/mgt/JsonDescription.java | 12 +- .../org/apache/jena/fuseki/mgt/MgtConst.java | 21 +++ .../fuseki/{server => mgt}/ServiceMXBean.java | 2 +- .../jena/fuseki/servlets/REST_Quads_RW.java | 2 + .../jena/fuseki/servlets/SPARQL_GSP_RW.java | 4 +- .../fuseki/servlets/SPARQL_QueryGeneral.java | 2 +- .../jena/fuseki/servlets/ServletOps.java | 3 +- .../fuseki/{ => system}/FusekiLogging.java | 5 +- .../{migrate => system}/GraphLoadUtils.java | 2 +- .../{migrate => system}/StreamRDFLimited.java | 2 +- .../fuseki/{servlets => system}/Upload.java | 6 +- .../{servlets => system}/UploadDetails.java | 2 +- .../fuseki/{server => webapp}/FusekiEnv.java | 2 +- .../FusekiServerEnvironmentInit.java | 4 +- .../FusekiServerListener.java | 5 +- .../{server => webapp}/FusekiSystem.java | 3 +- .../ShiroEnvironmentLoader.java | 2 +- .../{server => webapp}/SystemState.java | 6 +- .../jena/fuseki/{server => core}/config.ttl | 0 .../jena/fuseki/{server => core}/shiro.ini | 0 .../{server => core}/templates/config-mem | 0 .../{server => core}/templates/config-service | 0 .../{server => core}/templates/config-tdb | 0 .../{server => core}/templates/config-tdb-dir | 0 .../{server => core}/templates/config-tdb-mem | 0 .../{server => core}/templates/config-tdb2 | 0 .../templates/config-tdb2-dir | 0 .../templates/config-tdb2-mem | 0 .../src/main/webapp/WEB-INF/web.xml | 124 ++++++++--------- .../jena/fuseki/AbstractFusekiTest.java | 8 +- .../org/apache/jena/fuseki/ServerCtl.java | 6 +- .../org/apache/jena/fuseki/ServerTest.java | 2 +- .../org/apache/jena/fuseki/TS_Fuseki.java | 11 +- .../org/apache/jena/fuseki/TestAdmin.java | 8 +- .../java/org/apache/jena/fuseki/TestAuth.java | 6 +- .../jena/fuseki/{build => }/TestBuilder.java | 4 +- .../{http => }/TestDatasetAccessorHTTP.java | 4 +- .../TestDatasetGraphAccessorHTTP.java | 3 +- .../apache/jena/fuseki/TestDatasetOps.java | 2 +- .../apache/jena/fuseki/TestFileUpload.java | 2 - .../jena/fuseki/{http => }/TestHttpOp.java | 3 +- .../jena/fuseki/TestHttpOperations.java | 2 - .../org/apache/jena/fuseki/package-info.java} | 45 ++----- .../jena/fuseki/embedded/FusekiServer.java | 15 ++- .../fuseki/embedded/TS_EmbeddedFuseki.java | 2 - .../fuseki/embedded/TestFusekiTestAuth.java | 2 - 74 files changed, 375 insertions(+), 434 deletions(-) delete mode 100644 jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java create mode 100644 jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionAsyncTask.java (96%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionBackup.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionBackupList.java (97%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionContainerItem.java (99%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionCtl.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionPing.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionSleep.java (97%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionStats.java (95%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/ActionTasks.java (92%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/Async.java (92%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/Backup.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{FusekiNotFoundException.java => ctl/JsonConstCtl.java} (68%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{mgt => ctl}/TaskBase.java (97%) delete mode 100644 jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonConst.java rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => mgt}/ServiceMXBean.java (96%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{ => system}/FusekiLogging.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{migrate => system}/GraphLoadUtils.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{migrate => system}/StreamRDFLimited.java (97%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{servlets => system}/Upload.java (96%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{servlets => system}/UploadDetails.java (98%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/FusekiEnv.java (99%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/FusekiServerEnvironmentInit.java (95%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/FusekiServerListener.java (95%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/FusekiSystem.java (99%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/ShiroEnvironmentLoader.java (99%) rename jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/{server => webapp}/SystemState.java (97%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/config.ttl (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/shiro.ini (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-mem (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-service (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb-dir (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb-mem (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb2 (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb2-dir (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{server => core}/templates/config-tdb2-mem (100%) rename jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/{build => }/TestBuilder.java (93%) rename jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/{http => }/TestDatasetAccessorHTTP.java (98%) rename jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/{http => }/TestDatasetGraphAccessorHTTP.java (95%) rename jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/{http => }/TestHttpOp.java (98%) rename jena-fuseki2/jena-fuseki-core/src/{main/java/org/apache/jena/fuseki/servlets/NullOutputStream.java => test/java/org/apache/jena/fuseki/package-info.java} (55%) diff --git a/jena-fuseki2/jena-fuseki-basic/src/main/java/org/apache/jena/fuseki/cmds/FusekiBasicCmd.java b/jena-fuseki2/jena-fuseki-basic/src/main/java/org/apache/jena/fuseki/cmds/FusekiBasicCmd.java index f1680b66d1f..010b391f02f 100644 --- a/jena-fuseki2/jena-fuseki-basic/src/main/java/org/apache/jena/fuseki/cmds/FusekiBasicCmd.java +++ b/jena-fuseki2/jena-fuseki-basic/src/main/java/org/apache/jena/fuseki/cmds/FusekiBasicCmd.java @@ -38,12 +38,12 @@ import org.apache.jena.atlas.logging.FmtLog; import org.apache.jena.fuseki.Fuseki; import org.apache.jena.fuseki.FusekiException; -import org.apache.jena.fuseki.FusekiLogging; import org.apache.jena.fuseki.embedded.FusekiServer; import org.apache.jena.fuseki.server.DataAccessPoint; import org.apache.jena.fuseki.server.DataAccessPointRegistry; import org.apache.jena.fuseki.server.DataService; import org.apache.jena.fuseki.servlets.SPARQL_QueryGeneral ; +import org.apache.jena.fuseki.system.FusekiLogging; import org.apache.jena.fuseki.validation.DataValidator ; import org.apache.jena.fuseki.validation.IRIValidator ; import org.apache.jena.fuseki.validation.QueryValidator ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java index 2da827b4abe..37162e85b6b 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLib.java @@ -35,16 +35,11 @@ import org.apache.jena.atlas.web.HttpException; import org.apache.jena.ext.com.google.common.collect.ArrayListMultimap; import org.apache.jena.ext.com.google.common.collect.Multimap; -import org.apache.jena.fuseki.server.SystemState ; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; import org.apache.jena.query.* ; -import org.apache.jena.rdf.model.Literal ; -import org.apache.jena.rdf.model.Model ; -import org.apache.jena.rdf.model.RDFNode ; -import org.apache.jena.rdf.model.Resource ; import org.apache.jena.rdfconnection.RDFConnectionRemote; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; @@ -53,7 +48,6 @@ import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.Quad ; import org.apache.jena.sparql.util.Convert ; -import org.apache.jena.vocabulary.RDFS ; public class FusekiLib { // ==> ActionLib @@ -174,99 +168,6 @@ public static void addDataInto(DatasetGraph src, DatasetGraph dest) { pmapDest.withDefaultMappings(pmapSrc) ; } - // ---- Helper code - public static ResultSet query(String string, Model m) { - return query(string, m, null, null) ; - } - - public static ResultSet query(String string, Dataset ds) { - return query(string, ds, null, null) ; - } - - public static ResultSet query(String string, Model m, String varName, RDFNode value) { - Query query = QueryFactory.create(SystemState.PREFIXES + string) ; - QuerySolutionMap initValues = null ; - if ( varName != null ) - initValues = querySolution(varName, value) ; - try ( QueryExecution qExec = QueryExecutionFactory.create(query, m, initValues) ) { - return ResultSetFactory.copyResults(qExec.execSelect()) ; - } - } - - public static ResultSet query(String string, Dataset ds, String varName, RDFNode value) { - Query query = QueryFactory.create(SystemState.PREFIXES + string) ; - QuerySolutionMap initValues = null ; - if ( varName != null ) - initValues = querySolution(varName, value) ; - try ( QueryExecution qExec = QueryExecutionFactory.create(query, ds, initValues) ) { - return ResultSetFactory.copyResults(qExec.execSelect()) ; - } - } - - private static QuerySolutionMap querySolution(String varName, RDFNode value) { - QuerySolutionMap qsm = new QuerySolutionMap() ; - querySolution(qsm, varName, value) ; - return qsm ; - } - - public static QuerySolutionMap querySolution(QuerySolutionMap qsm, String varName, RDFNode value) { - qsm.add(varName, value) ; - return qsm ; - } - - public static RDFNode getOne(Resource svc, String property) { - ResultSet rs = FusekiLib.query("SELECT * { ?svc " + property + " ?x}", svc.getModel(), "svc", svc) ; - if ( !rs.hasNext() ) - throw new FusekiConfigException("No property '" + property + "' for service " + FusekiLib.nodeLabel(svc)) ; - RDFNode x = rs.next().get("x") ; - if ( rs.hasNext() ) - throw new FusekiConfigException("Multiple properties '" + property + "' for service " + FusekiLib.nodeLabel(svc)) ; - return x ; - } - - // Node presentation - public static String nodeLabel(RDFNode n) { - if ( n == null ) - return "" ; - if ( n instanceof Resource ) - return strForResource((Resource)n) ; - - Literal lit = (Literal)n ; - return lit.getLexicalForm() ; - } - - public static String strForResource(Resource r) { - return strForResource(r, r.getModel()) ; - } - - public static String strForResource(Resource r, PrefixMapping pm) { - if ( r == null ) - return "NULL " ; - if ( r.hasProperty(RDFS.label) ) { - RDFNode n = r.getProperty(RDFS.label).getObject() ; - if ( n instanceof Literal ) - return ((Literal)n).getString() ; - } - - if ( r.isAnon() ) - return "<>" ; - - if ( pm == null ) - pm = r.getModel() ; - - return strForURI(r.getURI(), pm) ; - } - - public static String strForURI(String uri, PrefixMapping pm) { - if ( pm != null ) { - String x = pm.shortForm(uri) ; - - if ( !x.equals(uri) ) - return x ; - } - return "<" + uri + ">" ; - } - /** Choose an unused port for a server to listen on */ public static int choosePort() { try (ServerSocket s = new ServerSocket(0)) { diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java deleted file mode 100644 index e197be233e9..00000000000 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.jena.fuseki; - -import org.apache.jena.web.HttpSC ; - - -public class FusekiRequestException extends FusekiException -{ - public static FusekiRequestException create(int code, String msg) - { - if ( code == HttpSC.NOT_FOUND_404 ) - return new FusekiNotFoundException(msg) ; - return new FusekiRequestException(code, msg) ; - } - - private final int statusCode ; - private final String responseMessage ; - protected FusekiRequestException(int code, String msg) - { - super(msg) ; - this.statusCode = code ; - responseMessage = msg ; - } - - public int getStatusCode() - { - return statusCode ; - } - - public String getResponseMessage() - { - return responseMessage ; - } - - @Override - public String toString() - { - return "HTTP: "+statusCode+" "+getMessage() ; - } -} diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java new file mode 100644 index 00000000000..b0e96cf36c0 --- /dev/null +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.jena.fuseki.build; + +import org.apache.jena.fuseki.FusekiConfigException; +import org.apache.jena.fuseki.webapp.SystemState; +import org.apache.jena.query.* ; +import org.apache.jena.rdf.model.Literal ; +import org.apache.jena.rdf.model.Model ; +import org.apache.jena.rdf.model.RDFNode ; +import org.apache.jena.rdf.model.Resource ; +import org.apache.jena.shared.PrefixMapping ; +import org.apache.jena.vocabulary.RDFS ; + +public class FusekiBuildLib { + + // ---- Helper code + public static ResultSet query(String string, Model m) { + return query(string, m, null, null) ; + } + + public static ResultSet query(String string, Dataset ds) { + return query(string, ds, null, null) ; + } + + public static ResultSet query(String string, Model m, String varName, RDFNode value) { + Query query = QueryFactory.create(SystemState.PREFIXES + string) ; + QuerySolutionMap initValues = null ; + if ( varName != null ) + initValues = querySolution(varName, value) ; + try ( QueryExecution qExec = QueryExecutionFactory.create(query, m, initValues) ) { + return ResultSetFactory.copyResults(qExec.execSelect()) ; + } + } + + public static ResultSet query(String string, Dataset ds, String varName, RDFNode value) { + Query query = QueryFactory.create(SystemState.PREFIXES + string) ; + QuerySolutionMap initValues = null ; + if ( varName != null ) + initValues = querySolution(varName, value) ; + try ( QueryExecution qExec = QueryExecutionFactory.create(query, ds, initValues) ) { + return ResultSetFactory.copyResults(qExec.execSelect()) ; + } + } + + private static QuerySolutionMap querySolution(String varName, RDFNode value) { + QuerySolutionMap qsm = new QuerySolutionMap() ; + querySolution(qsm, varName, value) ; + return qsm ; + } + + public static QuerySolutionMap querySolution(QuerySolutionMap qsm, String varName, RDFNode value) { + qsm.add(varName, value) ; + return qsm ; + } + + public static RDFNode getOne(Resource svc, String property) { + ResultSet rs = FusekiBuildLib.query("SELECT * { ?svc " + property + " ?x}", svc.getModel(), "svc", svc) ; + if ( !rs.hasNext() ) + throw new FusekiConfigException("No property '" + property + "' for service " + FusekiBuildLib.nodeLabel(svc)) ; + RDFNode x = rs.next().get("x") ; + if ( rs.hasNext() ) + throw new FusekiConfigException("Multiple properties '" + property + "' for service " + FusekiBuildLib.nodeLabel(svc)) ; + return x ; + } + + // Node presentation + public static String nodeLabel(RDFNode n) { + if ( n == null ) + return "" ; + if ( n instanceof Resource ) + return strForResource((Resource)n) ; + + Literal lit = (Literal)n ; + return lit.getLexicalForm() ; + } + + public static String strForResource(Resource r) { + return strForResource(r, r.getModel()) ; + } + + public static String strForResource(Resource r, PrefixMapping pm) { + if ( r == null ) + return "NULL " ; + if ( r.hasProperty(RDFS.label) ) { + RDFNode n = r.getProperty(RDFS.label).getObject() ; + if ( n instanceof Literal ) + return ((Literal)n).getString() ; + } + + if ( r.isAnon() ) + return "<>" ; + + if ( pm == null ) + pm = r.getModel() ; + + return strForURI(r.getURI(), pm) ; + } + + public static String strForURI(String uri, PrefixMapping pm) { + if ( pm != null ) { + String x = pm.shortForm(uri) ; + + if ( !x.equals(uri) ) + return x ; + } + return "<" + uri + ">" ; + } +} diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuilder.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuilder.java index 19f27459799..166e14da3d3 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuilder.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuilder.java @@ -19,8 +19,6 @@ package org.apache.jena.fuseki.build; import static java.lang.String.format ; -import static org.apache.jena.fuseki.FusekiLib.nodeLabel ; -import static org.apache.jena.fuseki.FusekiLib.query ; import static org.apache.jena.fuseki.server.FusekiVocab.pServiceQueryEP; import static org.apache.jena.fuseki.server.FusekiVocab.pServiceReadGraphStoreEP; import static org.apache.jena.fuseki.server.FusekiVocab.pServiceReadQuadsEP; @@ -33,7 +31,6 @@ import org.apache.jena.datatypes.xsd.XSDDatatype ; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiConfigException ; -import org.apache.jena.fuseki.FusekiLib ; import org.apache.jena.fuseki.server.DataAccessPoint ; import org.apache.jena.fuseki.server.DataService ; import org.apache.jena.fuseki.server.Operation ; @@ -52,7 +49,7 @@ public class FusekiBuilder { /** Build a DataAccessPoint, including DataService, from the description at Resource svc */ public static DataAccessPoint buildDataAccessPoint(Resource svc, DatasetDescriptionRegistry dsDescMap) { - RDFNode n = FusekiLib.getOne(svc, "fu:name") ; + RDFNode n = FusekiBuildLib.getOne(svc, "fu:name") ; if ( ! n.isLiteral() ) throw new FusekiConfigException("Not a literal for access point name: "+FmtUtils.stringForRDFNode(n)); Literal object = n.asLiteral() ; @@ -110,13 +107,13 @@ private static DataService buildDataServiceCustom(Resource svc, DatasetDescripti return dataService ; } - static Dataset getDataset(Resource datasetDesc, DatasetDescriptionRegistry dsDescMap) { + public static Dataset getDataset(Resource datasetDesc, DatasetDescriptionRegistry dsDescMap) { // check if this one already built Dataset ds = dsDescMap.get(datasetDesc); if (ds == null) { // Check if the description is in the model. if ( !datasetDesc.hasProperty(RDF.type) ) - throw new FusekiConfigException("No rdf:type for dataset " + nodeLabel(datasetDesc)) ; + throw new FusekiConfigException("No rdf:type for dataset " + FusekiBuildLib.nodeLabel(datasetDesc)) ; ds = (Dataset)Assembler.general.open(datasetDesc) ; } // Some kind of check that it is "the same" dataset. @@ -155,18 +152,18 @@ public static void addServiceEP(DataService dataService, Operation operation, St public static RDFNode getOne(Resource svc, String property) { String ln = property.substring(property.indexOf(':') + 1) ; - ResultSet rs = FusekiLib.query("SELECT * { ?svc " + property + " ?x}", svc.getModel(), "svc", svc) ; + ResultSet rs = FusekiBuildLib.query("SELECT * { ?svc " + property + " ?x}", svc.getModel(), "svc", svc) ; if ( !rs.hasNext() ) - throw new FusekiConfigException("No " + ln + " for service " + FusekiLib.nodeLabel(svc)) ; + throw new FusekiConfigException("No " + ln + " for service " + FusekiBuildLib.nodeLabel(svc)) ; RDFNode x = rs.next().get("x") ; if ( rs.hasNext() ) - throw new FusekiConfigException("Multiple " + ln + " for service " + FusekiLib.nodeLabel(svc)) ; + throw new FusekiConfigException("Multiple " + ln + " for service " + FusekiBuildLib.nodeLabel(svc)) ; return x ; } private static void addServiceEP(DataService dataService, Operation operation, Resource svc, Property property) { String p = "<"+property.getURI()+">" ; - ResultSet rs = query("SELECT * { ?svc " + p + " ?ep}", svc.getModel(), "svc", svc) ; + ResultSet rs = FusekiBuildLib.query("SELECT * { ?svc " + p + " ?ep}", svc.getModel(), "svc", svc) ; for ( ; rs.hasNext() ; ) { QuerySolution soln = rs.next() ; String epName = soln.getLiteral("ep").getLexicalForm() ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java index 614b7214336..1f32e8c17f7 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiConfig.java @@ -37,8 +37,8 @@ import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiConfigException ; -import org.apache.jena.fuseki.FusekiLib ; import org.apache.jena.fuseki.server.* ; +import org.apache.jena.fuseki.webapp.SystemState; import org.apache.jena.query.Dataset ; import org.apache.jena.query.QuerySolution ; import org.apache.jena.query.ReadWrite ; @@ -107,13 +107,13 @@ public static List servicesAndDatasets(Model model) { // Old style configuration file : server to services. DatasetDescriptionRegistry dsDescMap = new DatasetDescriptionRegistry(); // ---- Services - ResultSet rs = FusekiLib.query("SELECT * { ?s fu:services [ list:member ?service ] }", model) ; + ResultSet rs = FusekiBuildLib.query("SELECT * { ?s fu:services [ list:member ?service ] }", model) ; List accessPoints = new ArrayList<>() ; if ( ! rs.hasNext() ) // No "fu:services ( .... )" so try looking for services directly. // This means Fuseki2, service configuration files (no server section) work for --conf. - rs = FusekiLib.query("SELECT ?service { ?service a fu:Service }", model) ; + rs = FusekiBuildLib.query("SELECT ?service { ?service a fu:Service }", model) ; for ( ; rs.hasNext() ; ) { QuerySolution soln = rs.next() ; @@ -215,7 +215,7 @@ public static List readSystemDatabase(Dataset ds) { ds.begin(ReadWrite.WRITE) ; try { - ResultSet rs = FusekiLib.query(qs, ds) ; + ResultSet rs = FusekiBuildLib.query(qs, ds) ; // ResultSetFormatter.out(rs); // ((ResultSetRewindable)rs).reset(); diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/Template.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/Template.java index 6c8ca47ff11..d5057e18356 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/Template.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/Template.java @@ -20,7 +20,7 @@ import java.nio.file.Path ; -import org.apache.jena.fuseki.server.FusekiEnv ; +import org.apache.jena.fuseki.webapp.FusekiEnv; public class Template { diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java index 57947e919b4..9fd507553e9 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/cmd/FusekiCmd.java @@ -29,14 +29,14 @@ import org.apache.jena.atlas.lib.FileOps ; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiException; -import org.apache.jena.fuseki.FusekiLogging ; import org.apache.jena.fuseki.build.Template ; import org.apache.jena.fuseki.jetty.JettyFuseki ; import org.apache.jena.fuseki.jetty.JettyServerConfig ; -import org.apache.jena.fuseki.server.FusekiEnv ; -import org.apache.jena.fuseki.server.FusekiSystem ; -import org.apache.jena.fuseki.server.FusekiServerListener ; import org.apache.jena.fuseki.server.FusekiInitialConfig ; +import org.apache.jena.fuseki.system.FusekiLogging; +import org.apache.jena.fuseki.webapp.FusekiEnv; +import org.apache.jena.fuseki.webapp.FusekiServerListener; +import org.apache.jena.fuseki.webapp.FusekiSystem; import org.apache.jena.query.ARQ ; import org.apache.jena.query.Dataset ; import org.apache.jena.riot.Lang ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionAsyncTask.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionAsyncTask.java similarity index 96% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionAsyncTask.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionAsyncTask.java index 69206e0a303..5c3ec0197b4 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionAsyncTask.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionAsyncTask.java @@ -16,12 +16,13 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import org.apache.jena.atlas.json.JsonValue ; import org.apache.jena.atlas.lib.InternalErrorException ; import org.apache.jena.fuseki.async.AsyncPool ; import org.apache.jena.fuseki.async.AsyncTask ; +import org.apache.jena.fuseki.mgt.ActionItem; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackup.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackup.java index a08b15a53be..b83c736f4da 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackup.java @@ -16,9 +16,10 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static java.lang.String.format ; + import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; import org.slf4j.Logger ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackupList.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackupList.java similarity index 97% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackupList.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackupList.java index cf9c3cd549c..509408ef05e 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionBackupList.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionBackupList.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static java.lang.String.format ; @@ -34,9 +34,9 @@ import org.apache.jena.atlas.json.JsonBuilder ; import org.apache.jena.atlas.json.JsonValue ; -import org.apache.jena.fuseki.server.FusekiSystem ; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; +import org.apache.jena.fuseki.webapp.FusekiSystem; /** * A JSON API to list all the backups in the backup directory diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionContainerItem.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionContainerItem.java similarity index 99% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionContainerItem.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionContainerItem.java index 803e24932d3..138b44e0b54 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionContainerItem.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionContainerItem.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import javax.servlet.http.HttpServletRequest ; import javax.servlet.http.HttpServletResponse ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionCtl.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionCtl.java index 24d55dde775..756d948f13f 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionCtl.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionCtl.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.server.DataAccessPoint ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionPing.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionPing.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionPing.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionPing.java index 35e6136cb89..2e43b222f8a 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionPing.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionPing.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static org.apache.jena.riot.WebContent.charsetUTF8 ; import static org.apache.jena.riot.WebContent.contentTypeTextPlain ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionSleep.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionSleep.java similarity index 97% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionSleep.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionSleep.java index 9dd939d62ba..1857a053958 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionSleep.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionSleep.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static java.lang.String.format ; @@ -32,7 +32,7 @@ import org.slf4j.Logger ; /** A task that kicks off a asynchronous operation that simply waits and exits. For testing. */ -public class ActionSleep extends ActionCtl /* Not ActionAsyncTask - that is a container-item based.c */ +public class ActionSleep extends ActionCtl /* Not ActionAsyncTask - that is a container-item based. */ { public ActionSleep() { super() ; } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionStats.java similarity index 95% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionStats.java index 54ee095498d..dacd1510bf7 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionStats.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionStats.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static java.lang.String.format ; import static org.apache.jena.riot.WebContent.charsetUTF8 ; @@ -32,6 +32,7 @@ import org.apache.jena.atlas.json.JsonBuilder ; import org.apache.jena.atlas.json.JsonObject ; import org.apache.jena.atlas.json.JsonValue ; +import org.apache.jena.fuseki.mgt.MgtConst; import org.apache.jena.fuseki.server.* ; import org.apache.jena.fuseki.servlets.HttpAction ; @@ -49,7 +50,7 @@ protected JsonValue execGetContainer(HttpAction action) { public static JsonObject generateStats(DataAccessPointRegistry registry) { JsonBuilder builder = new JsonBuilder() ; builder.startObject("top") ; - builder.key(JsonConst.datasets) ; + builder.key(MgtConst.datasets) ; builder.startObject("datasets") ; registry.forEach((name, access)->statsDataset(builder, access)); builder.finishObject("datasets") ; @@ -65,7 +66,7 @@ protected JsonValue execGetItem(HttpAction action) { String datasetPath = DataAccessPoint.canonical(action.getDatasetName()) ; builder.startObject("TOP") ; - builder.key(JsonConst.datasets) ; + builder.key(MgtConst.datasets) ; builder.startObject("datasets") ; statsDataset(builder, datasetPath, action.getDataAccessPointRegistry()) ; builder.finishObject("datasets") ; @@ -95,7 +96,7 @@ private static void statsDataset(JsonBuilder builder, DataAccessPoint access) { builder.key(CounterName.RequestsGood.getName()).value(dSrv.getCounters().value(CounterName.RequestsGood)) ; builder.key(CounterName.RequestsBad.getName()).value(dSrv.getCounters().value(CounterName.RequestsBad)) ; - builder.key(JsonConst.endpoints).startObject("endpoints") ; + builder.key(MgtConst.endpoints).startObject("endpoints") ; for ( Operation operName : dSrv.getOperations() ) { List endpoints = access.getDataService().getEndpoints(operName) ; @@ -106,8 +107,8 @@ private static void statsDataset(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; operationCounters(builder, endpoint); - builder.key(JsonConst.operation).value(operName.getName()) ; - builder.key(JsonConst.description).value(operName.getDescription()); + builder.key(MgtConst.operation).value(operName.getName()) ; + builder.key(MgtConst.description).value(operName.getDescription()); builder.finishObject() ; } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionTasks.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionTasks.java similarity index 92% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionTasks.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionTasks.java index 97f8027257f..23f786a2372 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionTasks.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/ActionTasks.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import static java.lang.String.format ; import javax.servlet.http.HttpServletRequest ; @@ -113,12 +113,12 @@ private void execPost(HttpAction action, String name) { private static void descOneTask(JsonBuilder builder, AsyncTask aTask) { builder.startObject("SingleTask") ; - builder.key(JsonConst.task).value(aTask.displayName()) ; - builder.key(JsonConst.taskId).value(aTask.getTaskId()) ; + builder.key(JsonConstCtl.task).value(aTask.displayName()) ; + builder.key(JsonConstCtl.taskId).value(aTask.getTaskId()) ; if ( aTask.getStartPoint() != null ) - builder.key(JsonConst.started).value(aTask.getStartPoint()) ; + builder.key(JsonConstCtl.started).value(aTask.getStartPoint()) ; if ( aTask.getFinishPoint() != null ) - builder.key(JsonConst.finished).value(aTask.getFinishPoint()) ; + builder.key(JsonConstCtl.finished).value(aTask.getFinishPoint()) ; builder.finishObject("SingleTask") ; } } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Async.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Async.java similarity index 92% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Async.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Async.java index 260fcb18159..b3696c3d78f 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Async.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Async.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import org.apache.http.HttpHeaders ; import org.apache.jena.atlas.json.JsonBuilder ; @@ -36,9 +36,9 @@ public static AsyncTask asyncTask(AsyncPool asyncPool, String displayName, DataS public static JsonValue asJson(AsyncTask asyncTask) { JsonBuilder builder = new JsonBuilder() ; builder.startObject("outer") ; - builder.key(JsonConst.taskId).value(asyncTask.getTaskId()) ; + builder.key(JsonConstCtl.taskId).value(asyncTask.getTaskId()) ; if ( asyncTask.getOriginatingRequestId() > 0 ) - builder.key(JsonConst.taskRequestId).value(asyncTask.getOriginatingRequestId()) ; + builder.key(JsonConstCtl.taskRequestId).value(asyncTask.getOriginatingRequestId()) ; builder.finishObject("outer") ; return builder.build() ; } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Backup.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Backup.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Backup.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Backup.java index 840b85b620a..4bf949650ed 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/Backup.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/Backup.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import java.io.* ; import java.util.Collections; @@ -29,7 +29,7 @@ import org.apache.jena.atlas.logging.Log ; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiException ; -import org.apache.jena.fuseki.server.FusekiSystem ; +import org.apache.jena.fuseki.webapp.FusekiSystem; import org.apache.jena.query.ReadWrite ; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/JsonConstCtl.java similarity index 68% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/JsonConstCtl.java index be9be902f3b..7007098ac34 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/JsonConstCtl.java @@ -16,11 +16,14 @@ * limitations under the License. */ -package org.apache.jena.fuseki; +package org.apache.jena.fuseki.ctl; -import org.apache.jena.web.HttpSC ; +public class JsonConstCtl { + + public static final String taskId = "taskId" ; + public static final String taskRequestId = "requestId" ; + public static final String task = "task" ; + public static final String finished = "finished" ; + public static final String started = "started" ; -public class FusekiNotFoundException extends FusekiRequestException -{ - public FusekiNotFoundException(String msg) { super(HttpSC.NOT_FOUND_404, msg) ; } } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/TaskBase.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/TaskBase.java similarity index 97% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/TaskBase.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/TaskBase.java index 52282e2c28d..f8858399b72 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/TaskBase.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/ctl/TaskBase.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.mgt; +package org.apache.jena.fuseki.ctl; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.sparql.core.DatasetGraph ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java index 483fb65f44d..aa1340b1db9 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/jetty/JettyFuseki.java @@ -31,7 +31,7 @@ import org.apache.jena.fuseki.FusekiException ; import org.apache.jena.fuseki.mgt.MgtJMX ; import org.apache.jena.fuseki.server.DataAccessPointRegistry ; -import org.apache.jena.fuseki.server.FusekiEnv ; +import org.apache.jena.fuseki.webapp.FusekiEnv; import org.eclipse.jetty.security.* ; import org.eclipse.jetty.security.authentication.BasicAuthenticator ; import org.eclipse.jetty.server.HttpConnectionFactory ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java index e34bf25310c..8ee6ff5f5aa 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java @@ -42,11 +42,14 @@ import org.apache.jena.fuseki.build.FusekiBuilder ; import org.apache.jena.fuseki.build.Template ; import org.apache.jena.fuseki.build.TemplateFunctions ; +import org.apache.jena.fuseki.ctl.ActionContainerItem; import org.apache.jena.fuseki.server.* ; import org.apache.jena.fuseki.servlets.ActionLib; import org.apache.jena.fuseki.servlets.HttpAction; import org.apache.jena.fuseki.servlets.ServletOps; -import org.apache.jena.fuseki.servlets.Upload; +import org.apache.jena.fuseki.system.Upload; +import org.apache.jena.fuseki.webapp.FusekiSystem; +import org.apache.jena.fuseki.webapp.SystemState; import org.apache.jena.graph.Node ; import org.apache.jena.graph.NodeFactory ; import org.apache.jena.query.Dataset ; @@ -87,7 +90,7 @@ protected JsonValue execGetContainer(HttpAction action) { action.log.info(format("[%d] GET datasets", action.id)) ; JsonBuilder builder = new JsonBuilder() ; builder.startObject("D") ; - builder.key(JsonConst.datasets) ; + builder.key(MgtConst.datasets) ; JsonDescription.arrayDatasets(builder, action.getDataAccessPointRegistry()); builder.finishObject("D") ; return builder.build() ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionItem.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionItem.java index 72d3c650646..3308880343e 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionItem.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionItem.java @@ -19,6 +19,7 @@ package org.apache.jena.fuseki.mgt; import org.apache.jena.atlas.json.JsonValue ; +import org.apache.jena.fuseki.ctl.ActionContainerItem; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; import org.apache.jena.web.HttpSC ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionLogs.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionLogs.java index c4d6579038d..aeb83f49f20 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionLogs.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionLogs.java @@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest ; import javax.servlet.http.HttpServletResponse ; +import org.apache.jena.fuseki.ctl.ActionCtl; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java index bb75347a261..3e060cda8f1 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ActionServerStatus.java @@ -31,6 +31,7 @@ import org.apache.jena.atlas.json.JsonBuilder ; import org.apache.jena.atlas.json.JsonValue ; import org.apache.jena.fuseki.Fuseki ; +import org.apache.jena.fuseki.ctl.ActionCtl; import org.apache.jena.fuseki.server.DataAccessPointRegistry ; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; @@ -97,16 +98,16 @@ private void describeServer(JsonBuilder builder, int requestPort) { // .finishObject() ; builder - .key(JsonConst.version).value(versionStr) - .key(JsonConst.built).value(builtDateStr) - .key(JsonConst.startDT).value(Fuseki.serverStartedAt()) - .key(JsonConst.uptime).value(Fuseki.serverUptimeSeconds()) + .key(MgtConst.version).value(versionStr) + .key(MgtConst.built).value(builtDateStr) + .key(MgtConst.startDT).value(Fuseki.serverStartedAt()) + .key(MgtConst.uptime).value(Fuseki.serverUptimeSeconds()) ; } private void describeDatasets(JsonBuilder builder, DataAccessPointRegistry registry) { - builder.key(JsonConst.datasets) ; + builder.key(MgtConst.datasets) ; JsonDescription.arrayDatasets(builder, registry); } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java index 0b2a070d95c..da66a3c2b58 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/DumpServlet.java @@ -41,19 +41,7 @@ public class DumpServlet extends HttpServlet { - private static final long serialVersionUID = 99L; // Serilizable. - - - public DumpServlet() - { - - } - - @Override - public void init() - { - return ; - } + public DumpServlet() { } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonConst.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonConst.java deleted file mode 100644 index baaef7aa0be..00000000000 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonConst.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.jena.fuseki.mgt ; - -public class JsonConst -{ - public static final String taskId = "taskId" ; - public static final String taskRequestId = "requestId" ; - public static final String task = "task" ; - public static final String datasets = "datasets" ; - - public static final String finished = "finished" ; - public static final String started = "started" ; - - public static final String uptime = "uptime" ; - public static final String startDT = "startDateTime" ; - public static final String server = "server" ; - public static final String port = "port" ; - public static final String hostname = "hostname" ; - public static final String admin = "admin" ; - public static final String version = "version" ; - public static final String built = "built" ; - - public static final String services = "services" ; - public static final String operation = "operation" ; - public static final String description = "description" ; - public static final String endpoints = "endpoints" ; - - public static final String dsName = "ds.name" ; - public static final String dsState = "ds.state" ; - public static final String dsService = "ds.services" ; - - public static final String srvType = "srv.type" ; - public static final String srvDescription = "srv.description" ; - public static final String srvEndpoints = "srv.endpoints" ; - -} diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java index c4158d7c991..749aa3e08a4 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/JsonDescription.java @@ -40,11 +40,11 @@ public static void arrayDatasets(JsonBuilder builder, DataAccessPointRegistry re public static void describe(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; - builder.key(JsonConst.dsName).value(access.getName()) ; + builder.key(MgtConst.dsName).value(access.getName()) ; - builder.key(JsonConst.dsState).value(access.getDataService().isAcceptingRequests()) ; + builder.key(MgtConst.dsState).value(access.getDataService().isAcceptingRequests()) ; - builder.key(JsonConst.dsService) ; + builder.key(MgtConst.dsService) ; builder.startArray() ; for ( Operation operation : access.getDataService().getOperations() ) { @@ -58,9 +58,9 @@ public static void describe(JsonBuilder builder, DataAccessPoint access) { private static void describe(JsonBuilder builder, Operation operation, List endpoints) { builder.startObject() ; - builder.key(JsonConst.srvType).value(operation.getName()) ; - builder.key(JsonConst.srvDescription).value(operation.getDescription()) ; - builder.key(JsonConst.srvEndpoints) ; + builder.key(MgtConst.srvType).value(operation.getName()) ; + builder.key(MgtConst.srvDescription).value(operation.getDescription()) ; + builder.key(MgtConst.srvEndpoints) ; builder.startArray() ; for ( Endpoint endpoint : endpoints ) builder.value(endpoint.getEndpoint()) ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/MgtConst.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/MgtConst.java index 85cfd262f52..2659313abbf 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/MgtConst.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/MgtConst.java @@ -27,5 +27,26 @@ public class MgtConst { public static final String opDatasets = "datasets" ; public static final String opListBackups = "backups-list" ; public static final String opServer = "server" ; + + // JSON constants + public static final String datasets = "datasets" ; + public static final String uptime = "uptime" ; + public static final String startDT = "startDateTime" ; + public static final String server = "server" ; + public static final String port = "port" ; + public static final String hostname = "hostname" ; + public static final String admin = "admin" ; + public static final String version = "version" ; + public static final String built = "built" ; + public static final String services = "services" ; + public static final String operation = "operation" ; + public static final String description = "description" ; + public static final String endpoints = "endpoints" ; + public static final String dsName = "ds.name" ; + public static final String dsState = "ds.state" ; + public static final String dsService = "ds.services" ; + public static final String srvType = "srv.type" ; + public static final String srvDescription = "srv.description" ; + public static final String srvEndpoints = "srv.endpoints" ; } diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServiceMXBean.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ServiceMXBean.java similarity index 96% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServiceMXBean.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ServiceMXBean.java index 11c73309e32..72ce3a3871b 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ServiceMXBean.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/mgt/ServiceMXBean.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.mgt; public interface ServiceMXBean { diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_RW.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_RW.java index fdc04b82e53..10e36acee08 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_RW.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads_RW.java @@ -19,6 +19,8 @@ package org.apache.jena.fuseki.servlets ; import org.apache.jena.fuseki.FusekiLib ; +import org.apache.jena.fuseki.system.Upload; +import org.apache.jena.fuseki.system.UploadDetails; import org.apache.jena.riot.RiotException ; import org.apache.jena.riot.system.StreamRDF ; import org.apache.jena.riot.system.StreamRDFLib ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_RW.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_RW.java index 7dfe1e13d9d..7b964e27d44 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_RW.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_GSP_RW.java @@ -26,7 +26,9 @@ import org.apache.jena.fuseki.DEF ; import org.apache.jena.fuseki.FusekiLib ; import org.apache.jena.fuseki.conneg.ConNeg ; -import org.apache.jena.fuseki.servlets.UploadDetails.PreState ; +import org.apache.jena.fuseki.system.Upload; +import org.apache.jena.fuseki.system.UploadDetails; +import org.apache.jena.fuseki.system.UploadDetails.PreState; import org.apache.jena.graph.Graph ; import org.apache.jena.riot.RiotException ; import org.apache.jena.riot.system.StreamRDF ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java index 21038f41236..3cf0d0d320f 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java @@ -23,7 +23,7 @@ import java.util.List ; import org.apache.jena.atlas.lib.InternalErrorException ; -import org.apache.jena.fuseki.migrate.GraphLoadUtils ; +import org.apache.jena.fuseki.system.GraphLoadUtils; import org.apache.jena.query.Dataset ; import org.apache.jena.query.DatasetFactory ; import org.apache.jena.query.Query ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ServletOps.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ServletOps.java index b250250f043..0fa6add8a07 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ServletOps.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/ServletOps.java @@ -26,7 +26,8 @@ import org.apache.jena.atlas.json.JSON ; import org.apache.jena.atlas.json.JsonValue ; -import org.apache.jena.fuseki.servlets.UploadDetails.PreState ; +import org.apache.jena.fuseki.system.UploadDetails; +import org.apache.jena.fuseki.system.UploadDetails.PreState; import org.apache.jena.riot.WebContent ; import org.apache.jena.riot.web.HttpNames ; import org.apache.jena.web.HttpSC ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java index 6eb669b388a..404c581d54a 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/FusekiLogging.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/FusekiLogging.java @@ -16,14 +16,15 @@ * limitations under the License. */ -package org.apache.jena.fuseki; +package org.apache.jena.fuseki.system; import java.io.File ; import java.net.URL ; import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.atlas.logging.LogCtl ; -import org.apache.jena.fuseki.server.FusekiEnv ; +import org.apache.jena.fuseki.Fuseki; +import org.apache.jena.fuseki.webapp.FusekiEnv; import org.apache.jena.riot.SysRIOT ; import org.apache.log4j.PropertyConfigurator ; import org.apache.log4j.helpers.Loader ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/GraphLoadUtils.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/GraphLoadUtils.java index 4e4c8371f10..f91abef62d9 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/GraphLoadUtils.java @@ -17,7 +17,7 @@ */ -package org.apache.jena.fuseki.migrate; +package org.apache.jena.fuseki.system; import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.graph.Factory ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/StreamRDFLimited.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/StreamRDFLimited.java similarity index 97% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/StreamRDFLimited.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/StreamRDFLimited.java index 947fffa3b21..11229d87b6d 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/migrate/StreamRDFLimited.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/StreamRDFLimited.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.migrate ; +package org.apache.jena.fuseki.system ; import org.apache.jena.graph.Triple ; import org.apache.jena.riot.RiotException ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/Upload.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/Upload.java similarity index 96% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/Upload.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/Upload.java index 89c5038a33b..a80be952dd3 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/Upload.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/Upload.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.servlets; +package org.apache.jena.fuseki.system; import static java.lang.String.format ; import static org.apache.jena.riot.WebContent.ctMultipartFormData ; @@ -34,6 +34,10 @@ import org.apache.jena.atlas.io.IO ; import org.apache.jena.atlas.web.ContentType ; import org.apache.jena.fuseki.FusekiLib ; +import org.apache.jena.fuseki.servlets.ActionErrorException; +import org.apache.jena.fuseki.servlets.ActionLib; +import org.apache.jena.fuseki.servlets.HttpAction; +import org.apache.jena.fuseki.servlets.ServletOps; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFLanguages ; import org.apache.jena.riot.RiotParseException ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/UploadDetails.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/UploadDetails.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/UploadDetails.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/UploadDetails.java index a5c144bbef0..1ba6fb4e8a9 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/UploadDetails.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/UploadDetails.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.servlets; +package org.apache.jena.fuseki.system; import org.apache.jena.atlas.json.JsonBuilder ; import org.apache.jena.atlas.json.JsonValue ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiEnv.java similarity index 99% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiEnv.java index c794459d4f2..e725db1000c 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiEnv.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiEnv.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import java.nio.file.Path ; import java.nio.file.Paths ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerEnvironmentInit.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java similarity index 95% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerEnvironmentInit.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java index 1b5f298e95c..b95055079aa 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerEnvironmentInit.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerEnvironmentInit.java @@ -16,12 +16,12 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import javax.servlet.ServletContextEvent ; import javax.servlet.ServletContextListener ; -import org.apache.jena.fuseki.FusekiLogging ; +import org.apache.jena.fuseki.system.FusekiLogging; import org.apache.jena.sys.JenaSystem ; /** Setup the environment and logging. diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerListener.java similarity index 95% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerListener.java index ba3d85be2c8..2d8ab4018d7 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServerListener.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiServerListener.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import javax.servlet.ServletContext ; import javax.servlet.ServletContextEvent ; @@ -24,6 +24,9 @@ import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiException; +import org.apache.jena.fuseki.server.DataAccessPointRegistry; +import org.apache.jena.fuseki.server.FusekiInfo; +import org.apache.jena.fuseki.server.FusekiInitialConfig; import org.apache.jena.fuseki.servlets.ServiceDispatchRegistry; import org.apache.jena.tdb.StoreConnection ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiSystem.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiSystem.java similarity index 99% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiSystem.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiSystem.java index 23a2485836c..f29529b2067 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiSystem.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/FusekiSystem.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import static java.lang.String.format ; @@ -38,6 +38,7 @@ import org.apache.jena.fuseki.Fuseki ; import org.apache.jena.fuseki.FusekiConfigException ; import org.apache.jena.fuseki.build.* ; +import org.apache.jena.fuseki.server.*; import org.apache.jena.fuseki.servlets.HttpAction ; import org.apache.jena.fuseki.servlets.ServletOps ; import org.apache.jena.rdf.model.* ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ShiroEnvironmentLoader.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/ShiroEnvironmentLoader.java similarity index 99% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ShiroEnvironmentLoader.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/ShiroEnvironmentLoader.java index 1521cf137dd..b8eaa9b787d 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/ShiroEnvironmentLoader.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/ShiroEnvironmentLoader.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import java.io.IOException ; import java.io.InputStream ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/SystemState.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/SystemState.java similarity index 97% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/SystemState.java rename to jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/SystemState.java index 460fda1c289..ada2f28bc0c 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/SystemState.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/webapp/SystemState.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.server; +package org.apache.jena.fuseki.webapp; import org.apache.jena.atlas.lib.FileOps ; import org.apache.jena.atlas.lib.StrUtils ; @@ -30,6 +30,10 @@ import org.apache.jena.tdb.setup.StoreParams ; import org.apache.jena.tdb.transaction.DatasetGraphTransaction ; +/** + * Small database to record the system state. + * Used in the Full Fuseki server. + */ public class SystemState { private static String SystemDatabaseLocation ; // Testing may reset this. diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/config.ttl b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/config.ttl similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/config.ttl rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/config.ttl diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/shiro.ini b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/shiro.ini similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/shiro.ini rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/shiro.ini diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-service b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-service similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-service rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-service diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb-dir b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-dir similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb-dir rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-dir diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2 b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2 similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2 rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2 diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2-dir b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-dir similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2-dir rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-dir diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/server/templates/config-tdb2-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml index dbd27a72352..081b5d8ef89 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml +++ b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml @@ -25,7 +25,7 @@ - org.apache.jena.fuseki.server.FusekiServerEnvironmentInit + org.apache.jena.fuseki.webapp.FusekiServerEnvironmentInit @@ -33,7 +33,13 @@ - org.apache.jena.fuseki.server.ShiroEnvironmentLoader + org.apache.jena.fuseki.webapp.ShiroEnvironmentLoader + + + + + + org.apache.jena.fuseki.webapp.FusekiServerListener @@ -88,12 +94,6 @@ shiro.ini - - - - org.apache.jena.fuseki.server.FusekiServerListener - - Fuseki @@ -110,6 +110,7 @@ + QueryValidator org.apache.jena.fuseki.validation.QueryValidator @@ -150,33 +151,76 @@ /validate/data - + - DumpServlet - org.apache.jena.fuseki.mgt.DumpServlet + PingServlet + org.apache.jena.fuseki.ctl.ActionPing - + + + PingServlet + /$/ping + + - ServerStatusServlet - org.apache.jena.fuseki.mgt.ActionServerStatus + ActionTasks + org.apache.jena.fuseki.ctl.ActionTasks + + ActionTasks + /$/tasks/* + + - PingServlet - org.apache.jena.fuseki.mgt.ActionPing + ActionBackup + org.apache.jena.fuseki.ctl.ActionBackup - + BackupListServlet - org.apache.jena.fuseki.mgt.ActionBackupList + org.apache.jena.fuseki.ctl.ActionBackupList + + + + + ActionSleep + org.apache.jena.fuseki.ctl.ActionSleep + + ActionSleep + /$/sleep/* + + + + ActionBackup + /$/backup/* + + + + ActionBackup + /$/backups/* + + BackupListServlet /$/backups-list + + + + DumpServlet + org.apache.jena.fuseki.mgt.DumpServlet + + + + ServerStatusServlet + org.apache.jena.fuseki.mgt.ActionServerStatus + + DumpServlet /$/dump @@ -187,11 +231,6 @@ /$/server - - PingServlet - /$/ping - - ActionDatasets org.apache.jena.fuseki.mgt.ActionDatasets @@ -207,25 +246,6 @@ org.apache.jena.fuseki.mgt.ActionLogs - - ActionBackup - org.apache.jena.fuseki.mgt.ActionBackup - - - - ActionTasks - org.apache.jena.fuseki.mgt.ActionTasks - - - - - ActionSleep - org.apache.jena.fuseki.mgt.ActionSleep - - ActionDatasets /$/datasets/* @@ -241,26 +261,6 @@ /$/logs - - ActionBackup - /$/backup/* - - - - ActionBackup - /$/backups/* - - - - ActionTasks - /$/tasks/* - - - - ActionSleep - /$/sleep/* - - index.html diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java index 7ccfba90720..411608d5911 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java @@ -24,9 +24,11 @@ import org.junit.Before ; import org.junit.BeforeClass ; -/** Framework for tests using client-side operation onto a forked Fuseki server. - * Not general - some test sets set up their own environment for - * different, additional requirements. +/** + * See package-info. + * Framework for tests using client-side operation onto a forked Fuseki server. Not + * general - some test sets set up their own environment for different, additional + * requirements. */ public class AbstractFusekiTest extends BaseTest diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java index e9fbc05f9f3..c34f517d1f2 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerCtl.java @@ -32,6 +32,10 @@ import org.apache.jena.fuseki.jetty.JettyFuseki ; import org.apache.jena.fuseki.jetty.JettyServerConfig ; import org.apache.jena.fuseki.server.* ; +import org.apache.jena.fuseki.webapp.FusekiEnv; +import org.apache.jena.fuseki.webapp.FusekiServerListener; +import org.apache.jena.fuseki.webapp.FusekiSystem; +import org.apache.jena.fuseki.webapp.SystemState; import org.apache.jena.riot.web.HttpOp ; import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.DatasetGraphFactory ; @@ -47,7 +51,7 @@ * Note: *
* There is a {@code FusekiTestServer} in the basic Fuseki server which is more - * appropriate for testing SPARQL protocols. It does not have a on-disk footprint. + * appropriate for testing SPARQL protocols. It does not have an on-disk footprint. *
* This class is * primarily for testing the full Fuseki server and has a full on-disk configuration. diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java index b6914049acd..b535c1d3afa 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/ServerTest.java @@ -25,7 +25,7 @@ import org.apache.jena.rdf.model.ModelFactory ; import org.apache.jena.sparql.sse.SSE ; -public class ServerTest { +class ServerTest { public static final String gn1 = "http://graph/1" ; public static final String gn2 = "http://graph/2" ; public static final String gn99 = "http://graph/99" ; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java index c5af2490b2e..6614f06b3b2 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TS_Fuseki.java @@ -20,11 +20,8 @@ import org.apache.jena.atlas.lib.FileOps ; import org.apache.jena.atlas.logging.LogCtl ; -import org.apache.jena.fuseki.build.TestBuilder ; -import org.apache.jena.fuseki.http.TestDatasetAccessorHTTP ; -import org.apache.jena.fuseki.http.TestDatasetGraphAccessorHTTP ; -import org.apache.jena.fuseki.http.TestHttpOp ; -import org.apache.jena.fuseki.server.FusekiEnv ; +import org.apache.jena.fuseki.system.FusekiLogging; +import org.apache.jena.fuseki.webapp.FusekiEnv; import org.junit.AfterClass ; import org.junit.BeforeClass ; import org.junit.runner.RunWith ; @@ -59,7 +56,9 @@ public class TS_Fuseki extends ServerTest System.setProperty("FUSEKI_HOME", FusekiTestHome) ; FusekiLogging.setLogging(); FusekiEnv.setEnvironment() ; - + // To avoid confusion with log4j.properties in the main part of the server, + // we modify in place the logging, not try to set it with another + // Log4j properties file from the classpath. LogCtl.setLevel("org.apache.shiro", "WARN") ; LogCtl.setLevel("org.eclipse.jetty", "WARN"); diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java index e84e3e2ec62..bf4105324bc 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAdmin.java @@ -41,7 +41,7 @@ import org.apache.jena.atlas.lib.Lib ; import org.apache.jena.atlas.web.HttpException ; import org.apache.jena.atlas.web.TypedInputStream ; -import org.apache.jena.fuseki.mgt.JsonConst ; +import org.apache.jena.fuseki.mgt.MgtConst; import org.apache.jena.riot.WebContent ; import org.apache.jena.riot.web.HttpOp ; import org.apache.jena.riot.web.HttpResponseHandler ; @@ -71,9 +71,9 @@ public class TestAdmin extends AbstractFusekiTest { JsonValue jv = httpGetJson(ServerCtl.urlRoot()+"$/"+opServer) ; JsonObject obj = jv.getAsObject() ; // Now optional : assertTrue(obj.hasKey(JsonConst.admin)) ; - assertTrue(obj.hasKey(JsonConst.datasets)) ; - assertTrue(obj.hasKey(JsonConst.uptime)) ; - assertTrue(obj.hasKey(JsonConst.startDT)) ; + assertTrue(obj.hasKey(MgtConst.datasets)) ; + assertTrue(obj.hasKey(MgtConst.uptime)) ; + assertTrue(obj.hasKey(MgtConst.startDT)) ; } @Test public void server_2() { diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java index 7eb0a76e9b5..5e19f011d6b 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestAuth.java @@ -34,6 +34,8 @@ import org.apache.http.impl.client.HttpClientBuilder; import org.apache.jena.atlas.logging.LogCtl ; import org.apache.jena.atlas.web.HttpException ; +import org.apache.jena.fuseki.Fuseki; +import org.apache.jena.fuseki.FusekiLib; import org.apache.jena.query.DatasetAccessor ; import org.apache.jena.query.DatasetAccessorFactory ; import org.apache.jena.query.QueryExecutionFactory ; @@ -52,7 +54,9 @@ import org.junit.Test ; /** - * Tests Fuseki operation with authentication enabled + * Tests Fuseki operation with authentication enabled. + * This is as much a test of the Jena client libraries handling authentication. + * These tests use Jetty-supplied authentication, not Apache Shiro. */ public class TestAuth { diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/build/TestBuilder.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestBuilder.java similarity index 93% rename from jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/build/TestBuilder.java rename to jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestBuilder.java index bf4f4d8207f..7041498400d 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/build/TestBuilder.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestBuilder.java @@ -16,11 +16,13 @@ * limitations under the License. */ -package org.apache.jena.fuseki.build; +package org.apache.jena.fuseki; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; +import org.apache.jena.fuseki.build.DatasetDescriptionRegistry; +import org.apache.jena.fuseki.build.FusekiBuilder; import org.apache.jena.query.Dataset; import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.ModelFactory; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetAccessorHTTP.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java rename to jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetAccessorHTTP.java index 77d019ecc0e..d26b23f9b5e 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetAccessorHTTP.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetAccessorHTTP.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.http; +package org.apache.jena.fuseki; import static org.apache.jena.fuseki.ServerCtl.datasetPath ; import static org.apache.jena.fuseki.ServerCtl.port ; @@ -29,8 +29,6 @@ import static org.apache.jena.fuseki.ServerTest.model2 ; import org.apache.jena.atlas.web.HttpException ; -import org.apache.jena.fuseki.AbstractFusekiTest ; -import org.apache.jena.fuseki.FusekiTest ; import org.apache.jena.query.DatasetAccessor ; import org.apache.jena.query.DatasetAccessorFactory ; import org.apache.jena.rdf.model.Model ; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetGraphAccessorHTTP.java similarity index 95% rename from jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java rename to jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetGraphAccessorHTTP.java index 281a844506d..cfcd9d72c3f 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetGraphAccessorHTTP.java @@ -16,9 +16,8 @@ * limitations under the License. */ -package org.apache.jena.fuseki.http; +package org.apache.jena.fuseki; -import org.apache.jena.fuseki.ServerCtl ; import org.apache.jena.web.AbstractTestDatasetGraphAccessor ; import org.apache.jena.web.DatasetGraphAccessor ; import org.apache.jena.web.DatasetGraphAccessorHTTP ; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java index 921f766b993..affeb897a66 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestDatasetOps.java @@ -35,7 +35,7 @@ import org.junit.Test ; /** TestDatasetAccessorHTTP does most of the GSP testing. - * This class adds the testing of Fuseki extras. + * This class adds the testing of Jena Fuseki extras - whole dataset HTTP. */ public class TestDatasetOps extends AbstractFusekiTest { diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java index cfc0527d6fc..4b772f97301 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestFileUpload.java @@ -19,8 +19,6 @@ package org.apache.jena.fuseki; import org.apache.jena.atlas.web.TypedInputStream ; -import org.apache.jena.fuseki.http.TestDatasetAccessorHTTP ; -import org.apache.jena.fuseki.http.TestHttpOp ; import org.apache.jena.query.DatasetAccessor ; import org.apache.jena.query.DatasetAccessorFactory ; import org.apache.jena.rdf.model.Model ; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOp.java similarity index 98% rename from jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java rename to jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOp.java index 937ce9311f0..05d523fc750 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestHttpOp.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOp.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.jena.fuseki.http; +package org.apache.jena.fuseki; import static org.apache.jena.fuseki.FusekiTest.exec404; import static org.apache.jena.fuseki.FusekiTest.execWithHttpException; @@ -29,7 +29,6 @@ import org.apache.http.client.HttpClient; import org.apache.jena.atlas.lib.IRILib ; import org.apache.jena.atlas.web.TypedInputStream ; -import org.apache.jena.fuseki.AbstractFusekiTest ; import org.apache.jena.riot.WebContent ; import org.apache.jena.riot.web.HttpOp ; import org.apache.jena.sparql.engine.http.Params ; diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java index f2ec424ddf0..09d1391abc6 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestHttpOperations.java @@ -33,8 +33,6 @@ /** Operation by HTTP - test dispatch - lower level than TestSPARQLProtocol */ public class TestHttpOperations extends AbstractFusekiTest { - // XXX and directly on dataset - @Test public void query_by_get_1() { String qs = Convert.encWWWForm("ASK{}") ; diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/NullOutputStream.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java similarity index 55% rename from jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/NullOutputStream.java rename to jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java index 63e65626aef..26917541738 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/NullOutputStream.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java @@ -16,38 +16,17 @@ * limitations under the License. */ -package org.apache.jena.fuseki.servlets; - -import java.io.* ; - /** -* Code needed to implement an OutputStream that does nothing. -*/ - - -public class NullOutputStream extends /*Filter*/OutputStream -{ - public NullOutputStream() - { - } - - // The OutputStream operations - @Override - public void close() { /* .close() ;*/ } - @Override - public void flush() { /* .flush() ;*/ } - - // Need to implement this one. - @Override - public void write(int b) { /* .write(b) ;*/ } - @Override - public void write(byte b[]) { /* this.write(b, 0, b.length) ; */} + * This package has the Fuseki full server tests. ServerCtl manages a full server for tetsing. + * + * Tests on the server also test the client-side operation + * It is testing various client APIs. + * + * jena-integration-tests tests RDFConnection with the basic Fuseki server and + * RDFConnection calls the different client APIs. So both servers get tested with the + * client APIs, by different means. + * + * See {@link org.apache.jena.fuseki.AbstractFusekiTest}. + */ +package org.apache.jena.fuseki; - // Good to implement this one. - @Override - public void write(byte[] b, int off, int len) - { - // Work function - } - -} diff --git a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java index c88509e51c9..c2bc629eda2 100644 --- a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java +++ b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java @@ -33,8 +33,9 @@ import org.apache.jena.fuseki.FusekiException; import org.apache.jena.fuseki.build.FusekiBuilder; import org.apache.jena.fuseki.build.FusekiConfig; +import org.apache.jena.fuseki.ctl.ActionStats; +import org.apache.jena.fuseki.ctl.ActionPing; import org.apache.jena.fuseki.jetty.FusekiErrorHandler1; -import org.apache.jena.fuseki.mgt.ActionStats; import org.apache.jena.fuseki.server.*; import org.apache.jena.fuseki.servlets.ActionService; import org.apache.jena.fuseki.servlets.FusekiFilter; @@ -180,8 +181,9 @@ public static class Builder { // Default values. private int port = 3330; private boolean loopback = false; - private boolean withStats = false; private boolean verbose = false; + private boolean withStats = false; + private boolean withPing = false; // Other servlets to add. private List> other = new ArrayList<>(); private String contextPath = "/"; @@ -246,6 +248,13 @@ public Builder enableStats(boolean withStats) { return this; } + /** Add the "/$/ping" servlet that responds to HTTP very efficiently. + * This is useful for testign whether a server is alove, for example, from a load balencer. + */ + public Builder enablePing(boolean withPing) { + this.withPing = withPing; + return this; + } /** Add the dataset with given name and a default set of services including update */ public Builder add(String name, Dataset dataset) { requireNonNull(name, "name"); @@ -450,6 +459,8 @@ private void servlets(ServletContextHandler context) { if ( withStats ) addServlet(context, "/$/stats", new ActionStats()); + if ( withPing ) + addServlet(context, "/$/ping", new ActionPing()); if ( staticContentDir != null ) { DefaultServlet staticServlet = new DefaultServlet(); diff --git a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TS_EmbeddedFuseki.java b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TS_EmbeddedFuseki.java index d8ec581a040..d7efb9f8d4a 100644 --- a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TS_EmbeddedFuseki.java +++ b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TS_EmbeddedFuseki.java @@ -20,7 +20,6 @@ import org.apache.jena.atlas.logging.LogCtl ; import org.apache.jena.fuseki.Fuseki ; -import org.apache.jena.fuseki.FusekiLogging ; import org.junit.BeforeClass ; import org.junit.runner.RunWith ; import org.junit.runners.Suite ; @@ -36,7 +35,6 @@ }) public class TS_EmbeddedFuseki { @BeforeClass public static void setupForFusekiServer() { - FusekiLogging.setLogging(); LogCtl.setLevel(Fuseki.serverLogName, "WARN"); LogCtl.setLevel(Fuseki.actionLogName, "WARN"); LogCtl.setLevel(Fuseki.requestLogName, "WARN"); diff --git a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestFusekiTestAuth.java b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestFusekiTestAuth.java index 70eaef97335..4c575b4f974 100644 --- a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestFusekiTestAuth.java +++ b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestFusekiTestAuth.java @@ -30,7 +30,6 @@ import org.apache.jena.atlas.web.HttpException; import org.apache.jena.atlas.web.TypedInputStream; import org.apache.jena.fuseki.Fuseki; -import org.apache.jena.fuseki.FusekiLogging; import org.apache.jena.riot.web.HttpOp; import org.eclipse.jetty.security.SecurityHandler; import org.junit.AfterClass; @@ -40,7 +39,6 @@ public class TestFusekiTestAuth { static { - FusekiLogging.setLogging(); LogCtl.setLevel(Fuseki.serverLogName, "WARN"); LogCtl.setLevel(Fuseki.actionLogName, "WARN"); LogCtl.setLevel(Fuseki.requestLogName, "WARN"); From 9dc0903475c92cd6155e8c0f5ddbf2a1ddaf5990 Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Sun, 5 Aug 2018 13:32:16 +0100 Subject: [PATCH 2/3] JENA-1585: Move resources, align web.xml, de-dup package-info.java --- .../jena/fuseki/{core => webapp}/config.ttl | 0 .../jena/fuseki/{core => webapp}/shiro.ini | 0 .../{core => webapp}/templates/config-mem | 0 .../{core => webapp}/templates/config-service | 0 .../{core => webapp}/templates/config-tdb | 0 .../{core => webapp}/templates/config-tdb-dir | 0 .../{core => webapp}/templates/config-tdb-mem | 0 .../{core => webapp}/templates/config-tdb2 | 0 .../templates/config-tdb2-dir | 0 .../templates/config-tdb2-mem | 0 .../src/main/webapp/WEB-INF/web.xml | 17 ++++++---- .../jena/fuseki/AbstractFusekiTest.java | 12 ++++++- .../org/apache/jena/fuseki/package-info.java | 32 ------------------- 13 files changed, 22 insertions(+), 39 deletions(-) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/config.ttl (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/shiro.ini (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-mem (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-service (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb-dir (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb-mem (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb2 (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb2-dir (100%) rename jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/{core => webapp}/templates/config-tdb2-mem (100%) delete mode 100644 jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/config.ttl b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/config.ttl similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/config.ttl rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/config.ttl diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/shiro.ini b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/shiro.ini similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/shiro.ini rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/shiro.ini diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-service b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-service similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-service rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-service diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-dir b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb-dir similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-dir rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb-dir diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2 b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2 similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2 rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2 diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-dir b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2-dir similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-dir rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2-dir diff --git a/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-mem b/jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2-mem similarity index 100% rename from jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/core/templates/config-tdb2-mem rename to jena-fuseki2/jena-fuseki-core/src/main/resources/org/apache/jena/fuseki/webapp/templates/config-tdb2-mem diff --git a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml index 081b5d8ef89..bf2e1241c36 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml +++ b/jena-fuseki2/jena-fuseki-core/src/main/webapp/WEB-INF/web.xml @@ -162,7 +162,17 @@ PingServlet /$/ping - + + + ActionStats + org.apache.jena.fuseki.ctl.ActionStats + + + + ActionStats + /$/stats/* + + ActionTasks org.apache.jena.fuseki.ctl.ActionTasks @@ -236,11 +246,6 @@ org.apache.jena.fuseki.mgt.ActionDatasets - - ActionStats - org.apache.jena.fuseki.mgt.ActionStats - - ActionLogs org.apache.jena.fuseki.mgt.ActionLogs diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java index 411608d5911..571b3d94046 100644 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java +++ b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/AbstractFusekiTest.java @@ -25,7 +25,17 @@ import org.junit.BeforeClass ; /** - * See package-info. + * This package has the Fuseki full server tests. ServerCtl manages a full server for tetsing. + * + * Tests on the server also test the client-side operation + * It is testing various client APIs. + * + * jena-integration-tests tests RDFConnection with the basic Fuseki server and + * RDFConnection calls the different client APIs. So both servers get tested with the + * client APIs, by different means. + * + * See {@link org.apache.jena.fuseki.AbstractFusekiTest}. + * * Framework for tests using client-side operation onto a forked Fuseki server. Not * general - some test sets set up their own environment for different, additional * requirements. diff --git a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java deleted file mode 100644 index 26917541738..00000000000 --- a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/package-info.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This package has the Fuseki full server tests. ServerCtl manages a full server for tetsing. - * - * Tests on the server also test the client-side operation - * It is testing various client APIs. - * - * jena-integration-tests tests RDFConnection with the basic Fuseki server and - * RDFConnection calls the different client APIs. So both servers get tested with the - * client APIs, by different means. - * - * See {@link org.apache.jena.fuseki.AbstractFusekiTest}. - */ -package org.apache.jena.fuseki; - From f926341f7de962602ee77596b7635a7c75a83386 Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Sun, 5 Aug 2018 13:54:08 +0100 Subject: [PATCH 3/3] JENA-1585: Comment for FusekiBuildLib; typo in FusekiServer --- .../main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java | 1 + .../main/java/org/apache/jena/fuseki/embedded/FusekiServer.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java index b0e96cf36c0..41bd8f47a53 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/FusekiBuildLib.java @@ -28,6 +28,7 @@ import org.apache.jena.shared.PrefixMapping ; import org.apache.jena.vocabulary.RDFS ; +/** Library code for operations specific to building Fuseki servers and services. */ public class FusekiBuildLib { // ---- Helper code diff --git a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java index c2bc629eda2..9bc8c091fea 100644 --- a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java +++ b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiServer.java @@ -249,7 +249,7 @@ public Builder enableStats(boolean withStats) { } /** Add the "/$/ping" servlet that responds to HTTP very efficiently. - * This is useful for testign whether a server is alove, for example, from a load balencer. + * This is useful for testing whether a server is alive, for example, from a load balancer. */ public Builder enablePing(boolean withPing) { this.withPing = withPing;