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 54a62a94079d6b07e75ebbfe51148259d0e68671 Author: Andy Seaborne <[email protected]> AuthorDate: Sun Jun 22 14:12:54 2025 +0100 More SerializationContext constructors --- .../jena/query/ParameterizedSparqlString.java | 6 +- .../apache/jena/sparql/algebra/Transformer.java | 45 +++-- .../sparql/modify/request/UpdateWriterVisitor.java | 5 +- .../jena/sparql/serializer/FmtExprSPARQL.java | 2 +- .../sparql/serializer/SerializationContext.java | 194 +++++++++------------ 5 files changed, 113 insertions(+), 139 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java index a1ee3ee681..c4793906b2 100644 --- a/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java +++ b/jena-arq/src/main/java/org/apache/jena/query/ParameterizedSparqlString.java @@ -441,8 +441,7 @@ public class ParameterizedSparqlString implements PrefixMapping { * Node to append */ public void appendNode(Node n) { - SerializationContext context = new SerializationContext(this.prefixes); - context.setBaseIRI(this.baseUri); + SerializationContext context = new SerializationContext(this.prefixes, this.baseUri); this.cmd.append(this.stringForNode(n, context)); } @@ -1410,8 +1409,7 @@ public class ParameterizedSparqlString implements PrefixMapping { Pattern p; // Go ahead and inject Variable Parameters - SerializationContext context = new SerializationContext(this.prefixes); - context.setBaseIRI(this.baseUri); + SerializationContext context = new SerializationContext(this.prefixes, this.baseUri); for (String var : this.params.keySet()) { Node n = this.params.get(var); if (n == null) { diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transformer.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transformer.java index 5bc18a0827..f40fe50e63 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transformer.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/Transformer.java @@ -18,16 +18,15 @@ package org.apache.jena.sparql.algebra; -import org.apache.jena.sparql.algebra.op.OpService ; -import org.apache.jena.sparql.algebra.walker.ApplyTransformVisitor ; -import org.apache.jena.sparql.algebra.walker.Walker ; -import org.apache.jena.sparql.expr.ExprTransform ; -import org.apache.jena.sparql.expr.ExprTransformCopy ; +import org.apache.jena.sparql.algebra.op.OpService; +import org.apache.jena.sparql.algebra.walker.ApplyTransformVisitor; +import org.apache.jena.sparql.algebra.walker.Walker; +import org.apache.jena.sparql.expr.ExprTransform; +import org.apache.jena.sparql.expr.ExprTransformCopy; /** A bottom-top application of a transformation of SPARQL algebra */ public class Transformer { - private static Transformer singleton = new Transformer(); /** Get the current transformer */ @@ -38,61 +37,61 @@ public class Transformer /** Transform an algebra expression */ public static Op transform(Transform transform, Op op) - { return get().transformation(transform, op, null, null) ; } + { return get().transformation(transform, op, null, null); } /** Transform an algebra expression and the expressions */ public static Op transform(Transform transform, ExprTransform exprTransform, Op op) - { return get().transformation(transform, exprTransform, op, null, null) ; } + { return get().transformation(transform, exprTransform, op, null, null); } /** * Transformation with specific Transform and default ExprTransform (apply transform * inside pattern expressions like NOT EXISTS) */ public static Op transform(Transform transform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { - return get().transformation(transform, op, beforeVisitor, afterVisitor) ; + return get().transformation(transform, op, beforeVisitor, afterVisitor); } /** Transformation with specific Transform and ExprTransform applied */ public static Op transform(Transform transform, ExprTransform exprTransform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { - return get().transformation(transform, exprTransform, op, beforeVisitor, afterVisitor) ; + return get().transformation(transform, exprTransform, op, beforeVisitor, afterVisitor); } /** Transform an algebra expression except skip (leave alone) any OpService nodes */ public static Op transformSkipService(Transform transform, Op op) { - return transformSkipService(transform, null, op, null, null) ; + return transformSkipService(transform, null, op, null, null); } /** Transform an algebra expression except skip (leave alone) any OpService nodes */ public static Op transformSkipService(Transform transform, ExprTransform exprTransform, Op op) { - return transformSkipService(transform, exprTransform, op, null, null) ; + return transformSkipService(transform, exprTransform, op, null, null); } /** Transform an algebra expression except skip (leave alone) any OpService nodes */ public static Op transformSkipService(Transform opTransform, ExprTransform exprTransform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { if ( opTransform == null ) - opTransform = new TransformCopy() ; + opTransform = new TransformCopy(); if ( exprTransform == null ) - exprTransform = new ExprTransformCopy() ; - Transform transform2 = new TransformSkipService(opTransform) ; - transform2 = opTransform ; - ApplyTransformVisitor atv = new ApplyTransformVisitor(transform2, exprTransform, false, beforeVisitor, afterVisitor) ; - return Walker.transformSkipService(op, atv, beforeVisitor, afterVisitor) ; + exprTransform = new ExprTransformCopy(); + Transform transform2 = new TransformSkipService(opTransform); + transform2 = opTransform; + ApplyTransformVisitor atv = new ApplyTransformVisitor(transform2, exprTransform, false, beforeVisitor, afterVisitor); + return Walker.transformSkipService(op, atv, beforeVisitor, afterVisitor); } // To allow subclassing this class, we use a singleton pattern // and these protected methods. protected Op transformation(Transform transform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { - return transformation(transform, null, op, beforeVisitor, afterVisitor) ; + return transformation(transform, null, op, beforeVisitor, afterVisitor); } protected Op transformation(Transform transform, ExprTransform exprTransform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { - return transformation$(transform, exprTransform, op, beforeVisitor, afterVisitor) ; + return transformation$(transform, exprTransform, op, beforeVisitor, afterVisitor); } private Op transformation$(Transform transform, ExprTransform exprTransform, Op op, OpVisitor beforeVisitor, OpVisitor afterVisitor) { - return Walker.transform(op, transform, exprTransform, beforeVisitor, afterVisitor) ; + return Walker.transform(op, transform, exprTransform, beforeVisitor, afterVisitor); } // -------------------------------- @@ -103,11 +102,11 @@ public class Transformer { public TransformSkipService(Transform transform) { - super(transform) ; + super(transform); } @Override public Op transform(OpService opService, Op subOp) - { return opService ; } + { return opService; } } } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateWriterVisitor.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateWriterVisitor.java index daa7618fa5..4ca070f35f 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateWriterVisitor.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/request/UpdateWriterVisitor.java @@ -31,6 +31,7 @@ import org.apache.jena.sparql.serializer.SerializationContext ; import org.apache.jena.sparql.syntax.Element ; import org.apache.jena.sparql.system.SinkQuadBracedOutput; import org.apache.jena.sparql.util.FmtUtils ; +import org.apache.jena.sparql.util.NodeToLabelMap; import org.apache.jena.sparql.util.NodeToLabelMapBNode ; public class UpdateWriterVisitor implements UpdateVisitor { @@ -249,9 +250,9 @@ public class UpdateWriterVisitor implements UpdateVisitor { } protected FormatterElement prepareElementFormatter() { - SerializationContext sCxt1 = new SerializationContext(sCxt); // The label prefix is different to the template writer just for clarity. - sCxt1.setBNodeMap(new NodeToLabelMapBNode("x", false)); + NodeToLabelMap map2 = new NodeToLabelMapBNode("x", false); + SerializationContext sCxt1 = new SerializationContext(sCxt, map2); return new FormatterElement(out, sCxt1); } } diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtExprSPARQL.java b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtExprSPARQL.java index 17d28591a0..f247dea526 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtExprSPARQL.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/FmtExprSPARQL.java @@ -58,7 +58,7 @@ public class FmtExprSPARQL { SerializationContext context; public FmtExprARQVisitor(IndentedWriter writer, PrefixMapping pmap) { - this(writer, new SerializationContext(pmap, null)); + this(writer, new SerializationContext(pmap)); } public FmtExprARQVisitor(IndentedWriter writer, SerializationContext cxt) { diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/SerializationContext.java b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/SerializationContext.java index 07fcc5c054..71ebbdb5c1 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/serializer/SerializationContext.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/serializer/SerializationContext.java @@ -18,140 +18,116 @@ package org.apache.jena.sparql.serializer; -import org.apache.jena.shared.PrefixMapping ; -import org.apache.jena.sparql.core.Prologue ; -import org.apache.jena.sparql.util.NodeToLabelMap ; +import org.apache.jena.shared.PrefixMapping; +import org.apache.jena.sparql.core.Prologue; +import org.apache.jena.sparql.util.NodeToLabelMap; /** Information needed to serialize things */ -public class SerializationContext -{ - // ?? Interface : WriterContext - - private Prologue prologue ; - private NodeToLabelMap bNodeMap ; +public class SerializationContext { + private Prologue prologue; + private NodeToLabelMap bNodeMap; private boolean usePlainLiterals = true; - - public SerializationContext(SerializationContext cxt) - { - prologue = cxt.prologue ; - bNodeMap = cxt.bNodeMap ; + + public SerializationContext(SerializationContext cxt) { + prologue = cxt.prologue; + bNodeMap = cxt.bNodeMap; + } + + public SerializationContext(SerializationContext cxt, NodeToLabelMap bMap) { + prologue = cxt.prologue; + bNodeMap = bMap; + } + + public SerializationContext(Prologue prologue) { + this(prologue, null); } - public SerializationContext(Prologue prologue) - { - this(prologue, null) ; + public SerializationContext(PrefixMapping prefixMap) { + this(new Prologue(prefixMap)); } - - public SerializationContext(PrefixMapping prefixMap) - { - this(new Prologue(prefixMap)) ; + + public SerializationContext(PrefixMapping prefixMap, String baseURI) { + this(new Prologue(prefixMap)); + this.setBaseIRI(baseURI); } - public SerializationContext() - { - this((Prologue)null, null) ; + + public SerializationContext() { + this((Prologue)null, null); } - public SerializationContext(PrefixMapping prefixMap, NodeToLabelMap bMap) - { - this(new Prologue(prefixMap), bMap) ; + public SerializationContext(PrefixMapping prefixMap, NodeToLabelMap bMap) { + this(new Prologue(prefixMap), bMap); } - - public SerializationContext(Prologue prologue, NodeToLabelMap bMap) - { - this.prologue = prologue ; + + public SerializationContext(Prologue prologue, NodeToLabelMap bMap) { + this.prologue = prologue; if ( this.prologue == null ) - this.prologue = new Prologue() ; - - bNodeMap = bMap ; + this.prologue = new Prologue(); + + bNodeMap = bMap; if ( bMap == null ) - bNodeMap = new NodeToLabelMap("b", false) ; - } - - public SerializationContext(boolean usePlainLiterals) - { - this((Prologue)null, null, usePlainLiterals); - } - - public SerializationContext(PrefixMapping prefixMap, boolean usePlainLiterals) - { - this(new Prologue(prefixMap), null); - this.usePlainLiterals = usePlainLiterals; - } - - public SerializationContext(PrefixMapping prefixMap, NodeToLabelMap bMap, boolean usePlainLiterals) - { - this(new Prologue(prefixMap), bMap); - this.usePlainLiterals = usePlainLiterals; - } - - public SerializationContext(Prologue prologue, boolean usePlainLiterals) - { - this(prologue, null, usePlainLiterals); - } - - public SerializationContext(Prologue prologue, NodeToLabelMap bMap, boolean usePlainLiterals) - { - this(prologue, bMap); - this.usePlainLiterals = usePlainLiterals; - } - - /** - * @return Returns the bNodeMap. - */ - public NodeToLabelMap getBNodeMap() - { - return bNodeMap; + bNodeMap = new NodeToLabelMap("b", false); } - - /** - * @param nodeMap The bNodeMap to set. - */ - public void setBNodeMap(NodeToLabelMap nodeMap) - { - bNodeMap = nodeMap; + + public SerializationContext(boolean usePlainLiterals) { + this((Prologue)null, null, usePlainLiterals); } - - /** - * @return Returns the prefixMap. - */ - public PrefixMapping getPrefixMapping() - { - return prologue.getPrefixMapping(); + + public SerializationContext(PrefixMapping prefixMap, boolean usePlainLiterals) { + this(new Prologue(prefixMap), null); + this.usePlainLiterals = usePlainLiterals; } - - /** - * @param prefixMap The prefixMap to set. - */ - public void setPrefixMapping(PrefixMapping prefixMap) - { - prologue.setPrefixMapping(prefixMap) ; + + public SerializationContext(PrefixMapping prefixMap, NodeToLabelMap bMap, boolean usePlainLiterals) { + this(new Prologue(prefixMap), bMap); + this.usePlainLiterals = usePlainLiterals; + } + + public SerializationContext(Prologue prologue, boolean usePlainLiterals) { + this(prologue, null, usePlainLiterals); + } + + public SerializationContext(Prologue prologue, NodeToLabelMap bMap, boolean usePlainLiterals) { + this(prologue, bMap); + this.usePlainLiterals = usePlainLiterals; + } + + public NodeToLabelMap getBNodeMap() { + return bNodeMap; } - + + public PrefixMapping getPrefixMapping() { + return prologue.getPrefixMapping(); + } + /** @param baseIRI Set the base IRI */ - public void setBaseIRI(String baseIRI) { prologue.setBaseURI(baseIRI) ; } - - public String getBaseIRI() { return prologue.getBaseURI() ; } + private void setBaseIRI(String baseIRI) { + prologue.setBaseURI(baseIRI); + } - public Prologue getPrologue() - { - return prologue ; + public String getBaseIRI() { + return prologue.getBaseURI(); } - + + public Prologue getPrologue() { + return prologue; + } + /** - * Gets whether Plain Literal forms should be used for appropriate typed literals (booleans, integers, decimals and doubles) + * Gets whether Plain Literal forms should be used for appropriate typed literals + * (booleans, integers, decimals and doubles) */ - public boolean getUsePlainLiterals() - { - return usePlainLiterals; + public boolean getUsePlainLiterals() { + return usePlainLiterals; } - + /** - * Sets whether Plain Literal forms should be used for appropriate typed literals (booleans, integers, decimals and doubles) + * Sets whether Plain Literal forms should be used for appropriate typed literals + * (booleans, integers, decimals and doubles) */ - public void setUsePlainLiterals(boolean usePlainLiterals) - { - this.usePlainLiterals = usePlainLiterals; + public void setUsePlainLiterals(boolean usePlainLiterals) { + this.usePlainLiterals = usePlainLiterals; } }
