This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit d319d7edc029c09f6166a0962125d6246b857b06
Author: Andy Seaborne <[email protected]>
AuthorDate: Fri Apr 5 22:00:29 2024 +0100

    Database creation - default to TDB2
---
 .../org/apache/jena/fuseki/mgt/ActionDatasets.java | 45 ++++++++--------------
 1 file changed, 15 insertions(+), 30 deletions(-)

diff --git 
a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
 
b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
index beb93845dc..ce4f319ad3 100644
--- 
a/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
+++ 
b/jena-fuseki2/jena-fuseki-webapp/src/main/java/org/apache/jena/fuseki/mgt/ActionDatasets.java
@@ -26,7 +26,10 @@ import java.io.OutputStream;
 import java.io.StringReader;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
 
 import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.lang3.StringUtils;
@@ -53,13 +56,10 @@ import org.apache.jena.fuseki.servlets.ServletOps;
 import org.apache.jena.fuseki.system.DataUploader;
 import org.apache.jena.fuseki.system.FusekiNetLib;
 import org.apache.jena.fuseki.webapp.FusekiWebapp;
-import org.apache.jena.graph.Node;
 import org.apache.jena.rdf.model.*;
 import org.apache.jena.riot.*;
 import org.apache.jena.riot.system.StreamRDF;
 import org.apache.jena.riot.system.StreamRDFLib;
-import org.apache.jena.sparql.core.DatasetGraph;
-import org.apache.jena.sparql.core.Quad;
 import org.apache.jena.sparql.core.assembler.AssemblerUtils;
 import org.apache.jena.sparql.util.FmtUtils;
 import org.apache.jena.vocabulary.RDF;
@@ -73,6 +73,7 @@ public class ActionDatasets extends ActionContainerItem {
     private static final String paramDatasetName    = "dbName";
     private static final String paramDatasetType    = "dbType";
     private static final String tDatabaseTDB        = "tdb";
+    private static final String tDatabaseTDB1       = "tdb1";
     private static final String tDatabaseTDB2       = "tdb2";
     private static final String tDatabaseMem        = "mem";
 
@@ -196,12 +197,6 @@ public class ActionDatasets extends ActionContainerItem {
                     RDFDataMgr.write(outCopy, modelData, Lang.TURTLE);
                 }
 
-                // Currently do nothing with the system database.
-                // In the future ... maybe ...
-//            Model modelSys = system.getNamedModel(gn.getURI());
-//            modelSys.removeAll(null, pStatus, null);
-//            modelSys.add(subject, pStatus, FusekiVocab.stateActive);
-
                 // Need to be in Resource space at this point.
                 DataAccessPoint dataAccessPoint = 
FusekiConfig.buildDataAccessPoint(subject, registry);
                 if ( dataAccessPoint == null ) {
@@ -330,7 +325,7 @@ public class ActionDatasets extends ActionContainerItem {
             if  ( configurationFiles.size() > 1 ) {
                 // -- This should not happen.
                 action.log.warn(format("[%d] There are %d configuration files, 
not one.", action.id, configurationFiles.size()));
-                ServletOps.errorOccurred(format("There are %d configuration 
files, not one. Delete not performed; clearup of the filesystem needed.",
+                ServletOps.errorOccurred(format("There are %d configuration 
files, not one. Delete not performed; manual clean up of the filesystem 
needed.",
                                                 configurationFiles.size()));
                 return;
             }
@@ -383,12 +378,14 @@ public class ActionDatasets extends ActionContainerItem {
         bodyAsGraph(action, dest);
     }
 
-    private static Map<String, String> dbTypeToTemplate = new HashMap<>();
-    static {
-        dbTypeToTemplate.put(tDatabaseTDB,  Template.templateTDB1_FN);
-        dbTypeToTemplate.put(tDatabaseTDB2, Template.templateTDB2_FN);
-        dbTypeToTemplate.put(tDatabaseMem,  Template.templateTIM_MemFN);
-    }
+    private static Map<String, String> dbTypeToTemplate = Map.of(
+            // Default TDB
+            tDatabaseTDB,  Template.templateTDB2_FN,
+            // Specific TDB
+            tDatabaseTDB1,  Template.templateTDB1_FN,
+            tDatabaseTDB2, Template.templateTDB2_FN,
+            // Transactional, in-memory
+            tDatabaseMem,  Template.templateTIM_MemFN);
 
     private static void assemblerFromForm(HttpAction action, StreamRDF dest) {
         String x = action.getRequestQueryString();
@@ -409,7 +406,7 @@ public class ActionDatasets extends ActionContainerItem {
 
         String template = dbTypeToTemplate.get(lowercase(dbType));
         if ( template == null )
-            ServletOps.errorBadRequest(format("dbType can be only '%s', '%s' 
or '%s'", tDatabaseTDB, tDatabaseTDB2, tDatabaseMem));
+            ServletOps.errorBadRequest(format("dbType can be only '%s' 
('%s','%s') or '%s'", tDatabaseTDB, tDatabaseTDB1, tDatabaseTDB2, 
tDatabaseMem));
 
         String syntax = TemplateFunctions.templateFile(template, params, 
Lang.TTL);
         RDFParser.create().source(new 
StringReader(syntax)).base("http://base/";).lang(Lang.TTL).parse(dest);
@@ -419,18 +416,6 @@ public class ActionDatasets extends ActionContainerItem {
         DataUploader.incomingData(action, dest);
     }
 
-    // ---- Auxiliary functions
-
-    private static Quad getOne(DatasetGraph dsg, Node g, Node s, Node p, Node 
o) {
-        Iterator<Quad> iter = dsg.findNG(g, s, p, o);
-        if ( ! iter.hasNext() )
-            return null;
-        Quad q = iter.next();
-        if ( iter.hasNext() )
-            return null;
-        return q;
-    }
-
     private static Statement getOne(Model m, Resource s, Property p, RDFNode 
o) {
         StmtIterator iter = m.listStatements(s, p, o);
         if ( ! iter.hasNext() )

Reply via email to