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
The following commit(s) were added to refs/heads/main by this push:
new 171a7dc492 GH-1557: Added getters to DynamicDataset to make the
original construction parameters accessible
new 5427fb3691 Merge pull request #1558 from Aklakan/gh-1557
171a7dc492 is described below
commit 171a7dc4925e472bd78bf401dc311bbee3a22580
Author: Claus Stadler <[email protected]>
AuthorDate: Thu Sep 29 01:55:51 2022 +0200
GH-1557: Added getters to DynamicDataset to make the original construction
parameters accessible
---
.../java/org/apache/jena/sparql/ARQConstants.java | 4 +--
.../apache/jena/sparql/core/DynamicDatasets.java | 38 ++++++++++++++++++----
2 files changed, 33 insertions(+), 9 deletions(-)
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/ARQConstants.java
b/jena-arq/src/main/java/org/apache/jena/sparql/ARQConstants.java
index d534025682..f548ed4384 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/ARQConstants.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/ARQConstants.java
@@ -257,10 +257,10 @@ public class ARQConstants
/** Context key for the execution-scoped bNode variable generator */
public static final Symbol sysVarAllocAnon =
Symbol.create(systemVarNS+"namedVarAnon") ;
- /** Graphs forming the default graph (List<String>) (Dynamic
dataset) */
+ /** Graphs forming the default graph (Collection<Node>) (Dynamic
dataset) */
public static final Symbol symDatasetDefaultGraphs =
SystemARQ.allocSymbol("datasetDefaultGraphs") ;
- /** Graphs forming the named graphs (List<String>) (Dynamic dataset)
*/
+ /** Graphs forming the named graphs (Collection<Node>) (Dynamic
dataset) */
public static final Symbol symDatasetNamedGraphs =
SystemARQ.allocSymbol("datasetNamedGraphs") ;
/** Context symbol for a supplied {@link Prologue} (used for text out of
result sets). */
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
index 21c48c506f..3a226bc485 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DynamicDatasets.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.core;
import static org.apache.jena.sparql.util.NodeUtils.convertToSetNodes;
import java.util.Collection;
+import java.util.Objects;
import java.util.Set;
import org.apache.jena.graph.Graph ;
@@ -57,9 +58,9 @@ public class DynamicDatasets
{
if ( description == null )
return dsg ;
- //An empty description means leave the dataset as-is
- if (description.isEmpty() )
- return dsg;
+ //An empty description means leave the dataset as-is
+ if (description.isEmpty() )
+ return dsg;
Set<Node> defaultGraphs =
convertToSetNodes(description.getDefaultGraphURIs()) ;
Set<Node> namedGraphs =
convertToSetNodes(description.getNamedGraphURIs()) ;
@@ -112,11 +113,34 @@ public class DynamicDatasets
}
public static class DynamicDatasetGraph extends DatasetGraphReadOnly
implements DatasetGraphWrapperView {
- private final DatasetGraph projected;
+ private final DatasetGraph original;
- public DynamicDatasetGraph(DatasetGraph viewDSG, DatasetGraph baseDSG)
{
- super(viewDSG, baseDSG.getContext().copy());
- this.projected = baseDSG;
+ public DynamicDatasetGraph(DatasetGraph viewDSG, DatasetGraph
originalDSG) {
+ super(viewDSG, originalDSG.getContext().copy());
+ this.original = Objects.requireNonNull(originalDSG);
+ }
+
+ /** Returns the original dataset graph this DynamicDatasetGraph is
based on. Never null. */
+ public DatasetGraph getOriginal() {
+ return original;
+ }
+
+ /**
+ * Returns the collection of default graphs this DynamicDatasetGraph
is based on.
+ *
+ * @implNote This method returns the context's value for {@link
ARQConstants#symDatasetDefaultGraphs}.
+ */
+ public Collection<Node> getOriginalDefaultGraphs() {
+ return getContext().get(ARQConstants.symDatasetDefaultGraphs);
+ }
+
+ /**
+ * Returns the collection of named graphs this DynamicDatasetGraph is
based on.
+ *
+ * @implNote This method returns the context's value for {@link
ARQConstants#symDatasetNamedGraphs}.
+ */
+ public Collection<Node> getOriginalNamedGraphs() {
+ return getContext().get(ARQConstants.symDatasetNamedGraphs);
}
}
}