From c67a2901b8fbb9add89d554c8b60c8655e6b1302 Mon Sep 17 00:00:00 2001 From: Pierre Maillot Date: Thu, 30 Oct 2025 15:05:23 +0100 Subject: [PATCH 1/4] Renaming/refactoring of options classes --- .../api/base/io/parser/AbstractRDFParser.java | 24 +++++- .../next/api/io/common/BaseIRIOptions.java | 14 ++++ .../io/parser/RDFParserBaseIRIOptions.java | 13 --- .../next/api/io/parser/RDFParserFactory.java | 3 +- .../next/api/io/parser/RDFParserOptions.java | 9 --- .../RDFSerializerBNPrefixOptions.java | 12 --- .../io/serialization/SerializationOption.java | 14 ---- .../io/serialization/SerializerFactory.java | 7 +- ...ption.java => JSONLDProcessorOptions.java} | 21 +++-- .../next/impl/io/parser/ParserFactory.java | 30 +++---- .../impl/io/parser/jsonld/JSONLDParser.java | 8 +- ...TLRNQuadsParser.java => NQuadsParser.java} | 22 ++--- .../io/parser/nquads/NQuadsParserOptions.java | 23 ++++++ ...TriplesParser.java => NTriplesParser.java} | 23 ++---- .../ntriples/NTriplesParserOptions.java | 24 ++++++ .../impl/io/parser/rdfxml/RDFXMLParser.java | 12 +-- .../io/parser/rdfxml/RDFXMLParserOptions.java | 38 +++++++++ .../impl/io/parser/trig/TriGListerner.java | 8 +- .../{ANTLRTrigParser.java => TriGParser.java} | 26 ++---- .../io/parser/trig/TriGParserOptions.java | 38 +++++++++ .../impl/io/parser/turtle/TurtleListener.java | 8 +- ...TLRTurtleParser.java => TurtleParser.java} | 52 ++---------- .../io/parser/turtle/TurtleParserOptions.java | 38 +++++++++ .../impl/io/parser/util/ParserConstants.java | 1 - .../DefaultSerializerFactory.java | 80 +++++++++---------- ...icalizer.java => RDFC10Canonicalizer.java} | 8 +- ...{Rdfc10Options.java => RDFC10Options.java} | 18 ++--- ...0Serializer.java => RDFC10Serializer.java} | 8 +- .../jsonld/JSONLDSerializer.java | 6 +- .../nquads/NQuadsSerializer.java | 11 +-- ...tion.java => NQuadsSerializerOptions.java} | 16 ++-- .../ntriples/NTriplesSerializer.java | 11 +-- ...on.java => NTriplesSerializerOptions.java} | 20 ++--- .../option/AbstractSerializerOption.java | 5 +- ...{XmlSerializer.java => XMLSerializer.java} | 16 ++-- ...mlOption.java => XMLSerializerOption.java} | 14 ++-- .../io/serialization/trig/TriGSerializer.java | 18 ++--- ...Option.java => TriGSerializerOptions.java} | 20 ++--- .../turtle/TurtleSerializer.java | 8 +- ...tion.java => TurtleSerializerOptions.java} | 20 ++--- ...t.java => JSONLDProcessorOptionsTest.java} | 16 ++-- .../impl/io/parser/ParserFactoryTest.java | 22 ++--- .../io/parser/jsonld/JSONLDCircularTest.java | 7 +- .../io/parser/nquads/NQuadsCircularTest.java | 6 +- ...sParserTest.java => NQuadsParserTest.java} | 6 +- .../parser/ntriples/NTriplesCircularTest.java | 6 +- ...arserTest.java => NTriplesParserTest.java} | 6 +- .../io/parser/rdfxml/RDFXMLCircularTest.java | 7 +- .../impl/io/parser/trig/TriGCircularTest.java | 6 +- ...rigParserTest.java => TriGParserTest.java} | 6 +- .../io/parser/turtle/TurtleCircularTest.java | 6 +- ...eParserTest.java => TurtleParserTest.java} | 4 +- .../DefaultSerializerFactoryTest.java | 19 +++-- ...ptionsTest.java => RDFC10OptionsTest.java} | 10 +-- ...zerTest.java => RDFC10SerializerTest.java} | 22 ++--- .../jsonld/JSONLDSerializerTest.java | 4 +- ....java => NQuadsSerializerOptionsTest.java} | 24 +++--- .../nquads/NQuadsSerializerTest.java | 8 +- ...ava => NTriplesSerializerOptionsTest.java} | 24 +++--- .../ntriples/NTriplesSerializerTest.java | 8 +- ...alizerTest.java => XMLSerializerTest.java} | 62 +++++++------- .../serialization/rdfxml/XmlConfigTest.java | 40 +++++----- ...st.java => TriGSerializerOptionsTest.java} | 50 ++++++------ .../trig/TriGSerializerTest.java | 16 ++-- ....java => TurtleSerializerOptionsTest.java} | 50 ++++++------ .../turtle/TurtleSerializerTest.java | 23 +++--- 66 files changed, 632 insertions(+), 573 deletions(-) create mode 100644 src/main/java/fr/inria/corese/core/next/api/io/common/BaseIRIOptions.java delete mode 100644 src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserBaseIRIOptions.java delete mode 100644 src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserOptions.java delete mode 100644 src/main/java/fr/inria/corese/core/next/api/io/serialization/RDFSerializerBNPrefixOptions.java delete mode 100644 src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializationOption.java rename src/main/java/fr/inria/corese/core/next/impl/io/option/{TitaniumJSONLDProcessorOption.java => JSONLDProcessorOptions.java} (92%) rename src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/{ANTLRNQuadsParser.java => NQuadsParser.java} (88%) create mode 100644 src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java rename src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/{ANTLRNTriplesParser.java => NTriplesParser.java} (89%) create mode 100644 src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java create mode 100644 src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java rename src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/{ANTLRTrigParser.java => TriGParser.java} (87%) create mode 100644 src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java rename src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/{ANTLRTurtleParser.java => TurtleParser.java} (79%) create mode 100644 src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/{Rdfc10Canonicalizer.java => RDFC10Canonicalizer.java} (98%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/{Rdfc10Options.java => RDFC10Options.java} (88%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/{Rdfc10Serializer.java => RDFC10Serializer.java} (94%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/{NQuadsOption.java => NQuadsSerializerOptions.java} (77%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/{NTriplesOption.java => NTriplesSerializerOptions.java} (73%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/{XmlSerializer.java => XMLSerializer.java} (98%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/{XmlOption.java => XMLSerializerOption.java} (96%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/{TriGOption.java => TriGSerializerOptions.java} (79%) rename src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/{TurtleOption.java => TurtleSerializerOptions.java} (79%) rename src/test/java/fr/inria/corese/core/next/impl/io/option/{TitaniumJSONLDProcessorOptionTest.java => JSONLDProcessorOptionsTest.java} (75%) rename src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/{ANTLRNQuadsParserTest.java => NQuadsParserTest.java} (98%) rename src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/{ANTLRNTriplesParserTest.java => NTriplesParserTest.java} (98%) rename src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/{ANTLRTrigParserTest.java => TriGParserTest.java} (98%) rename src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/{ANTLRTurtleParserTest.java => TurtleParserTest.java} (92%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/{Rdfc10OptionsTest.java => RDFC10OptionsTest.java} (91%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/{Rdfc10SerializerTest.java => RDFC10SerializerTest.java} (95%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/{NQuadsOptionTest.java => NQuadsSerializerOptionsTest.java} (83%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/{NTriplesOptionTest.java => NTriplesSerializerOptionsTest.java} (82%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/{XmlSerializerTest.java => XMLSerializerTest.java} (91%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/{TriGOptionTest.java => TriGSerializerOptionsTest.java} (86%) rename src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/{TurtleOptionTest.java => TurtleSerializerOptionsTest.java} (85%) diff --git a/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java b/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java index d03c7d13e..33a28f72b 100644 --- a/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java +++ b/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java @@ -1,12 +1,16 @@ package fr.inria.corese.core.next.api.base.io.parser; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.StandardCharsets; import java.util.Objects; import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; import fr.inria.corese.core.next.api.io.IOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.api.io.parser.RDFParser; /** @@ -38,13 +42,14 @@ public void setConfig(IOOptions config) { /** * Constructor for AbstractRDFParser that initializes the model and value - * factory. + * factory. Ths created object will use an empty AbstractIOOptions object as configuration * * @param model the model to be populated by the parser * @param factory the value factory used to create RDF values */ protected AbstractRDFParser(Model model, ValueFactory factory) { - this(model, factory, null); + this(model, factory, new AbstractIOOptions() { + }); } /** @@ -58,6 +63,7 @@ protected AbstractRDFParser(Model model, ValueFactory factory) { protected AbstractRDFParser(Model model, ValueFactory factory, IOOptions config) { Objects.requireNonNull(model); Objects.requireNonNull(factory); + Objects.requireNonNull(config); this.model = model; this.valueFactory = factory; this.config = config; @@ -65,12 +71,22 @@ protected AbstractRDFParser(Model model, ValueFactory factory, IOOptions config) @Override public void parse(InputStream in) { - parse(in, null); + if(getConfig() instanceof BaseIRIOptions) { + String baseIRI = ((BaseIRIOptions) getConfig()).getBaseIRI(); + parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseIRI); + } else { + parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); + } } @Override public void parse(Reader reader) { - parse(reader, null); + if(getConfig() instanceof BaseIRIOptions) { + String baseIRI = ((BaseIRIOptions) getConfig()).getBaseIRI(); + parse(reader, baseIRI); + } else { + parse(reader, null); + } } /** diff --git a/src/main/java/fr/inria/corese/core/next/api/io/common/BaseIRIOptions.java b/src/main/java/fr/inria/corese/core/next/api/io/common/BaseIRIOptions.java new file mode 100644 index 000000000..add748be1 --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/api/io/common/BaseIRIOptions.java @@ -0,0 +1,14 @@ +package fr.inria.corese.core.next.api.io.common; + +import fr.inria.corese.core.next.api.io.IOOptions; + +/** + * Options for RDF parsers and serializers that support a base IRI. + */ +public interface BaseIRIOptions { + + /** + * @return the base IRI used to resolve relative IRIs + */ + String getBaseIRI(); +} diff --git a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserBaseIRIOptions.java b/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserBaseIRIOptions.java deleted file mode 100644 index 870a04852..000000000 --- a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserBaseIRIOptions.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.inria.corese.core.next.api.io.parser; - -/** - * Options for RDF parsers that support a base IRI. - */ -public interface RDFParserBaseIRIOptions extends RDFParserOptions { - - /** - * - * @return the base IRI used to resolve relative IRIs - */ - String getBase(); -} diff --git a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserFactory.java b/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserFactory.java index 196b3661b..de6e2c6dc 100644 --- a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserFactory.java +++ b/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserFactory.java @@ -3,6 +3,7 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; import fr.inria.corese.core.next.api.base.io.RDFFormat; +import fr.inria.corese.core.next.api.io.IOOptions; /** * A factory for creating RDF parsers. @@ -27,6 +28,6 @@ public interface RDFParserFactory { * @param config The configuration to use for parsing. * @return A new instance of an RDF parser for the specified format and model. */ - RDFParser createRDFParser(RDFFormat format, Model model, ValueFactory factory, RDFParserOptions config); + RDFParser createRDFParser(RDFFormat format, Model model, ValueFactory factory, IOOptions config); } diff --git a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserOptions.java b/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserOptions.java deleted file mode 100644 index 428c59c66..000000000 --- a/src/main/java/fr/inria/corese/core/next/api/io/parser/RDFParserOptions.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.inria.corese.core.next.api.io.parser; - -import fr.inria.corese.core.next.api.io.IOOptions; - -/** - * Options for RDF parsers - */ -public interface RDFParserOptions extends IOOptions { -} diff --git a/src/main/java/fr/inria/corese/core/next/api/io/serialization/RDFSerializerBNPrefixOptions.java b/src/main/java/fr/inria/corese/core/next/api/io/serialization/RDFSerializerBNPrefixOptions.java deleted file mode 100644 index fe8f8257f..000000000 --- a/src/main/java/fr/inria/corese/core/next/api/io/serialization/RDFSerializerBNPrefixOptions.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.inria.corese.core.next.api.io.serialization; - -/** - * Options for RDF parsers that support adding a prefix to blank nodes ids. - */ -public interface RDFSerializerBNPrefixOptions { - - /** - * @return the prefix used for blank nodes ids in the serialization. - */ - String getBlankNodePrefix(); -} diff --git a/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializationOption.java b/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializationOption.java deleted file mode 100644 index 54405802e..000000000 --- a/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializationOption.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.inria.corese.core.next.api.io.serialization; - -/** - * Marker interface for configuration objects used in RDF serialization. - * This interface provides a common type for all serialization configuration - * implementations, promoting abstraction and flexibility in how serialization - * options are defined and provided. - * Implementations of this interface (e.g., SerializerConfig) will define the - * specific parameters and settings relevant to a particular serialization - * process. - */ -public interface SerializationOption { - -} diff --git a/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializerFactory.java b/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializerFactory.java index d0d765505..f31bcdf48 100644 --- a/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializerFactory.java +++ b/src/main/java/fr/inria/corese/core/next/api/io/serialization/SerializerFactory.java @@ -2,13 +2,14 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.base.io.RDFFormat; +import fr.inria.corese.core.next.api.io.IOOptions; /** * Factory interface for creating {@link RDFSerializer} instances. * This interface defines a contract for classes that are responsible * for providing appropriate RDF serializers based on the desired * {@link RDFFormat}, a {@link Model} to be serialized, and - * {@link SerializationOption}. + * {@link IOOptions}. * Implementations of this factory can manage the instantiation * and configuration of various RDF serializers, promoting * loose coupling and extensibility in the serialization process. @@ -20,10 +21,10 @@ public interface SerializerFactory { * * @param format The {@link RDFFormat} to use for serialization. * @param model The {@link Model} to be serialized. - * @param config The {@link SerializationOption} configuration to use for + * @param config The {@link IOOptions} configuration to use for * serialization. * @return A new instance of an RDF serializer for the specified format and * model. */ - RDFSerializer createSerializer(RDFFormat format, Model model, SerializationOption config); + RDFSerializer createSerializer(RDFFormat format, Model model, IOOptions config); } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java similarity index 92% rename from src/main/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java index 6cda33d66..18b9c237c 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java @@ -8,8 +8,7 @@ import fr.inria.corese.core.next.api.IRI; import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; -import fr.inria.corese.core.next.api.io.parser.RDFParserBaseIRIOptions; -import fr.inria.corese.core.next.api.io.serialization.SerializationOption; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; /** * Wrapper around the JsonLdOptions class for the Titanium JSONLD parser and @@ -18,8 +17,8 @@ * @see JsonLdOptions */ -public class TitaniumJSONLDProcessorOption extends AbstractIOOptions - implements RDFParserBaseIRIOptions, SerializationOption { +public class JSONLDProcessorOptions extends AbstractIOOptions + implements BaseIRIOptions { private final Builder builder; @@ -28,7 +27,7 @@ public class TitaniumJSONLDProcessorOption extends AbstractIOOptions * * @param builder the builder containing the options for this processor */ - protected TitaniumJSONLDProcessorOption(Builder builder) { + protected JSONLDProcessorOptions(Builder builder) { this.builder = builder; } @@ -133,23 +132,23 @@ public JsonLdOptions getJsonLdOptions() { } @Override - public String getBase() { + public String getBaseIRI() { return this.builder.options.getBase().toString(); } /** - * Builder for creating instances of TitaniumJSONLDProcessorOption. + * Builder for creating instances of JSONLDProcessorOptions. * This nested static class provides a fluent API for configuring the * various options before building the final - * {@code TitaniumJSONLDProcessorOption} object. + * {@code JSONLDProcessorOptions} object. */ - public static class Builder extends AbstractIOOptions.Builder { + public static class Builder extends AbstractIOOptions.Builder { private final JsonLdOptions options = new JsonLdOptions(); @Override - public TitaniumJSONLDProcessorOption build() { - return new TitaniumJSONLDProcessorOption(this); + public JSONLDProcessorOptions build() { + return new JSONLDProcessorOptions(this); } /** diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ParserFactory.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ParserFactory.java index 7cbe8b0a5..6057b2026 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ParserFactory.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ParserFactory.java @@ -4,14 +4,14 @@ import fr.inria.corese.core.next.api.ValueFactory; import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParserFactory; +import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.api.io.parser.RDFParser; -import fr.inria.corese.core.next.api.io.parser.RDFParserOptions; import fr.inria.corese.core.next.impl.io.parser.jsonld.JSONLDParser; -import fr.inria.corese.core.next.impl.io.parser.nquads.ANTLRNQuadsParser; -import fr.inria.corese.core.next.impl.io.parser.ntriples.ANTLRNTriplesParser; +import fr.inria.corese.core.next.impl.io.parser.nquads.NQuadsParser; +import fr.inria.corese.core.next.impl.io.parser.ntriples.NTriplesParser; import fr.inria.corese.core.next.impl.io.parser.rdfxml.RDFXMLParser; -import fr.inria.corese.core.next.impl.io.parser.turtle.ANTLRTurtleParser; -import fr.inria.corese.core.next.impl.io.parser.trig.ANTLRTrigParser; +import fr.inria.corese.core.next.impl.io.parser.turtle.TurtleParser; +import fr.inria.corese.core.next.impl.io.parser.trig.TriGParser; /** * Factory class for creating RDF parsers. Generates according to the RDFFormat provided. @@ -37,19 +37,21 @@ public ParserFactory() { * @return An RDF parser for the given format, model, value factory, and configuration. */ @Override - public RDFParser createRDFParser(RDFFormat format, Model model, ValueFactory factory, RDFParserOptions config) { + public RDFParser createRDFParser(RDFFormat format, Model model, ValueFactory factory, IOOptions config) { if (format == RDFFormat.JSONLD) { return new JSONLDParser(model, factory, config); } else if (format == RDFFormat.TURTLE) { - return new ANTLRTurtleParser(model, factory, config); + return new TurtleParser(model, factory, config); } else if (format == RDFFormat.NTRIPLES) { - return new ANTLRNTriplesParser(model, factory, config); + return new NTriplesParser(model, factory, config); } else if (format == RDFFormat.NQUADS) { - return new ANTLRNQuadsParser(model, factory, config); + return new NQuadsParser(model, factory, config); } else if (format == RDFFormat.RDFXML) { return new RDFXMLParser(model, factory, config); } else if (format == RDFFormat.TRIG) { - return new ANTLRTrigParser(model, factory, config); + return new TriGParser(model, factory, config); + } else if(format == RDFFormat.RDFC_1_0) { + return new NQuadsParser(model, factory, config); } throw new IllegalArgumentException("Unsupported format: " + format); } @@ -66,15 +68,15 @@ public RDFParser createRDFParser(RDFFormat format, Model model, ValueFactory fac if (format == RDFFormat.JSONLD) { return new JSONLDParser(model, factory); } else if (format == RDFFormat.TURTLE) { - return new ANTLRTurtleParser(model, factory); + return new TurtleParser(model, factory); } else if (format == RDFFormat.NTRIPLES) { - return new ANTLRNTriplesParser(model, factory); + return new NTriplesParser(model, factory); } else if (format == RDFFormat.NQUADS) { - return new ANTLRNQuadsParser(model, factory); + return new NQuadsParser(model, factory); } else if (format == RDFFormat.RDFXML) { return new RDFXMLParser(model, factory); } else if (format == RDFFormat.TRIG) { - return new ANTLRTrigParser(model, factory); + return new TriGParser(model, factory); } throw new IllegalArgumentException("Unsupported format: " + format); } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParser.java index ef606bb69..9048a9d7d 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParser.java @@ -24,7 +24,7 @@ import fr.inria.corese.core.next.impl.common.literal.XSD; import fr.inria.corese.core.next.impl.common.util.IRIUtils; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; /** * Parser for JSON-LD RDF files. This parser is based on the Titanium JSON-LD library. @@ -43,7 +43,7 @@ public class JSONLDParser extends AbstractRDFParser { * @param factory the value factory used to create RDF values */ public JSONLDParser(Model model, ValueFactory factory) { - super(model, factory, new TitaniumJSONLDProcessorOption.Builder().build()); + this(model, factory, new JSONLDProcessorOptions.Builder().build()); } /** @@ -96,8 +96,8 @@ public void parse(Reader reader, String baseURI) { private void parseJSONLDDocument(Document document, String baseURI) { try { JsonLdOptions options = new JsonLdOptions(); - if(this.getConfig() instanceof TitaniumJSONLDProcessorOption) { - options = ((TitaniumJSONLDProcessorOption) this.getConfig()).getJsonLdOptions(); + if(this.getConfig() instanceof JSONLDProcessorOptions) { + options = ((JSONLDProcessorOptions) this.getConfig()).getJsonLdOptions(); } if(baseURI != null && !baseURI.isEmpty()) { options.setBase(URI.create(baseURI)); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java similarity index 88% rename from src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParser.java rename to src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java index cf3d5a286..cd0ae1f69 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java @@ -2,12 +2,12 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.parser.antlr.NQuadsLexer; -import fr.inria.corese.core.next.impl.parser.antlr.NQuadsParser; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.ParseTreeWalker; @@ -23,7 +23,7 @@ * This parser uses an ANTLR grammar to tokenize and parse N-Quads documents, * then a listener to build the RDF model. */ -public class ANTLRNQuadsParser extends AbstractRDFParser { +public class NQuadsParser extends AbstractRDFParser { /** * Constructor for the ANTLRNQuadsParser. @@ -31,8 +31,8 @@ public class ANTLRNQuadsParser extends AbstractRDFParser { * @param model The RDF model to populate. * @param factory The ValueFactory for creating RDF resources. */ - public ANTLRNQuadsParser(Model model, ValueFactory factory) { - super(model, factory); + public NQuadsParser(Model model, ValueFactory factory) { + this(model, factory, new NQuadsParserOptions.Builder().build()); } /** @@ -42,7 +42,7 @@ public ANTLRNQuadsParser(Model model, ValueFactory factory) { * @param factory The ValueFactory for creating RDF resources. * @param config The configuration options for parsing. */ - public ANTLRNQuadsParser(Model model, ValueFactory factory, IOOptions config) { + public NQuadsParser(Model model, ValueFactory factory, IOOptions config) { super(model, factory, config); } @@ -51,21 +51,11 @@ public RDFFormat getRDFFormat() { return RDFFormat.NQUADS; } - @Override - public void parse(InputStream in) throws ParsingErrorException { - parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); - } - @Override public void parse(InputStream in, String baseURI) throws ParsingErrorException { parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseURI); } - @Override - public void parse(Reader reader) throws ParsingErrorException { - parse(reader, null); - } - /** * Parses N-Quads data from a Reader using ANTLR4. * @@ -82,7 +72,7 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { configureErrorHandling(lexer); CommonTokenStream tokens = new CommonTokenStream(lexer); - NQuadsParser parser = new NQuadsParser(tokens); + fr.inria.corese.core.next.impl.parser.antlr.NQuadsParser parser = new fr.inria.corese.core.next.impl.parser.antlr.NQuadsParser(tokens); configureErrorHandling(parser); ParseTree tree = parser.nquadsDoc(); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java new file mode 100644 index 000000000..0d69e1316 --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java @@ -0,0 +1,23 @@ +package fr.inria.corese.core.next.impl.io.parser.nquads; + +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; + +/** + * Options used to configure a NQuads parser + */ +public class NQuadsParserOptions extends AbstractIOOptions { + + private final NQuadsParserOptions.Builder builder; + + protected NQuadsParserOptions(NQuadsParserOptions.Builder builder) { + this.builder = builder; + } + + public static class Builder extends AbstractIOOptions.Builder { + + @Override + public NQuadsParserOptions build() { + return new NQuadsParserOptions(this); + } + } +} diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java similarity index 89% rename from src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParser.java rename to src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java index 0caa3c77e..de143b874 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java @@ -5,9 +5,9 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.parser.antlr.NTriplesLexer; -import fr.inria.corese.core.next.impl.parser.antlr.NTriplesParser; import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.CommonTokenStream; @@ -31,7 +31,7 @@ * This parser uses an ANTLR grammar to tokenize and parse N-Triples documents, * then a listener to build the RDF model. */ -public class ANTLRNTriplesParser extends AbstractRDFParser { +public class NTriplesParser extends AbstractRDFParser { /** * Constructor for the ANTLRNTriplesParser. @@ -39,8 +39,8 @@ public class ANTLRNTriplesParser extends AbstractRDFParser { * @param model The RDF model to populate. * @param factory The value factory for creating RDF resources. */ - public ANTLRNTriplesParser(Model model, ValueFactory factory) { - super(model, factory); + public NTriplesParser(Model model, ValueFactory factory) { + this(model, factory, new NTriplesParserOptions.Builder().build()); } /** @@ -50,7 +50,7 @@ public ANTLRNTriplesParser(Model model, ValueFactory factory) { * @param factory The value factory for creating RDF resources. * @param config The configuration options for parsing. */ - public ANTLRNTriplesParser(Model model, ValueFactory factory, IOOptions config) { + public NTriplesParser(Model model, ValueFactory factory, IOOptions config) { super(model, factory, config); } @@ -59,22 +59,11 @@ public RDFFormat getRDFFormat() { return RDFFormat.NTRIPLES; } - - @Override - public void parse(InputStream in) throws ParsingErrorException { - parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); - } - @Override public void parse(InputStream in, String baseURI) throws ParsingErrorException { parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseURI); } - @Override - public void parse(Reader reader) throws ParsingErrorException { - parse(reader, null); - } - /** * Parses N-Triples data from a Reader using ANTLR4. * @@ -101,7 +90,7 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { CommonTokenStream tokens = new CommonTokenStream(lexer); - NTriplesParser antlrParser = new NTriplesParser(tokens); + fr.inria.corese.core.next.impl.parser.antlr.NTriplesParser antlrParser = new fr.inria.corese.core.next.impl.parser.antlr.NTriplesParser(tokens); antlrParser.removeErrorListener(ConsoleErrorListener.INSTANCE); antlrParser.setErrorHandler(new BailErrorStrategy()); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java new file mode 100644 index 000000000..e1149da6c --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java @@ -0,0 +1,24 @@ +package fr.inria.corese.core.next.impl.io.parser.ntriples; + +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; + +/** + * Options used to configure a NTriples parser + */ +public class NTriplesParserOptions extends AbstractIOOptions { + + private final NTriplesParserOptions.Builder builder; + + protected NTriplesParserOptions(NTriplesParserOptions.Builder builder) { + this.builder = builder; + } + + public static class Builder extends AbstractIOOptions.Builder { + + @Override + public NTriplesParserOptions build() { + return new NTriplesParserOptions(this); + } + } +} + diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java index b7db9779d..f98cb2f1b 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java @@ -4,6 +4,7 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.common.vocabulary.RDF; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.io.parser.rdfxml.context.RDFXMLContext; @@ -54,7 +55,7 @@ public class RDFXMLParser extends AbstractRDFParser { * @param factory the RDF value factory for term creation */ public RDFXMLParser(Model model, ValueFactory factory) { - this(model, factory, null); + this(model, factory, new RDFXMLParserOptions.Builder().build()); } /** @@ -75,20 +76,11 @@ public RDFFormat getRDFFormat() { return format; } - @Override - public void parse(InputStream in) throws ParsingErrorException { - parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); - } - @Override public void parse(InputStream in, String baseURI) throws ParsingErrorException { parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseURI); } - public void parse(Reader reader) throws ParsingErrorException { - parse(reader, null); - } - @Override public void parse(Reader reader, String baseURI) throws ParsingErrorException { ctx.baseURI = baseURI; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java new file mode 100644 index 000000000..3583b22ef --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java @@ -0,0 +1,38 @@ +package fr.inria.corese.core.next.impl.io.parser.rdfxml; + +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; +import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; + +public class RDFXMLParserOptions extends AbstractIOOptions implements BaseIRIOptions { + + private final RDFXMLParserOptions.Builder builder; + private final String baseIRI; + + protected RDFXMLParserOptions(RDFXMLParserOptions.Builder builder) { + this.builder = builder; + this.baseIRI = this.builder.baseIRI; + } + + @Override + public String getBaseIRI() { + return this.baseIRI; + } + + public static class Builder extends AbstractIOOptions.Builder { + + protected String baseIRI = ParserConstants.getDefaultBaseURI(); + + @Override + public RDFXMLParserOptions build() { + return new RDFXMLParserOptions(this); + } + + public Builder baseIRI(String baseIRI) { + this.baseIRI = baseIRI; + return this; + } + + } + +} diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java index ea614152a..ef74b4287 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java @@ -2,7 +2,7 @@ import fr.inria.corese.core.next.api.*; import fr.inria.corese.core.next.api.io.IOOptions; -import fr.inria.corese.core.next.api.io.parser.RDFParserBaseIRIOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.common.vocabulary.RDF; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.io.parser.common.AbstractTurtleTriGListener; @@ -44,9 +44,9 @@ public TriGListerner(Model model, ValueFactory factory, IOOptions options, Strin */ public TriGListerner(Model model, ValueFactory factory, IOOptions options) { String baseURI; - if (options instanceof RDFParserBaseIRIOptions) { - RDFParserBaseIRIOptions baseIRIOptions = (RDFParserBaseIRIOptions) options; - baseURI = baseIRIOptions.getBase() != null ? baseIRIOptions.getBase() : ParserConstants.EMPTY_STRING; + if (options instanceof BaseIRIOptions) { + BaseIRIOptions baseIRIOptions = (BaseIRIOptions) options; + baseURI = baseIRIOptions.getBaseIRI() != null ? baseIRIOptions.getBaseIRI() : ParserConstants.EMPTY_STRING; } else { baseURI = ParserConstants.EMPTY_STRING; } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParser.java similarity index 87% rename from src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParser.java rename to src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParser.java index ce0cfa354..db5db0402 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParser.java @@ -7,7 +7,6 @@ import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.parser.antlr.TriGLexer; -import fr.inria.corese.core.next.impl.parser.antlr.TriGParser; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.ParseTreeListener; @@ -26,7 +25,7 @@ * It uses an ANTLR grammar to tokenize and parse TriG documents, * then a listener to build the RDF model. */ -public class ANTLRTrigParser extends AbstractRDFParser { +public class TriGParser extends AbstractRDFParser { /** * Constructor for the ANTLRTrigParser. @@ -34,8 +33,8 @@ public class ANTLRTrigParser extends AbstractRDFParser { * @param model The RDF model to be populated. * @param factory The value factory for creating RDF resources. */ - public ANTLRTrigParser(Model model, ValueFactory factory) { - super(model, factory); + public TriGParser(Model model, ValueFactory factory) { + this(model, factory, new TriGParserOptions.Builder().build()); } /** @@ -45,7 +44,7 @@ public ANTLRTrigParser(Model model, ValueFactory factory) { * @param factory The value factory for creating RDF resources. * @param config Configuration options for parsing. */ - public ANTLRTrigParser(Model model, ValueFactory factory, IOOptions config) { + public TriGParser(Model model, ValueFactory factory, IOOptions config) { super(model, factory, config); } @@ -54,26 +53,11 @@ public RDFFormat getRDFFormat() { return RDFFormat.TRIG; } - @Override - public void setConfig(IOOptions config) { - // This method is required by the interface but is not used in this implementation. - } - - @Override - public void parse(InputStream in) throws ParsingErrorException { - parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); - } - @Override public void parse(InputStream in, String baseURI) throws ParsingErrorException { parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseURI); } - @Override - public void parse(Reader reader) throws ParsingErrorException { - parse(reader, null); - } - /** * Parses TriG data from a {@link Reader} using ANTLR4. * @@ -92,7 +76,7 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { triGLexer.addErrorListener(trigErrorListener); CommonTokenStream tokens = new CommonTokenStream(triGLexer); - TriGParser triGParser = new TriGParser(tokens); + fr.inria.corese.core.next.impl.parser.antlr.TriGParser triGParser = new fr.inria.corese.core.next.impl.parser.antlr.TriGParser(tokens); triGParser.removeErrorListeners(); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java new file mode 100644 index 000000000..b0a4044d2 --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java @@ -0,0 +1,38 @@ +package fr.inria.corese.core.next.impl.io.parser.trig; + +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; +import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; + +public class TriGParserOptions extends AbstractIOOptions implements BaseIRIOptions { + + private final TriGParserOptions.Builder builder; + private final String baseIRI; + + protected TriGParserOptions(TriGParserOptions.Builder builder) { + this.builder = builder; + this.baseIRI = this.builder.baseIRI; + } + + @Override + public String getBaseIRI() { + return this.baseIRI; + } + + public static class Builder extends AbstractIOOptions.Builder { + + protected String baseIRI = ParserConstants.getDefaultBaseURI(); + + @Override + public TriGParserOptions build() { + return new TriGParserOptions(this); + } + + public TriGParserOptions.Builder baseIRI(String baseIRI) { + this.baseIRI = baseIRI; + return this; + } + + } + +} \ No newline at end of file diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java index 00d554384..16f3aee0b 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java @@ -2,7 +2,7 @@ import fr.inria.corese.core.next.api.*; import fr.inria.corese.core.next.api.io.IOOptions; -import fr.inria.corese.core.next.api.io.parser.RDFParserBaseIRIOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.common.vocabulary.RDF; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.io.parser.common.AbstractTurtleTriGListener; @@ -31,9 +31,9 @@ public class TurtleListener extends TurtleBaseListener { public TurtleListener(Model model, ValueFactory factory, IOOptions options) { String baseURI = null; - if (options instanceof RDFParserBaseIRIOptions) { - RDFParserBaseIRIOptions baseIRIOptions = (RDFParserBaseIRIOptions) options; - baseURI = baseIRIOptions.getBase(); + if (options instanceof BaseIRIOptions) { + BaseIRIOptions baseIRIOptions = (BaseIRIOptions) options; + baseURI = baseIRIOptions.getBaseIRI(); } if (baseURI == null || baseURI.isEmpty()) { diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java similarity index 79% rename from src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParser.java rename to src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java index d2f59cc7c..513f85673 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java @@ -5,13 +5,10 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; -import fr.inria.corese.core.next.api.io.parser.RDFParserBaseIRIOptions; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.parser.antlr.TurtleLexer; -import fr.inria.corese.core.next.impl.parser.antlr.TurtleParser; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.tree.ParseTree; -import org.antlr.v4.runtime.tree.ParseTreeListener; import org.antlr.v4.runtime.tree.ParseTreeWalker; import java.io.IOException; @@ -26,7 +23,7 @@ * Parser for Turtle RDF files. * */ -public class ANTLRTurtleParser extends AbstractRDFParser { +public class TurtleParser extends AbstractRDFParser { /** * Constructor for ANTLRTurtleParser that initializes the model and value @@ -35,8 +32,8 @@ public class ANTLRTurtleParser extends AbstractRDFParser { * @param model the model to be populated by the parser * @param factory the value factory used to create RDF values */ - public ANTLRTurtleParser(Model model, ValueFactory factory) { - super(model, factory); + public TurtleParser(Model model, ValueFactory factory) { + this(model, factory, new TurtleParserOptions.Builder().build()); } /** @@ -47,7 +44,7 @@ public ANTLRTurtleParser(Model model, ValueFactory factory) { * @param factory the value factory used to create RDF values * @param config optional configuration options for the parser */ - public ANTLRTurtleParser(Model model, ValueFactory factory, IOOptions config) { + public TurtleParser(Model model, ValueFactory factory, IOOptions config) { super(model, factory, config); } @@ -56,25 +53,11 @@ public RDFFormat getRDFFormat() { return RDFFormat.TURTLE; } - @Override - public void setConfig(IOOptions config) { - } - - @Override - public void parse(InputStream in) throws ParsingErrorException { - parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); - } - @Override public void parse(InputStream in, String baseURI) throws ParsingErrorException { parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseURI); } - @Override - public void parse(Reader reader) throws ParsingErrorException { - parse(reader, null); - } - /** * Parses Turtle data from a {@link Reader} using ANTLR4. * @@ -93,7 +76,7 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { turtleLexer.addErrorListener(turtleErrorListener); CommonTokenStream tokens = new CommonTokenStream(turtleLexer); - TurtleParser turtleParser = new TurtleParser(tokens); + fr.inria.corese.core.next.impl.parser.antlr.TurtleParser turtleParser = new fr.inria.corese.core.next.impl.parser.antlr.TurtleParser(tokens); turtleParser.removeErrorListeners(); turtleParser.addErrorListener(turtleErrorListener); @@ -115,13 +98,8 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { throw new ParsingErrorException("Recognition error in Turtle document: " + e.getMessage()); } - IOOptions effectiveOptions = this.getConfig(); - if (baseURI != null && !baseURI.isEmpty()) { - effectiveOptions = new BaseIRIOptions(baseURI); - } - - TurtleListener listener = new TurtleListener(getModel(), getValueFactory(), effectiveOptions); - walker.walk((ParseTreeListener) listener, tree); + TurtleListener listener = new TurtleListener(getModel(), getValueFactory(), this.getConfig()); + walker.walk(listener, tree); } catch (ParsingErrorException e) { throw e; @@ -132,22 +110,6 @@ public void parse(Reader reader, String baseURI) throws ParsingErrorException { } } - /** - * Simple implementation of RDFParserBaseIRIOptions to pass base URI to listener. - */ - private static class BaseIRIOptions implements RDFParserBaseIRIOptions { - private final String baseURI; - - public BaseIRIOptions(String baseURI) { - this.baseURI = baseURI; - } - - @Override - public String getBase() { - return baseURI; - } - } - /** * A custom error listener to collect errors from the lexer and parser. */ diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java new file mode 100644 index 000000000..a9db33c44 --- /dev/null +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java @@ -0,0 +1,38 @@ +package fr.inria.corese.core.next.impl.io.parser.turtle; + +import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; +import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; + +public class TurtleParserOptions extends AbstractIOOptions implements BaseIRIOptions { + + private final TurtleParserOptions.Builder builder; + private final String baseIRI; + + protected TurtleParserOptions(TurtleParserOptions.Builder builder) { + this.builder = builder; + this.baseIRI = this.builder.baseIRI; + } + + @Override + public String getBaseIRI() { + return this.baseIRI; + } + + public static class Builder extends AbstractIOOptions.Builder { + + protected String baseIRI = ParserConstants.getDefaultBaseURI(); + + @Override + public TurtleParserOptions build() { + return new TurtleParserOptions(this); + } + + public TurtleParserOptions.Builder baseIRI(String baseIRI) { + this.baseIRI = baseIRI; + return this; + } + + } + +} diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/util/ParserConstants.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/util/ParserConstants.java index 3c49c7a10..172369287 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/util/ParserConstants.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/util/ParserConstants.java @@ -70,7 +70,6 @@ public final class ParserConstants { public static final String FILE_PROTOCOL_SIMPLE = "file:/"; public static final String FILE_PROTOCOL_TRIPLE_SLASH = "file:///"; public static final String FILE_PROTOCOL = "file://"; - public static final String RDF_TRG_TEST_SUITE_URI = "https://w3c.github.io/rdf-tests/rdf/rdf11/rdf-trig/"; public static final String PNAME_NS_PATTERN = "^[A-Za-z_][A-Za-z0-9_-]*$"; public static final String MINUS = "-"; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactory.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactory.java index 42348b7ba..4c3cc94e2 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactory.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactory.java @@ -3,26 +3,24 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; import fr.inria.corese.core.next.api.base.io.RDFFormat; +import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.api.io.serialization.RDFSerializer; -import fr.inria.corese.core.next.api.io.serialization.SerializationOption; import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.canonical.Rdfc10Canonicalizer; -import fr.inria.corese.core.next.impl.io.serialization.canonical.Rdfc10Options; -import fr.inria.corese.core.next.impl.io.serialization.canonical.Rdfc10Serializer; -import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsOption; +import fr.inria.corese.core.next.impl.io.serialization.canonical.RDFC10Canonicalizer; +import fr.inria.corese.core.next.impl.io.serialization.canonical.RDFC10Options; +import fr.inria.corese.core.next.impl.io.serialization.canonical.RDFC10Serializer; +import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsSerializerOptions; import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsSerializer; -import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesOption; +import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesSerializerOptions; import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesSerializer; -import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XmlOption; -import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XmlSerializer; -import fr.inria.corese.core.next.impl.io.serialization.trig.TriGOption; +import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XMLSerializerOption; +import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XMLSerializer; +import fr.inria.corese.core.next.impl.io.serialization.trig.TriGSerializerOptions; import fr.inria.corese.core.next.impl.io.serialization.trig.TriGSerializer; -import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleOption; +import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleSerializerOptions; import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleSerializer; import fr.inria.corese.core.next.impl.io.serialization.jsonld.JSONLDSerializer; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; -import fr.inria.corese.core.next.impl.io.serialization.jsonld.JSONLDSerializer; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,7 +39,7 @@ * providing a flexible and extensible way to manage serializer instances. * *

- * It adapts the generic {@link SerializationOption} provided to the specific + * It adapts the generic {@link fr.inria.corese.core.next.api.io.IOOptions} provided to the specific * configuration type expected by each serializer in the hierarchy, with a * fallback * to default configurations if an incompatible type is provided. @@ -51,13 +49,13 @@ public class DefaultSerializerFactory implements SerializerFactory { private static final Logger logger = LoggerFactory.getLogger(DefaultSerializerFactory.class); - private final Map> registry; + private final Map> registry; private final ValueFactory coreseValueFactory; /** * Constructs a {@code DefaultSerializerFactory} and populates its registry * with constructors for all known {@link RDFFormat} implementations. - * Each constructor attempts to cast the generic {@link SerializationOption} to + * Each constructor attempts to cast the generic {@link IOOptions} to * the * specific configuration type required by the serializer. If the cast is not * possible, @@ -66,100 +64,100 @@ public class DefaultSerializerFactory implements SerializerFactory { public DefaultSerializerFactory() { this.coreseValueFactory = new CoreseAdaptedValueFactory(); - Map> tempRegistry = new HashMap<>(); + Map> tempRegistry = new HashMap<>(); tempRegistry.put(RDFFormat.TURTLE, (model, genericConfig) -> { - if (genericConfig instanceof TurtleOption specificConfig) { + if (genericConfig instanceof TurtleSerializerOptions specificConfig) { return new TurtleSerializer(model, specificConfig); } else { logger.warn("Provided config for TURTLE is not TurtleConfig (was {}). Using default TurtleConfig.", genericConfig.getClass().getSimpleName()); - return new TurtleSerializer(model, TurtleOption.defaultConfig()); + return new TurtleSerializer(model, TurtleSerializerOptions.defaultConfig()); } }); tempRegistry.put(RDFFormat.NTRIPLES, (model, genericConfig) -> { - if (genericConfig instanceof NTriplesOption specificConfig) { + if (genericConfig instanceof NTriplesSerializerOptions specificConfig) { return new NTriplesSerializer(model, specificConfig); } else { logger.warn( "Provided config for NTRIPLES is not NTriplesConfig (was {}). Using default NTriplesConfig.", genericConfig.getClass().getSimpleName()); - return new NTriplesSerializer(model, NTriplesOption.defaultConfig()); + return new NTriplesSerializer(model, NTriplesSerializerOptions.defaultConfig()); } }); tempRegistry.put(RDFFormat.NQUADS, (model, genericConfig) -> { - if (genericConfig instanceof NQuadsOption specificConfig) { + if (genericConfig instanceof NQuadsSerializerOptions specificConfig) { return new NQuadsSerializer(model, specificConfig); } else { logger.warn("Provided config for NQUADS is not NQuadsConfig (was {}). Using default NQuadsConfig.", genericConfig.getClass().getSimpleName()); - return new NQuadsSerializer(model, NQuadsOption.defaultConfig()); + return new NQuadsSerializer(model, NQuadsSerializerOptions.defaultConfig()); } }); tempRegistry.put(RDFFormat.TRIG, (model, genericConfig) -> { - if (genericConfig instanceof TriGOption specificConfig) { + if (genericConfig instanceof TriGSerializerOptions specificConfig) { return new TriGSerializer(model, specificConfig); } else { logger.warn("Provided config for TRIG is not TriGConfig (was {}). Using default TriGConfig.", genericConfig.getClass().getSimpleName()); - return new TriGSerializer(model, TriGOption.defaultConfig()); + return new TriGSerializer(model, TriGSerializerOptions.defaultConfig()); } }); tempRegistry.put(RDFFormat.RDFXML, (model, genericConfig) -> { - if (genericConfig instanceof XmlOption specificConfig) { - return new XmlSerializer(model, specificConfig); + if (genericConfig instanceof XMLSerializerOption specificConfig) { + return new XMLSerializer(model, specificConfig); } else { logger.warn("Provided config for RDFXML is not RDFXmlConfig (was {}). Using default RDFXmlConfig.", genericConfig.getClass().getSimpleName()); - return new XmlSerializer(model, XmlOption.defaultConfig()); + return new XMLSerializer(model, XMLSerializerOption.defaultConfig()); } }); tempRegistry.put(RDFFormat.JSONLD, (model, genericConfig) -> { - if (genericConfig instanceof TitaniumJSONLDProcessorOption specificConfig) { + if (genericConfig instanceof JSONLDProcessorOptions specificConfig) { return new JSONLDSerializer(model, specificConfig); } else { logger.warn( "Provided config for JSONLD is not TitaniumJSONLDProcessorOption (was {}). Using default TitaniumJSONLDProcessorOption.", genericConfig.getClass().getSimpleName()); - return new JSONLDSerializer(model, new TitaniumJSONLDProcessorOption.Builder().build()); + return new JSONLDSerializer(model, new JSONLDProcessorOptions.Builder().build()); } }); tempRegistry.put(RDFFormat.RDFC_1_0, (model, genericConfig) -> { - if (genericConfig instanceof Rdfc10Options specificConfig) { - Rdfc10Canonicalizer canonicalizer = new Rdfc10Canonicalizer( + if (genericConfig instanceof RDFC10Options specificConfig) { + RDFC10Canonicalizer canonicalizer = new RDFC10Canonicalizer( specificConfig.getHashAlgorithm(), specificConfig.getPermutationLimit(), coreseValueFactory ); - return new Rdfc10Serializer(model, specificConfig, canonicalizer); + return new RDFC10Serializer(model, specificConfig, canonicalizer); } else { logger.warn("Provided config for RDFC_1_0 is not CanonicalOption (was {}). Using default CanonicalOption.", genericConfig != null ? genericConfig.getClass().getSimpleName() : "null"); - Rdfc10Options defaultConfig = Rdfc10Options.defaultConfig(); - Rdfc10Canonicalizer canonicalizer = new Rdfc10Canonicalizer( + RDFC10Options defaultConfig = RDFC10Options.defaultConfig(); + RDFC10Canonicalizer canonicalizer = new RDFC10Canonicalizer( defaultConfig.getHashAlgorithm(), defaultConfig.getPermutationLimit(), coreseValueFactory ); - return new Rdfc10Serializer(model, defaultConfig, canonicalizer); + return new RDFC10Serializer(model, defaultConfig, canonicalizer); } }); tempRegistry.put(RDFFormat.JSONLD, (model, genericConfig) -> { - if (genericConfig instanceof TitaniumJSONLDProcessorOption specificConfig) { + if (genericConfig instanceof JSONLDProcessorOptions specificConfig) { return new JSONLDSerializer(model, specificConfig); } else { logger.warn( "Provided config for JSONLD is not TitaniumJSONLDProcessorOption (was {}). Using default TitaniumJSONLDProcessorOption.", genericConfig.getClass().getSimpleName()); - return new JSONLDSerializer(model, new TitaniumJSONLDProcessorOption.Builder().build()); + return new JSONLDSerializer(model, new JSONLDProcessorOptions.Builder().build()); } }); @@ -173,7 +171,7 @@ public DefaultSerializerFactory() { * @param format the {@link RDFFormat} for which to create the serializer. Must * not be null. * @param model the {@link Model} to be serialized. Must not be null. - * @param config the {@link SerializationOption} to apply during serialization. + * @param config the {@link IOOptions} to apply during serialization. * Must not be null. * @return a new instance of {@link RDFSerializer} configured for the specified * format. @@ -183,13 +181,13 @@ public DefaultSerializerFactory() { * this factory. */ @Override - public RDFSerializer createSerializer(RDFFormat format, Model model, SerializationOption config) { + public RDFSerializer createSerializer(RDFFormat format, Model model, IOOptions config) { Objects.requireNonNull(format, "RDFFormat cannot be null"); Objects.requireNonNull(model, "Model cannot be null"); Objects.requireNonNull(config, "SerializationConfig cannot be null"); - BiFunction constructor = registry.get(format); + BiFunction constructor = registry.get(format); if (constructor == null) { throw new IllegalArgumentException("Unsupported RDFFormat: " + format.getName()); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Canonicalizer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Canonicalizer.java similarity index 98% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Canonicalizer.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Canonicalizer.java index f534d9b38..9187697c0 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Canonicalizer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Canonicalizer.java @@ -18,9 +18,9 @@ * This class deterministically re-labels blank nodes and sorts all RDF statements * to produce a canonical representation of a dataset. */ -public class Rdfc10Canonicalizer { +public class RDFC10Canonicalizer { - private final Rdfc10Options.HashAlgorithm hashAlgorithm; + private final RDFC10Options.HashAlgorithm hashAlgorithm; private final int maxCallsHashNDegreeQuads; private final StatementUtils statementUtils; private int callsHashNDegreeQuads = 0; @@ -34,7 +34,7 @@ public class Rdfc10Canonicalizer { * @param valueFactory The factory for creating RDF values, used by StatementUtils for * blank node replacement and serialization. */ - public Rdfc10Canonicalizer(Rdfc10Options.HashAlgorithm hashAlgorithm, int maxCalls, ValueFactory valueFactory) { + public RDFC10Canonicalizer(RDFC10Options.HashAlgorithm hashAlgorithm, int maxCalls, ValueFactory valueFactory) { this.hashAlgorithm = Objects.requireNonNull(hashAlgorithm, "Hash algorithm cannot be null"); this.maxCallsHashNDegreeQuads = maxCalls; this.statementUtils = new StatementUtils(valueFactory); @@ -390,7 +390,7 @@ private List replaceBlankNodesAndSort(List statements, Map */ private String hash(String data) { try { - String algorithm = hashAlgorithm == Rdfc10Options.HashAlgorithm.SHA_384 ? + String algorithm = hashAlgorithm == RDFC10Options.HashAlgorithm.SHA_384 ? SerializationConstants.SHA_384 : SerializationConstants.SHA_256; MessageDigest digest = MessageDigest.getInstance(algorithm); byte[] hash = digest.digest(data.getBytes(StandardCharsets.UTF_8)); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Options.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Options.java similarity index 88% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Options.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Options.java index 6936fa988..19395fec0 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Options.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Options.java @@ -11,7 +11,7 @@ * Use the {@link Builder} class to create instances of {@code CanonicalOption}. * A predefined default configuration is available via {@link #defaultConfig()}. */ -public class Rdfc10Options extends AbstractSerializerOption { +public class RDFC10Options extends AbstractSerializerOption { /** * Enumeration for the supported hashing algorithms. @@ -32,7 +32,7 @@ public enum HashAlgorithm { * * @param builder The builder instance containing the desired configuration values. */ - protected Rdfc10Options(Builder builder) { + protected RDFC10Options(Builder builder) { super(builder); this.hashAlgorithm = builder.hashAlgorithm; this.depthFactor = builder.depthFactor; @@ -70,7 +70,7 @@ public int getPermutationLimit() { } /** - * Public Builder for {@link Rdfc10Options}. + * Public Builder for {@link RDFC10Options}. * Provides a fluent API for constructing {@code CanonicalOption} instances with default values * specific to the Canonical RDF format. */ @@ -88,13 +88,13 @@ public Builder() { } /** - * Builds a new {@link Rdfc10Options} instance with the configured values. + * Builds a new {@link RDFC10Options} instance with the configured values. * * @return A new instance of {@code CanonicalOption}. */ @Override - public Rdfc10Options build() { - return new Rdfc10Options(this); + public RDFC10Options build() { + return new RDFC10Options(this); } } @@ -103,7 +103,7 @@ public Rdfc10Options build() { * * @return A new {@code CanonicalOption} with default settings. */ - public static Rdfc10Options defaultConfig() { + public static RDFC10Options defaultConfig() { return new Builder().build(); } @@ -113,7 +113,7 @@ public static Rdfc10Options defaultConfig() { * * @return A new {@code Builder} instance. */ - public static Rdfc10Options.Builder builder() { - return new Rdfc10Options.Builder(); + public static RDFC10Options.Builder builder() { + return new RDFC10Options.Builder(); } } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Serializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java similarity index 94% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Serializer.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java index 5487f890a..77845cd8e 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10Serializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java @@ -22,10 +22,10 @@ * This implementation now acts as a wrapper, preparing the model for a dedicated * RDFC-1.0 canonicalization component and then writing the resulting canonical statements. */ -public class Rdfc10Serializer extends AbstractLineBasedSerializer { +public class RDFC10Serializer extends AbstractLineBasedSerializer { - private final Rdfc10Options config; - private final Rdfc10Canonicalizer canonicalizer; + private final RDFC10Options config; + private final RDFC10Canonicalizer canonicalizer; private final Model model; /** @@ -36,7 +36,7 @@ public class Rdfc10Serializer extends AbstractLineBasedSerializer { * @param config The configuration options for the canonicalization process. * @param canonicalizer The canonicalizer component to use. */ - public Rdfc10Serializer(Model model, Rdfc10Options config, Rdfc10Canonicalizer canonicalizer) { + public RDFC10Serializer(Model model, RDFC10Options config, RDFC10Canonicalizer canonicalizer) { super(model, config); this.model = Objects.requireNonNull(model); this.config = Objects.requireNonNull(config); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializer.java index c654e00f4..9e637ac1d 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializer.java @@ -8,7 +8,7 @@ import fr.inria.corese.core.next.api.io.serialization.RDFSerializer; import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.impl.exception.SerializationException; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; import java.io.IOException; import java.io.Writer; @@ -38,7 +38,7 @@ public JSONLDSerializer(Model model, IOOptions config) { * @param model */ public JSONLDSerializer(Model model) { - this(model, new TitaniumJSONLDProcessorOption.Builder().build()); + this(model, new JSONLDProcessorOptions.Builder().build()); } @Override @@ -47,7 +47,7 @@ public void write(Writer writer) throws SerializationException { try { FromRdfApi fromRdfApi = JsonLd.fromRdf(RdfDocument.of(adapter)); - if(this.config instanceof TitaniumJSONLDProcessorOption options) { + if(this.config instanceof JSONLDProcessorOptions options) { fromRdfApi.options(options.getJsonLdOptions()); } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializer.java index f4ee700cc..2995af81c 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializer.java @@ -3,6 +3,7 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.Resource; import fr.inria.corese.core.next.api.Statement; +import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.impl.io.serialization.base.AbstractLineBasedSerializer; import fr.inria.corese.core.next.impl.io.serialization.util.SerializationConstants; import org.slf4j.Logger; @@ -26,24 +27,24 @@ public class NQuadsSerializer extends AbstractLineBasedSerializer { /** * Constructs a new {@code NQuadsSerializer} instance with the specified model and default N-Quads configuration. - * The default configuration is obtained from {@link NQuadsOption#defaultConfig()}. + * The default configuration is obtained from {@link NQuadsSerializerOptions#defaultConfig()}. * * @param model the {@link Model} to be serialized. Must not be null. * @throws NullPointerException if the provided model is null. */ public NQuadsSerializer(Model model) { - this(model, NQuadsOption.defaultConfig()); + this(model, NQuadsSerializerOptions.defaultConfig()); } /** * Constructs a new {@code NQuadsSerializer} instance with the specified model and custom configuration. * * @param model the {@link Model} to be serialized. Must not be null. - * @param config the {@link NQuadsOption} to use for serialization. Must not be null. + * @param config the {@link NQuadsSerializerOptions} to use for serialization. Must not be null. * This config object should be an instance of {@code NQuadsConfig} or a subclass thereof. * @throws NullPointerException if the provided model or config is null. */ - public NQuadsSerializer(Model model, NQuadsOption config) { + public NQuadsSerializer(Model model, NQuadsSerializerOptions config) { super(model, config); Objects.requireNonNull(config, "NQuadsConfig cannot be null"); } @@ -55,7 +56,7 @@ public NQuadsSerializer(Model model, NQuadsOption config) { */ @Override protected String getFormatName() { - return "N-Quads"; + return RDFFormat.NQUADS.getName(); } /** diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptions.java similarity index 77% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptions.java index 577b52c74..1367d6697 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptions.java @@ -10,19 +10,19 @@ *

Use the {@link Builder} class to create instances of {@code NQuadsConfig}. * A predefined default configuration is available via {@link #defaultConfig()}.

*/ -public class NQuadsOption extends AbstractNFamilyOption { +public class NQuadsSerializerOptions extends AbstractNFamilyOption { /** * Protected constructor to be used by the {@link Builder}. * * @param builder The builder instance containing the desired configuration values. */ - protected NQuadsOption(Builder builder) { + protected NQuadsSerializerOptions(Builder builder) { super(builder); } /** - * Public Builder for {@link NQuadsOption}. + * Public Builder for {@link NQuadsSerializerOptions}. * Provides a fluent API for constructing {@code NQuadsConfig} instances with default values * specific to the N-Quads format. */ @@ -35,13 +35,13 @@ public Builder() { } /** - * Builds and returns a new {@link NQuadsOption} instance with the current builder settings. + * Builds and returns a new {@link NQuadsSerializerOptions} instance with the current builder settings. * * @return A new {@code NQuadsConfig} instance. */ @Override - public NQuadsOption build() { - return new NQuadsOption(this); + public NQuadsSerializerOptions build() { + return new NQuadsSerializerOptions(this); } } @@ -52,12 +52,12 @@ public NQuadsOption build() { * * @return A {@code NQuadsConfig} instance with default settings. */ - public static NQuadsOption defaultConfig() { + public static NQuadsSerializerOptions defaultConfig() { return new Builder().build(); } /** - * Returns a new builder instance for {@link NQuadsOption}. + * Returns a new builder instance for {@link NQuadsSerializerOptions}. * This allows for fluent construction of custom N-Quads configurations. * * @return A new {@code Builder} instance. diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializer.java index c09332199..41024dd61 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializer.java @@ -4,6 +4,7 @@ import java.io.Writer; import java.util.Objects; +import fr.inria.corese.core.next.api.base.io.RDFFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,24 +27,24 @@ public class NTriplesSerializer extends AbstractLineBasedSerializer { /** * Constructs a new {@code NTriplesSerializer} instance with the specified model and default configuration. - * The default configuration is obtained from {@link NTriplesOption#defaultConfig()}. + * The default configuration is obtained from {@link NTriplesSerializerOptions#defaultConfig()}. * * @param model the {@link Model} to be serialized. Must not be null. * @throws NullPointerException if the provided model is null. */ public NTriplesSerializer(Model model) { - this(model, NTriplesOption.defaultConfig()); + this(model, NTriplesSerializerOptions.defaultConfig()); } /** * Constructs a new {@code NTriplesSerializer} instance with the specified model and custom configuration. * * @param model the {@link Model} to be serialized. Must not be null. - * @param config the {@link NTriplesOption} to use for serialization. Must not be null. + * @param config the {@link NTriplesSerializerOptions} to use for serialization. Must not be null. * This config object should be an instance of {@code NTriplesConfig} or a subclass thereof. * @throws NullPointerException if the provided model or config is null. */ - public NTriplesSerializer(Model model, NTriplesOption config) { + public NTriplesSerializer(Model model, NTriplesSerializerOptions config) { super(model, config); Objects.requireNonNull(config, "NTriplesConfig cannot be null"); } @@ -55,7 +56,7 @@ public NTriplesSerializer(Model model, NTriplesOption config) { */ @Override protected String getFormatName() { - return "N-Triples"; + return RDFFormat.NTRIPLES.getName(); } /** diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptions.java similarity index 73% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptions.java index d67cc7a52..b611d2425 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptions.java @@ -10,19 +10,19 @@ *

Use the {@link Builder} class to create instances of {@code NTriplesConfig}. * A predefined default configuration is available via {@link #defaultConfig()}.

*/ -public class NTriplesOption extends AbstractNFamilyOption { +public class NTriplesSerializerOptions extends AbstractNFamilyOption { /** * Protected constructor to be used by the {@link Builder}. * * @param builder The builder instance containing the desired configuration values. */ - protected NTriplesOption(Builder builder) { + protected NTriplesSerializerOptions(Builder builder) { super(builder); } /** - * Public Builder for {@link NTriplesOption}. + * Public Builder for {@link NTriplesSerializerOptions}. * Provides a fluent API for constructing {@code NTriplesConfig} instances with default values * specific to the N-Triples format. */ @@ -36,13 +36,13 @@ public Builder() { } /** - * Builds and returns a new {@link NTriplesOption} instance with the current builder settings. + * Builds and returns a new {@link NTriplesSerializerOptions} instance with the current builder settings. * * @return A new {@code NTriplesConfig} instance. */ @Override - public NTriplesOption build() { - return new NTriplesOption(this); + public NTriplesSerializerOptions build() { + return new NTriplesSerializerOptions(this); } } @@ -53,17 +53,17 @@ public NTriplesOption build() { * * @return A {@code NTriplesConfig} instance with default settings. */ - public static NTriplesOption defaultConfig() { + public static NTriplesSerializerOptions defaultConfig() { return new Builder().build(); } /** - * Returns a new builder instance for {@link NTriplesOption}. + * Returns a new builder instance for {@link NTriplesSerializerOptions}. * This allows for fluent construction of custom N-Triples configurations. * * @return A new {@code Builder} instance. */ - public static NTriplesOption.Builder builder() { - return new NTriplesOption.Builder(); + public static NTriplesSerializerOptions.Builder builder() { + return new NTriplesSerializerOptions.Builder(); } } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/option/AbstractSerializerOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/option/AbstractSerializerOption.java index ce5df35d6..353c229b5 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/option/AbstractSerializerOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/option/AbstractSerializerOption.java @@ -1,6 +1,7 @@ package fr.inria.corese.core.next.impl.io.serialization.option; -import fr.inria.corese.core.next.api.io.serialization.SerializationOption; +import fr.inria.corese.core.next.api.io.IOOptions; +import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.io.serialization.util.SerializationConstants; import java.util.Objects; @@ -14,7 +15,7 @@ * nested {@link AbstractBuilder}. Subclasses are expected to extend this * configuration and its builder to add format-specific options.

*/ -public abstract class AbstractSerializerOption implements SerializationOption { +public abstract class AbstractSerializerOption implements IOOptions , BaseIRIOptions { /** * The policy for how literal datatypes are printed. diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializer.java similarity index 98% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializer.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializer.java index 4c59eaff7..6e1097eb9 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializer.java @@ -46,12 +46,12 @@ *

Advanced features such as handling XML schemata, specific RDF/XML graph structures (e.g., rdf:Bag, rdf:Seq, rdf:Alt), * and full blank node syntax optimization are simplified in this version.

*/ -public class XmlSerializer implements RDFSerializer { +public class XMLSerializer implements RDFSerializer { - private static final Logger logger = LoggerFactory.getLogger(XmlSerializer.class); + private static final Logger logger = LoggerFactory.getLogger(XMLSerializer.class); private final Model model; - private final XmlOption config; + private final XMLSerializerOption config; private final Map iriToPrefixMapping; private final Map prefixToIriMapping; private final Map blankNodeIds; @@ -60,23 +60,23 @@ public class XmlSerializer implements RDFSerializer { /** * Constructs a new {@code XmlSerializer} instance with the specified model and default configuration. - * The default configuration is obtained from {@link XmlOption#defaultConfig()}. + * The default configuration is obtained from {@link XMLSerializerOption#defaultConfig()}. * * @param model the {@link Model} to serialize. Must not be null. * @throws NullPointerException if the provided model is null. */ - public XmlSerializer(Model model) { - this(model, XmlOption.defaultConfig()); + public XMLSerializer(Model model) { + this(model, XMLSerializerOption.defaultConfig()); } /** * Constructs a new {@code XmlSerializer} instance with the specified model and custom configuration. * * @param model the {@link Model} to serialize. Must not be null. - * @param config the {@link XmlOption} to use for serialization. Must not be null. + * @param config the {@link XMLSerializerOption} to use for serialization. Must not be null. * @throws NullPointerException if the provided model or configuration is null. */ - public XmlSerializer(Model model, XmlOption config) { + public XMLSerializer(Model model, XMLSerializerOption config) { this.model = Objects.requireNonNull(model, "Model cannot be null"); this.config = Objects.requireNonNull(config, "Configuration cannot be null"); this.iriToPrefixMapping = new HashMap<>(); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerOption.java similarity index 96% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerOption.java index 38c297fc2..119d7702f 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerOption.java @@ -18,7 +18,7 @@ *

Use the {@link Builder} class to create instances of {@code XmlConfig}. * A predefined default configuration is available via {@link #defaultConfig()}.

*/ -public class XmlOption extends AbstractSerializerOption { +public class XMLSerializerOption extends AbstractSerializerOption { /** * Whether prefix declarations (e.g., `xmlns:prefix="uri"`) should be used for compact IRIs. @@ -78,7 +78,7 @@ public class XmlOption extends AbstractSerializerOption { * * @param builder The builder instance containing the desired configuration values. */ - protected XmlOption(Builder builder) { + protected XMLSerializerOption(Builder builder) { super(builder); this.usePrefixes = builder.usePrefixes; @@ -186,7 +186,7 @@ public boolean useMultilineLiterals() { /** - * Public Builder for {@link XmlOption}. + * Public Builder for {@link XMLSerializerOption}. * Provides a fluent API for constructing {@code XmlConfig} instances with default values * specific to the RDF/XML format. */ @@ -350,13 +350,13 @@ public Builder useMultilineLiterals(boolean useMultilineLiterals) { } /** - * Builds and returns a new {@link XmlOption} instance with the current builder settings. + * Builds and returns a new {@link XMLSerializerOption} instance with the current builder settings. * * @return A new {@code XmlConfig} instance. */ @Override - public XmlOption build() { - return new XmlOption(this); + public XMLSerializerOption build() { + return new XMLSerializerOption(this); } } @@ -367,7 +367,7 @@ public XmlOption build() { * * @return A {@code XmlConfig} instance with default settings. */ - public static XmlOption defaultConfig() { + public static XMLSerializerOption defaultConfig() { return new Builder().build(); } } \ No newline at end of file diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializer.java index 744628f7b..9378dc8e8 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializer.java @@ -43,24 +43,24 @@ public class TriGSerializer extends AbstractGraphSerializer { /** * Constructs a new {@code TriGSerializer} instance with the specified model and default configuration. - * The default configuration is returned by {@link TriGOption#defaultConfig()}. + * The default configuration is returned by {@link TriGSerializerOptions#defaultConfig()}. * * @param model the {@link Model} to serialize. Must not be null. * @throws NullPointerException if the provided model is null. */ public TriGSerializer(Model model) { - this(model, TriGOption.defaultConfig()); + this(model, TriGSerializerOptions.defaultConfig()); } /** * Constructs a new {@code TriGSerializer} instance with the specified model and custom configuration. * * @param model the {@link Model} to serialize. Must not be null. - * @param config the {@link TriGOption} to use for serialization. Must not be null. + * @param config the {@link TriGSerializerOptions} to use for serialization. Must not be null. * This config object should be an instance of {@code TriGConfig} or a subclass thereof. * @throws NullPointerException if the provided model or configuration is null. */ - public TriGSerializer(Model model, TriGOption config) { + public TriGSerializer(Model model, TriGSerializerOptions config) { super(model, config); Objects.requireNonNull(config, "TriGConfig cannot be null"); } @@ -82,12 +82,12 @@ protected String getFormatName() { * @return The config cast to TriGConfig. * @throws IllegalStateException if the config is not an instance of TriGConfig. */ - private TriGOption getTriGConfig() { - if (!(option instanceof TriGOption)) { + private TriGSerializerOptions getTriGConfig() { + if (!(option instanceof TriGSerializerOptions)) { throw new IllegalStateException("Current serializer configuration is not an instance of TriGConfig. " + "TriGSerializer requires a TriGConfig instance."); } - return (TriGOption) option; + return (TriGSerializerOptions) option; } /** @@ -99,7 +99,7 @@ private TriGOption getTriGConfig() { */ @Override protected void doWriteStatements(Writer writer) throws IOException { - TriGOption trigConfig = getTriGConfig(); + TriGSerializerOptions trigConfig = getTriGConfig(); if (trigConfig.includeContext()) { writeStatementsWithContext(writer); @@ -119,7 +119,7 @@ protected void doWriteStatements(Writer writer) throws IOException { * @throws IOException if an I/O error occurs. */ private void writeStatementsWithContext(Writer writer) throws IOException { - TriGOption trigConfig = getTriGConfig(); + TriGSerializerOptions trigConfig = getTriGConfig(); Map> byContext = new HashMap<>(); model.stream() diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptions.java similarity index 79% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptions.java index de84a78dc..8ecd8b9aa 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptions.java @@ -15,19 +15,19 @@ *

Use the {@link Builder} class to create instances of {@code TriGConfig}. * A predefined default configuration is available via {@link #defaultConfig()}.

*/ -public class TriGOption extends AbstractTFamilyOption { +public class TriGSerializerOptions extends AbstractTFamilyOption { /** * Protected constructor to be used by the {@link Builder}. * * @param builder The builder instance containing the desired configuration values. */ - protected TriGOption(Builder builder) { + protected TriGSerializerOptions(Builder builder) { super(builder); } /** - * Public Builder for {@link TriGOption}. + * Public Builder for {@link TriGSerializerOptions}. * Provides a fluent API for constructing {@code TriGConfig} instances with default values * specific to the TriG format. */ @@ -50,13 +50,13 @@ public Builder() { } /** - * Builds and returns a new {@link TriGOption} instance with the current builder settings. + * Builds and returns a new {@link TriGSerializerOptions} instance with the current builder settings. * * @return A new {@code TriGConfig} instance. */ @Override - public TriGOption build() { - return new TriGOption(this); + public TriGSerializerOptions build() { + return new TriGSerializerOptions(this); } } @@ -67,17 +67,17 @@ public TriGOption build() { * * @return A {@code TriGConfig} instance with default settings. */ - public static TriGOption defaultConfig() { + public static TriGSerializerOptions defaultConfig() { return new Builder().build(); } /** - * Returns a new builder instance for {@link TriGOption}. + * Returns a new builder instance for {@link TriGSerializerOptions}. * This allows for fluent construction of custom TriG configurations. * * @return A new {@code Builder} instance. */ - public static TriGOption.Builder builder() { - return new TriGOption.Builder(); + public static TriGSerializerOptions.Builder builder() { + return new TriGSerializerOptions.Builder(); } } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializer.java index ee5a9c0df..963042bff 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializer.java @@ -40,23 +40,23 @@ public class TurtleSerializer extends AbstractGraphSerializer { /** * Constructs a new {@code TurtleSerializer} instance with the specified model and default configuration. - * The default configuration is returned by {@link TurtleOption#defaultConfig()}. + * The default configuration is returned by {@link TurtleSerializerOptions#defaultConfig()}. * * @param model the {@link Model} to serialize. Must not be null. * @throws NullPointerException if the provided model is null. */ public TurtleSerializer(Model model) { - this(model, TurtleOption.defaultConfig()); + this(model, TurtleSerializerOptions.defaultConfig()); } /** * Constructs a new {@code TurtleSerializer} instance with the specified model and custom configuration. * * @param model the {@link Model} to serialize. Must not be null. - * @param config the {@link TurtleOption} to use for serialization. Must not be null. + * @param config the {@link TurtleSerializerOptions} to use for serialization. Must not be null. * @throws NullPointerException if the provided model or configuration is null. */ - public TurtleSerializer(Model model, TurtleOption config) { + public TurtleSerializer(Model model, TurtleSerializerOptions config) { super(model, config); Objects.requireNonNull(config, "TurtleConfig cannot be null"); } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOption.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptions.java similarity index 79% rename from src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOption.java rename to src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptions.java index e5eed8c0c..cc9561b2e 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOption.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptions.java @@ -15,19 +15,19 @@ *

Use the {@link Builder} class to create instances of {@code TurtleConfig}. * A predefined default configuration is available via {@link #defaultConfig()}.

*/ -public class TurtleOption extends AbstractTFamilyOption { +public class TurtleSerializerOptions extends AbstractTFamilyOption { /** * Protected constructor to be used by the {@link Builder}. * * @param builder The builder instance containing the desired configuration values. */ - protected TurtleOption(Builder builder) { + protected TurtleSerializerOptions(Builder builder) { super(builder); } /** - * Public Builder for {@link TurtleOption}. + * Public Builder for {@link TurtleSerializerOptions}. * Provides a fluent API for constructing {@code TurtleConfig} instances with default values * specific to the Turtle format. */ @@ -52,13 +52,13 @@ public Builder() { } /** - * Builds and returns a new {@link TurtleOption} instance with the current builder settings. + * Builds and returns a new {@link TurtleSerializerOptions} instance with the current builder settings. * * @return A new {@code TurtleConfig} instance. */ @Override - public TurtleOption build() { - return new TurtleOption(this); + public TurtleSerializerOptions build() { + return new TurtleSerializerOptions(this); } } @@ -69,18 +69,18 @@ public TurtleOption build() { * * @return A {@code TurtleConfig} instance with default settings. */ - public static TurtleOption defaultConfig() { + public static TurtleSerializerOptions defaultConfig() { return new Builder().build(); } /** - * Returns a new builder instance for {@link TurtleOption}. + * Returns a new builder instance for {@link TurtleSerializerOptions}. * This allows for fluent construction of custom Turtle configurations. * * @return A new {@code Builder} instance. */ - public static TurtleOption.Builder builder() { - return new TurtleOption.Builder(); + public static TurtleSerializerOptions.Builder builder() { + return new TurtleSerializerOptions.Builder(); } } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOptionTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptionsTest.java similarity index 75% rename from src/test/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOptionTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptionsTest.java index 5b0ac465d..b2f382992 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/option/TitaniumJSONLDProcessorOptionTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptionsTest.java @@ -11,9 +11,9 @@ /** * Tests to check that values are properly set */ -class TitaniumJSONLDProcessorOptionTest { +class JSONLDProcessorOptionsTest { - private TitaniumJSONLDProcessorOption optionAllTrue = new TitaniumJSONLDProcessorOption.Builder().base("http://example.org/AllTrue") + private JSONLDProcessorOptions optionAllTrue = new JSONLDProcessorOptions.Builder().base("http://example.org/AllTrue") .extractAllScripts(true) .compactToRelative(true) .compactArrays(true) @@ -22,7 +22,7 @@ class TitaniumJSONLDProcessorOptionTest { .useNativeTypes(true) .build(); - private TitaniumJSONLDProcessorOption optionAllFalse = new TitaniumJSONLDProcessorOption.Builder().base("http://example.org/AllFalse") + private JSONLDProcessorOptions optionAllFalse = new JSONLDProcessorOptions.Builder().base("http://example.org/AllFalse") .extractAllScripts(false) .compactArrays(false) .compactToRelative(false) @@ -57,15 +57,15 @@ void isOrdered() { @Test void getProcessingMode() { - TitaniumJSONLDProcessorOption option10 = new TitaniumJSONLDProcessorOption.Builder().processingMode(JsonLdVersion.V1_0).build(); - TitaniumJSONLDProcessorOption option11 = new TitaniumJSONLDProcessorOption.Builder().processingMode(JsonLdVersion.V1_1).build(); + JSONLDProcessorOptions option10 = new JSONLDProcessorOptions.Builder().processingMode(JsonLdVersion.V1_0).build(); + JSONLDProcessorOptions option11 = new JSONLDProcessorOptions.Builder().processingMode(JsonLdVersion.V1_1).build(); assertEquals(JsonLdVersion.V1_0, option10.getProcessingMode()); assertEquals(JsonLdVersion.V1_1, option11.getProcessingMode()); } @Test void getTimeout() { - TitaniumJSONLDProcessorOption option10seconds = new TitaniumJSONLDProcessorOption.Builder().timeout(Duration.of(10, ChronoUnit.SECONDS)).build(); + JSONLDProcessorOptions option10seconds = new JSONLDProcessorOptions.Builder().timeout(Duration.of(10, ChronoUnit.SECONDS)).build(); assertNull(optionAllTrue.getTimeout()); assertEquals(Duration.of(10, ChronoUnit.SECONDS), option10seconds.getTimeout()); } @@ -90,7 +90,7 @@ void getJsonLdOptions() { @Test void getBase() { - assertEquals("http://example.org/AllTrue", optionAllTrue.getBase()); - assertEquals("http://example.org/AllFalse", optionAllFalse.getBase()); + assertEquals("http://example.org/AllTrue", optionAllTrue.getBaseIRI()); + assertEquals("http://example.org/AllFalse", optionAllFalse.getBaseIRI()); } } \ No newline at end of file diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ParserFactoryTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ParserFactoryTest.java index eff44aa9b..78bd4cbe8 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ParserFactoryTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ParserFactoryTest.java @@ -3,12 +3,12 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; import fr.inria.corese.core.next.api.base.io.RDFFormat; +import fr.inria.corese.core.next.api.io.IOOptions; import fr.inria.corese.core.next.api.io.parser.RDFParser; -import fr.inria.corese.core.next.api.io.parser.RDFParserOptions; import fr.inria.corese.core.next.impl.io.parser.jsonld.JSONLDParser; -import fr.inria.corese.core.next.impl.io.parser.nquads.ANTLRNQuadsParser; -import fr.inria.corese.core.next.impl.io.parser.ntriples.ANTLRNTriplesParser; -import fr.inria.corese.core.next.impl.io.parser.turtle.ANTLRTurtleParser; +import fr.inria.corese.core.next.impl.io.parser.nquads.NQuadsParser; +import fr.inria.corese.core.next.impl.io.parser.ntriples.NTriplesParser; +import fr.inria.corese.core.next.impl.io.parser.turtle.TurtleParser; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -36,7 +36,7 @@ class ParserFactoryTest { private ValueFactory mockValueFactory; @Mock - private RDFParserOptions mockParserOptions; + private IOOptions mockParserOptions; @BeforeEach @@ -57,7 +57,7 @@ void testCreateRDFParserWithConfig_JSONLD() { void testCreateRDFParserWithConfig_TURTLE() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.TURTLE, mockModel, mockValueFactory, mockParserOptions); assertNotNull(parser); - assertTrue(parser instanceof ANTLRTurtleParser); + assertTrue(parser instanceof TurtleParser); } @Test @@ -65,7 +65,7 @@ void testCreateRDFParserWithConfig_TURTLE() { void testCreateRDFParserWithConfig_NTRIPLES() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.NTRIPLES, mockModel, mockValueFactory, mockParserOptions); assertNotNull(parser); - assertTrue(parser instanceof ANTLRNTriplesParser); + assertTrue(parser instanceof NTriplesParser); } @Test @@ -73,7 +73,7 @@ void testCreateRDFParserWithConfig_NTRIPLES() { void testCreateRDFParserWithConfig_NQUADS() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.NQUADS, mockModel, mockValueFactory, mockParserOptions); assertNotNull(parser); - assertTrue(parser instanceof ANTLRNQuadsParser); + assertTrue(parser instanceof NQuadsParser); } @@ -90,7 +90,7 @@ void testCreateRDFParserWithoutConfig_JSONLD() { void testCreateRDFParserWithoutConfig_TURTLE() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.TURTLE, mockModel, mockValueFactory); assertNotNull(parser); - assertTrue(parser instanceof ANTLRTurtleParser); + assertTrue(parser instanceof TurtleParser); } @Test @@ -98,7 +98,7 @@ void testCreateRDFParserWithoutConfig_TURTLE() { void testCreateRDFParserWithoutConfig_NTRIPLES() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.NTRIPLES, mockModel, mockValueFactory); assertNotNull(parser); - assertTrue(parser instanceof ANTLRNTriplesParser); + assertTrue(parser instanceof NTriplesParser); } @Test @@ -106,7 +106,7 @@ void testCreateRDFParserWithoutConfig_NTRIPLES() { void testCreateRDFParserWithoutConfig_NQUADS() { RDFParser parser = parserFactory.createRDFParser(RDFFormat.NQUADS, mockModel, mockValueFactory); assertNotNull(parser); - assertTrue(parser instanceof ANTLRNQuadsParser); + assertTrue(parser instanceof NQuadsParser); } } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDCircularTest.java index 613dcbabf..77beb89f7 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDCircularTest.java @@ -20,9 +20,8 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.io.parser.RDFParser; import fr.inria.corese.core.next.api.io.serialization.RDFSerializer; -import fr.inria.corese.core.next.api.io.serialization.SerializationOption; import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; @@ -49,7 +48,7 @@ class JSONLDCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private TitaniumJSONLDProcessorOption defaultConfig; + private JSONLDProcessorOptions defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -73,7 +72,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = new TitaniumJSONLDProcessorOption.Builder() + defaultConfig = new JSONLDProcessorOptions.Builder() .build(); } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsCircularTest.java index 4ad005620..0bf3cf90a 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsCircularTest.java @@ -23,7 +23,7 @@ import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsOption; +import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsSerializerOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; @@ -44,7 +44,7 @@ class NQuadsCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private NQuadsOption defaultConfig; + private NQuadsSerializerOptions defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -68,7 +68,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = NQuadsOption.defaultConfig(); + defaultConfig = NQuadsSerializerOptions.defaultConfig(); } /** diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserTest.java similarity index 98% rename from src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParserTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserTest.java index 7e55be04e..656c9f2b6 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/ANTLRNQuadsParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserTest.java @@ -22,7 +22,7 @@ * and unescaping of IRIs and literals, and named graphs. */ @ExtendWith(MockitoExtension.class) -class ANTLRNQuadsParserTest { +class NQuadsParserTest { @Mock private Model mockModel; @@ -30,7 +30,7 @@ class ANTLRNQuadsParserTest { @Mock private ValueFactory mockValueFactory; - private ANTLRNQuadsParser parser; + private NQuadsParser parser; @Mock private IRI mockSubjectIRI; @@ -62,7 +62,7 @@ class ANTLRNQuadsParserTest { @BeforeEach void setUp() { - parser = new ANTLRNQuadsParser(mockModel, mockValueFactory); + parser = new NQuadsParser(mockModel, mockValueFactory); lenient().when(mockValueFactory.createIRI(anyString())).thenAnswer(invocation -> { String uri = invocation.getArgument(0); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesCircularTest.java index 1b5783b87..a31407834 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesCircularTest.java @@ -23,7 +23,7 @@ import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesOption; +import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesSerializerOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; @@ -41,7 +41,7 @@ class NTriplesCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private NTriplesOption defaultConfig; + private NTriplesSerializerOptions defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -63,7 +63,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = NTriplesOption.defaultConfig(); + defaultConfig = NTriplesSerializerOptions.defaultConfig(); } /** diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserTest.java similarity index 98% rename from src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParserTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserTest.java index 16c6ce6ea..72f66b14d 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/ANTLRNTriplesParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserTest.java @@ -22,7 +22,7 @@ * and unescaping of IRIs and literals. */ @ExtendWith(MockitoExtension.class) -class ANTLRNTriplesParserTest { +class NTriplesParserTest { @Mock private Model mockModel; @@ -30,7 +30,7 @@ class ANTLRNTriplesParserTest { @Mock private ValueFactory mockValueFactory; - private ANTLRNTriplesParser parser; + private NTriplesParser parser; @Mock private IRI mockSubjectIRI; @@ -58,7 +58,7 @@ class ANTLRNTriplesParserTest { @BeforeEach void setUp() { - parser = new ANTLRNTriplesParser(mockModel, mockValueFactory); + parser = new NTriplesParser(mockModel, mockValueFactory); lenient().when(mockValueFactory.createIRI(anyString())).thenAnswer(invocation -> { String uri = invocation.getArgument(0); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLCircularTest.java index 8314b3aca..ef7c939cf 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLCircularTest.java @@ -9,7 +9,6 @@ import java.nio.charset.StandardCharsets; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -24,7 +23,7 @@ import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XmlOption; +import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XMLSerializerOption; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; @@ -52,7 +51,7 @@ class RDFXMLCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private XmlOption defaultConfig; + private XMLSerializerOption defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -74,7 +73,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = XmlOption.defaultConfig(); + defaultConfig = XMLSerializerOption.defaultConfig(); } /** diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGCircularTest.java index 52b4aaf4f..e741576e3 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGCircularTest.java @@ -23,7 +23,7 @@ import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.trig.TriGOption; +import fr.inria.corese.core.next.impl.io.serialization.trig.TriGSerializerOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; @@ -44,7 +44,7 @@ class TriGCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private TriGOption defaultConfig; + private TriGSerializerOptions defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -68,7 +68,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = TriGOption.defaultConfig(); + defaultConfig = TriGSerializerOptions.defaultConfig(); } /** diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserTest.java similarity index 98% rename from src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParserTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserTest.java index 9d4e8db75..974fa5b27 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/ANTLRTrigParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserTest.java @@ -21,9 +21,9 @@ * and interact with the Model and ValueFactory, including error handling * and unescaping of IRIs and literals, and named graphs. */ -class ANTLRTrigParserTest { +class TriGParserTest { - private static final Logger logger = LoggerFactory.getLogger(ANTLRTrigParserTest.class); + private static final Logger logger = LoggerFactory.getLogger(TriGParserTest.class); /** * helper method to parse trig data into corese model @@ -37,7 +37,7 @@ class ANTLRTrigParserTest { private Model parseFromString(String trigData, String baseURI) throws Exception { Model model = new CoreseModel(); ValueFactory factory = new CoreseAdaptedValueFactory(); - RDFParser parser = new ANTLRTrigParser(model, factory); + RDFParser parser = new TriGParser(model, factory); parser.parse(new StringReader(trigData), baseURI); return model; } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleCircularTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleCircularTest.java index 3335815cf..ee71d36a7 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleCircularTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleCircularTest.java @@ -23,7 +23,7 @@ import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.io.parser.ParserFactory; import fr.inria.corese.core.next.impl.io.serialization.DefaultSerializerFactory; -import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleOption; +import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleSerializerOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; @@ -41,7 +41,7 @@ class TurtleCircularTest { private ValueFactory valueFactory; private SerializerFactory serializerFactory; private ParserFactory parserFactory; - private TurtleOption defaultConfig; + private TurtleSerializerOptions defaultConfig; // Test data constants private static final String EXAMPLE_NS = "http://example.org/"; @@ -63,7 +63,7 @@ void setUp() { valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = TurtleOption.defaultConfig(); + defaultConfig = TurtleSerializerOptions.defaultConfig(); } /** diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java similarity index 92% rename from src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParserTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java index bdf67298b..50da6760d 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/ANTLRTurtleParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java @@ -17,11 +17,11 @@ * and interact with the Model and ValueFactory, including error handling * and unescaping of IRIs and literals, and named graphs. */ -public class ANTLRTurtleParserTest { +public class TurtleParserTest { private Model parseFromString(String turtleData, String baseURI) throws Exception { Model model = new CoreseModel(); ValueFactory factory = new CoreseAdaptedValueFactory(); - RDFParser parser = new ANTLRTurtleParser(model, factory); + RDFParser parser = new TurtleParser(model, factory); parser.parse(new StringReader(turtleData), baseURI); return model; } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactoryTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactoryTest.java index 802d4c91e..014015738 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactoryTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/DefaultSerializerFactoryTest.java @@ -7,6 +7,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mockConstruction; +import fr.inria.corese.core.next.api.io.IOOptions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -15,13 +16,11 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.io.serialization.RDFSerializer; -import fr.inria.corese.core.next.api.io.serialization.SerializationOption; -import fr.inria.corese.core.next.impl.io.serialization.jsonld.JSONLDSerializer; -import fr.inria.corese.core.next.impl.io.serialization.canonical.Rdfc10Serializer; import fr.inria.corese.core.next.impl.io.serialization.jsonld.JSONLDSerializer; +import fr.inria.corese.core.next.impl.io.serialization.canonical.RDFC10Serializer; import fr.inria.corese.core.next.impl.io.serialization.nquads.NQuadsSerializer; import fr.inria.corese.core.next.impl.io.serialization.ntriples.NTriplesSerializer; -import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XmlSerializer; +import fr.inria.corese.core.next.impl.io.serialization.rdfxml.XMLSerializer; import fr.inria.corese.core.next.impl.io.serialization.trig.TriGSerializer; import fr.inria.corese.core.next.impl.io.serialization.turtle.TurtleSerializer; @@ -35,13 +34,13 @@ class DefaultSerializerFactoryTest { private DefaultSerializerFactory factory; private Model mockModel; - private SerializationOption mockConfig; + private IOOptions mockConfig; @BeforeEach void setUp() { factory = new DefaultSerializerFactory(); mockModel = mock(Model.class); - mockConfig = mock(SerializationOption.class); + mockConfig = mock(IOOptions.class); } @Test @@ -99,11 +98,11 @@ void createSerializer_shouldReturnTriGSerializer_forTriGFormat() { @Test @DisplayName("createSerializer should return XmlSerializer for RDFXML format") void createSerializer_shouldReturnXmlSerializer_forRdfXmlFormat() { - try (MockedConstruction mockedConstruction = mockConstruction(XmlSerializer.class)) { + try (MockedConstruction mockedConstruction = mockConstruction(XMLSerializer.class)) { RDFSerializer serializer = factory.createSerializer(RDFFormat.RDFXML, mockModel, mockConfig); assertNotNull(serializer); - assertTrue(serializer instanceof XmlSerializer); + assertTrue(serializer instanceof XMLSerializer); assertEquals(1, mockedConstruction.constructed().size(), "XmlSerializer constructor should be called once"); } } @@ -111,11 +110,11 @@ void createSerializer_shouldReturnXmlSerializer_forRdfXmlFormat() { @Test @DisplayName("createSerializer should return CanonicalSerializer for CANONICAL_RDF format") void createSerializer_shouldReturnCanonicalSerializer_forCanonicalRdfFormat() { - try (MockedConstruction mockedConstruction = mockConstruction(Rdfc10Serializer.class)) { + try (MockedConstruction mockedConstruction = mockConstruction(RDFC10Serializer.class)) { RDFSerializer serializer = factory.createSerializer(RDFFormat.RDFC_1_0, mockModel, mockConfig); assertNotNull(serializer); - assertTrue(serializer instanceof Rdfc10Serializer); + assertTrue(serializer instanceof RDFC10Serializer); assertEquals(1, mockedConstruction.constructed().size(), "CanonicalSerializer constructor should be called once"); } } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10OptionsTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10OptionsTest.java similarity index 91% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10OptionsTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10OptionsTest.java index a59214f30..7d829c1b3 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10OptionsTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10OptionsTest.java @@ -6,16 +6,16 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link Rdfc10Options} class. + * Unit tests for the {@link RDFC10Options} class. * This class verifies the default configuration and the builder functionality * for the Canonical RDF serialization options. */ -class Rdfc10OptionsTest { +class RDFC10OptionsTest { @Test @DisplayName("defaultConfig should return an instance with expected default values") void defaultConfig_shouldReturnExpectedValues() { - Rdfc10Options config = Rdfc10Options.defaultConfig(); + RDFC10Options config = RDFC10Options.defaultConfig(); assertNotNull(config, "Default config should not be null"); assertTrue(config.isStrictMode(), "Default strictMode should be true for canonicalization"); @@ -28,7 +28,7 @@ void defaultConfig_shouldReturnExpectedValues() { @Test @DisplayName("builder should allow setting custom options") void builder_shouldAllowCustomOptions() { - Rdfc10Options customConfig = Rdfc10Options.builder() + RDFC10Options customConfig = RDFC10Options.builder() .strictMode(false) .validateURIs(false) .escapeUnicode(false) @@ -47,7 +47,7 @@ void builder_shouldAllowCustomOptions() { @Test @DisplayName("builder should use default values for un-set options") void builder_shouldUseDefaultValues_forUnsetOptions() { - Rdfc10Options config = Rdfc10Options.builder() + RDFC10Options config = RDFC10Options.builder() .strictMode(false) .build(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10SerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10SerializerTest.java similarity index 95% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10SerializerTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10SerializerTest.java index b80d08651..a18bc0418 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/Rdfc10SerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10SerializerTest.java @@ -29,12 +29,12 @@ * These tests verify that the serializer correctly delegates to an RDFC-1.0 canonicalization * component and formats the resulting canonical statements. */ -class Rdfc10SerializerTest { +class RDFC10SerializerTest { @Mock private Model mockModel; @Mock - private Rdfc10Canonicalizer mockCanonicalizer; + private RDFC10Canonicalizer mockCanonicalizer; @Mock private BNode mockBNodeE0; @Mock @@ -81,17 +81,17 @@ class Rdfc10SerializerTest { private Literal mockLiteral2; - private Rdfc10Serializer serializer; - private Rdfc10Options defaultConfig; + private RDFC10Serializer serializer; + private RDFC10Options defaultConfig; @BeforeEach void setUp() { MockitoAnnotations.openMocks(this); - defaultConfig = Rdfc10Options.defaultConfig(); + defaultConfig = RDFC10Options.defaultConfig(); setupBasicMocks(); - serializer = new Rdfc10Serializer(mockModel, defaultConfig, mockCanonicalizer) { + serializer = new RDFC10Serializer(mockModel, defaultConfig, mockCanonicalizer) { @Override protected void writeValue(Writer w, Value v) throws IOException { if (v != null) { @@ -190,7 +190,7 @@ void testConstructorWithValidParameters() { @DisplayName("Constructor with null model should throw NullPointerException") void testConstructorNullModel() { assertThrows(NullPointerException.class, () -> - new Rdfc10Serializer(null, defaultConfig, mockCanonicalizer)); + new RDFC10Serializer(null, defaultConfig, mockCanonicalizer)); } @@ -198,20 +198,20 @@ void testConstructorNullModel() { @DisplayName("Constructor with null config should throw NullPointerException") void testConstructorNullConfig() { assertThrows(NullPointerException.class, () -> - new Rdfc10Serializer(mockModel, null, mockCanonicalizer)); + new RDFC10Serializer(mockModel, null, mockCanonicalizer)); } @Test @DisplayName("Constructor with null canonicalizer should throw NullPointerException") void testConstructorNullCanonicalizer() { assertThrows(NullPointerException.class, () -> - new Rdfc10Serializer(mockModel, defaultConfig, null)); + new RDFC10Serializer(mockModel, defaultConfig, null)); } @Test @DisplayName("Constructor with default configuration") void testConstructorWithDefaultConfig() { - Rdfc10Serializer defaultSerializer = new Rdfc10Serializer(mockModel, defaultConfig, mockCanonicalizer); + RDFC10Serializer defaultSerializer = new RDFC10Serializer(mockModel, defaultConfig, mockCanonicalizer); assertNotNull(defaultSerializer); assertEquals("RDFC-1.0", defaultSerializer.getFormatName()); } @@ -345,7 +345,7 @@ private String serializeToRdfCanonical(String resourcePath) { RDFSerializer serializer = serializerFactory.createSerializer( RDFFormat.RDFC_1_0, model, - Rdfc10Options.defaultConfig() + RDFC10Options.defaultConfig() ); StringWriter writer = new StringWriter(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializerTest.java index b6573c617..c1f93d429 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/jsonld/JSONLDSerializerTest.java @@ -3,7 +3,7 @@ import com.apicatalog.jsonld.json.JsonLdComparison; import fr.inria.corese.core.next.api.*; import fr.inria.corese.core.next.api.io.serialization.RDFSerializer; -import fr.inria.corese.core.next.impl.io.option.TitaniumJSONLDProcessorOption; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; import jakarta.json.Json; @@ -50,7 +50,7 @@ public void smallModelTest() { // IRI IRI LangLiteral this.model.add(iriNode, iriPred, langLiteral); - RDFSerializer serializer = new JSONLDSerializer(this.model, (new TitaniumJSONLDProcessorOption.Builder()).ordered(true).build()); + RDFSerializer serializer = new JSONLDSerializer(this.model, (new JSONLDProcessorOptions.Builder()).ordered(true).build()); StringWriter writer = new StringWriter(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOptionTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptionsTest.java similarity index 83% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOptionTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptionsTest.java index 2b0428c11..b460a86dc 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsOptionTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerOptionsTest.java @@ -7,16 +7,16 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link NQuadsOption} class. + * Unit tests for the {@link NQuadsSerializerOptions} class. * These tests verify the default configuration settings and the functionality * of the builder pattern for customizing N-Quads serialization options. */ -class NQuadsOptionTest { +class NQuadsSerializerOptionsTest { @Test @DisplayName("defaultConfig() should return a config with expected N-Quads defaults") void defaultConfig_shouldReturnExpectedDefaults() { - NQuadsOption config = NQuadsOption.defaultConfig(); + NQuadsSerializerOptions config = NQuadsSerializerOptions.defaultConfig(); assertNotNull(config, "Default config should not be null"); @@ -32,7 +32,7 @@ void defaultConfig_shouldReturnExpectedDefaults() { @Test @DisplayName("Builder should allow overriding includeContext") void builder_shouldAllowOverridingIncludeContext() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .includeContext(false) .build(); @@ -42,7 +42,7 @@ void builder_shouldAllowOverridingIncludeContext() { @Test @DisplayName("Builder should allow overriding literalDatatypePolicy") void builder_shouldAllowOverridingLiteralDatatypePolicy() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .build(); @@ -52,7 +52,7 @@ void builder_shouldAllowOverridingLiteralDatatypePolicy() { @Test @DisplayName("Builder should allow overriding escapeUnicode") void builder_shouldAllowOverridingEscapeUnicode() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .escapeUnicode(false) .build(); @@ -62,7 +62,7 @@ void builder_shouldAllowOverridingEscapeUnicode() { @Test @DisplayName("Builder should allow overriding strictMode") void builder_shouldAllowOverridingStrictMode() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .strictMode(false) .build(); @@ -73,7 +73,7 @@ void builder_shouldAllowOverridingStrictMode() { @DisplayName("Builder should allow setting baseIRI") void builder_shouldAllowSettingBaseIRI() { String testBaseIRI = "http://example.org/base/"; - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .baseIRI(testBaseIRI) .build(); @@ -84,7 +84,7 @@ void builder_shouldAllowSettingBaseIRI() { @DisplayName("Builder should allow setting lineEnding") void builder_shouldAllowSettingLineEnding() { String customLineEnding = "\r\n"; - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .lineEnding(customLineEnding) .build(); @@ -94,7 +94,7 @@ void builder_shouldAllowSettingLineEnding() { @Test @DisplayName("Builder should allow overriding validateURIs") void builder_shouldAllowOverridingValidateURIs() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .validateURIs(true) .build(); @@ -104,7 +104,7 @@ void builder_shouldAllowOverridingValidateURIs() { @Test @DisplayName("Builder should allow overriding stableBlankNodeIds") void builder_shouldAllowOverridingStableBlankNodeIds() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .stableBlankNodeIds(true) .build(); @@ -114,7 +114,7 @@ void builder_shouldAllowOverridingStableBlankNodeIds() { @Test @DisplayName("Builder should handle null values for optional fields gracefully (e.g., baseIRI)") void builder_shouldHandleNullForOptionalFields() { - NQuadsOption config = NQuadsOption.builder() + NQuadsSerializerOptions config = NQuadsSerializerOptions.builder() .baseIRI(null) .build(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerTest.java index ea3f653a9..008afb910 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/nquads/NQuadsSerializerTest.java @@ -22,7 +22,7 @@ class NQuadsSerializerTest { private Model model; - private NQuadsOption config; + private NQuadsSerializerOptions config; private NQuadsSerializer nQuadsSerializer; private TestStatementFactory factory; @@ -41,7 +41,7 @@ class NQuadsSerializerTest { @BeforeEach void setUp() { model = mock(Model.class); - config = NQuadsOption.defaultConfig(); + config = NQuadsSerializerOptions.defaultConfig(); nQuadsSerializer = new NQuadsSerializer(model, config); factory = new TestStatementFactory(); @@ -263,7 +263,7 @@ void shouldHandleLiteralsWithLanguageTags() throws SerializationException { Writer writer = new StringWriter(); - NQuadsSerializer serializer = new NQuadsSerializer(currentTestModel, NQuadsOption.defaultConfig()); + NQuadsSerializer serializer = new NQuadsSerializer(currentTestModel, NQuadsSerializerOptions.defaultConfig()); serializer.write(writer); String expectedOutput = String.format("<%s> <%s> \"%s\"@%s", @@ -286,7 +286,7 @@ void shouldHandleLiteralsWithCustomDatatypes() throws SerializationException { Model currentTestModel = mock(Model.class); when(currentTestModel.iterator()).thenReturn(new MockStatementIterator(stmt)); - NQuadsSerializer serializer = new NQuadsSerializer(currentTestModel, NQuadsOption.defaultConfig()); + NQuadsSerializer serializer = new NQuadsSerializer(currentTestModel, NQuadsSerializerOptions.defaultConfig()); StringWriter writer = new StringWriter(); serializer.write(writer); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOptionTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptionsTest.java similarity index 82% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOptionTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptionsTest.java index d4b4f7d42..3d665d086 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesOptionTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerOptionsTest.java @@ -7,16 +7,16 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link NTriplesOption} class. + * Unit tests for the {@link NTriplesSerializerOptions} class. * These tests verify the default configuration settings and the functionality * of the builder pattern for customizing N-Triples serialization options. */ -class NTriplesOptionTest { +class NTriplesSerializerOptionsTest { @Test @DisplayName("defaultConfig() should return a config with expected N-Triples defaults") void defaultConfig_shouldReturnExpectedDefaults() { - NTriplesOption config = NTriplesOption.defaultConfig(); + NTriplesSerializerOptions config = NTriplesSerializerOptions.defaultConfig(); assertNotNull(config, "Default config should not be null"); @@ -32,7 +32,7 @@ void defaultConfig_shouldReturnExpectedDefaults() { @Test @DisplayName("Builder should allow overriding includeContext") void builder_shouldAllowOverridingIncludeContext() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .includeContext(true) .build(); @@ -42,7 +42,7 @@ void builder_shouldAllowOverridingIncludeContext() { @Test @DisplayName("Builder should allow overriding literalDatatypePolicy") void builder_shouldAllowOverridingLiteralDatatypePolicy() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .build(); @@ -52,7 +52,7 @@ void builder_shouldAllowOverridingLiteralDatatypePolicy() { @Test @DisplayName("Builder should allow overriding escapeUnicode") void builder_shouldAllowOverridingEscapeUnicode() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .escapeUnicode(false) .build(); @@ -62,7 +62,7 @@ void builder_shouldAllowOverridingEscapeUnicode() { @Test @DisplayName("Builder should allow overriding strictMode") void builder_shouldAllowOverridingStrictMode() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .strictMode(false) .build(); @@ -73,7 +73,7 @@ void builder_shouldAllowOverridingStrictMode() { @DisplayName("Builder should allow setting baseIRI") void builder_shouldAllowSettingBaseIRI() { String testBaseIRI = "http://example.org/base/"; - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .baseIRI(testBaseIRI) .build(); @@ -84,7 +84,7 @@ void builder_shouldAllowSettingBaseIRI() { @DisplayName("Builder should allow setting lineEnding") void builder_shouldAllowSettingLineEnding() { String customLineEnding = "\r\n"; - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .lineEnding(customLineEnding) .build(); @@ -94,7 +94,7 @@ void builder_shouldAllowSettingLineEnding() { @Test @DisplayName("Builder should allow overriding validateURIs") void builder_shouldAllowOverridingValidateURIs() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .validateURIs(true) .build(); @@ -104,7 +104,7 @@ void builder_shouldAllowOverridingValidateURIs() { @Test @DisplayName("Builder should allow overriding stableBlankNodeIds") void builder_shouldAllowOverridingStableBlankNodeIds() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .stableBlankNodeIds(true) .build(); @@ -114,7 +114,7 @@ void builder_shouldAllowOverridingStableBlankNodeIds() { @Test @DisplayName("Builder should handle null values for optional fields gracefully (e.g., baseIRI)") void builder_shouldHandleNullForOptionalFields() { - NTriplesOption config = NTriplesOption.builder() + NTriplesSerializerOptions config = NTriplesSerializerOptions.builder() .baseIRI(null) .build(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerTest.java index 07b4088f1..f199fe54b 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/ntriples/NTriplesSerializerTest.java @@ -23,7 +23,7 @@ class NTriplesSerializerTest { private Model model; - private NTriplesOption config; + private NTriplesSerializerOptions config; private NTriplesSerializer nTriplesSerializer; private TestStatementFactory factory; @@ -42,7 +42,7 @@ class NTriplesSerializerTest { @BeforeEach void setUp() { model = mock(Model.class); - config = NTriplesOption.defaultConfig(); + config = NTriplesSerializerOptions.defaultConfig(); nTriplesSerializer = new NTriplesSerializer(model, config); factory = new TestStatementFactory(); @@ -270,7 +270,7 @@ void shouldHandleLiteralsWithLanguageTags() throws SerializationException { Writer writer = new StringWriter(); - NTriplesSerializer serializer = new NTriplesSerializer(currentTestModel, NTriplesOption.defaultConfig()); + NTriplesSerializer serializer = new NTriplesSerializer(currentTestModel, NTriplesSerializerOptions.defaultConfig()); serializer.write(writer); String expectedOutput = String.format("<%s> <%s> \"%s\"@%s", @@ -294,7 +294,7 @@ void shouldHandleLiteralsWithCustomDatatypes() throws SerializationException { Model currentTestModel = mock(Model.class); when(currentTestModel.iterator()).thenReturn(new MockStatementIterator(stmt)); - NTriplesSerializer serializer = new NTriplesSerializer(currentTestModel, NTriplesOption.defaultConfig()); + NTriplesSerializer serializer = new NTriplesSerializer(currentTestModel, NTriplesSerializerOptions.defaultConfig()); StringWriter writer = new StringWriter(); serializer.write(writer); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerTest.java similarity index 91% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializerTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerTest.java index 34bae8f51..b4ee7dd15 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XMLSerializerTest.java @@ -23,11 +23,11 @@ /** * Unit tests for the XmlSerializer class. */ -class XmlSerializerTest { +class XMLSerializerTest { @Mock private Model mockModel; - XmlOption mockConfig; + XMLSerializerOption mockConfig; private TestStatementFactory factory; private StringWriter writer; @@ -38,7 +38,7 @@ void setUp() { writer = new StringWriter(); factory = new TestStatementFactory(); - mockConfig = XmlOption.defaultConfig(); + mockConfig = XMLSerializerOption.defaultConfig(); } @@ -53,7 +53,7 @@ void shouldSerializeSimpleIriTriple() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .autoDeclarePrefixes(true) .usePrefixes(true) .addCustomPrefix("foaf", "http://xmlns.com/foaf/0.1/") @@ -61,7 +61,7 @@ void shouldSerializeSimpleIriTriple() throws SerializationException { .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); @@ -88,13 +88,13 @@ void shouldHandleBlankNodeSubject() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .stableBlankNodeIds(true) .addCustomPrefix("foaf", "http://xmlns.com/foaf/0.1/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -121,13 +121,13 @@ void shouldHandleBlankNodeObject() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .stableBlankNodeIds(true) .addCustomPrefix("dc", "http://purl.org/dc/elements/1.1/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); @@ -154,13 +154,13 @@ void shouldSerializeLiteralWithStringDatatypeMinimalPolicy() throws Serializatio when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .addCustomPrefix("foaf", "http://xmlns.com/foaf/0.1/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -185,14 +185,14 @@ void shouldSerializeLiteralWithCustomDatatypeMinimalPolicy() throws Serializatio when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .addCustomPrefix("ex", "http://example.org/vocabulary/") .addCustomPrefix("xsd", "http://www.w3.org/2001/XMLSchema#") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -217,12 +217,12 @@ void shouldSerializeLiteralWithLanguage() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .addCustomPrefix("dc", "http://purl.org/dc/elements/1.1/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -254,14 +254,14 @@ void shouldRespectPrefixOrderingDefault() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt1, stmt2)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .addCustomPrefix("exorg", "http://ex.org/") .addCustomPrefix("excom", "http://ex.com/") .prefixOrdering(PrefixOrderingEnum.USAGE_ORDER) .sortSubjects(false) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String actual = writer.toString(); @@ -296,13 +296,13 @@ void shouldSortSubjectsAlphabetically() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt1, stmt2)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .sortSubjects(true) .addCustomPrefix("ex", "http://ex.org/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -332,11 +332,11 @@ void shouldEscapeXmlAttributeValues() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -362,14 +362,14 @@ void shouldEscapeXmlContentValues() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.ALWAYS_TYPED) .addCustomPrefix("ex", "http://example.org/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -396,13 +396,13 @@ void shouldNotAutoDeclarePrefixesIfDisabled() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .autoDeclarePrefixes(false) .usePrefixes(true) .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -428,13 +428,13 @@ void shouldNotUsePrefixesIfDisabled() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .usePrefixes(false) .autoDeclarePrefixes(true) .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ @@ -466,14 +466,14 @@ void shouldNotGenerateStableBlankNodeIds() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.of(stmt1, stmt2)); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .stableBlankNodeIds(false) .sortSubjects(true) .addCustomPrefix("ex", "http://example.org/") .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); @@ -497,11 +497,11 @@ void shouldNotGenerateStableBlankNodeIds() throws SerializationException { void shouldHandleEmptyModel() throws SerializationException { when(mockModel.stream()).thenReturn(Stream.empty()); - XmlOption testConfig = new XmlOption.Builder() + XMLSerializerOption testConfig = new XMLSerializerOption.Builder() .prefixOrdering(PrefixOrderingEnum.ALPHABETICAL) .build(); - XmlSerializer serializer = new XmlSerializer(mockModel, testConfig); + XMLSerializer serializer = new XMLSerializer(mockModel, testConfig); serializer.write(writer); String expected = """ diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlConfigTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlConfigTest.java index 562bd866d..5a80780c4 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlConfigTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/rdfxml/XmlConfigTest.java @@ -12,7 +12,7 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link XmlOption} class. + * Unit tests for the {@link XMLSerializerOption} class. * These tests verify the default configuration settings and the functionality * of the builder pattern for customizing RDF/XML serialization options. */ @@ -21,7 +21,7 @@ class XmlConfigTest { @Test @DisplayName("defaultConfig() should return a config with expected RDF/XML defaults") void defaultConfig_shouldReturnExpectedDefaults() { - XmlOption config = XmlOption.defaultConfig(); + XMLSerializerOption config = XMLSerializerOption.defaultConfig(); assertNotNull(config, "Default config should not be null"); @@ -54,7 +54,7 @@ void defaultConfig_shouldReturnExpectedDefaults() { @Test @DisplayName("Builder should allow overriding usePrefixes") void builder_shouldAllowOverridingUsePrefixes() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .usePrefixes(false) .build(); assertFalse(config.usePrefixes(), "usePrefixes should be overridden to false"); @@ -63,7 +63,7 @@ void builder_shouldAllowOverridingUsePrefixes() { @Test @DisplayName("Builder should allow overriding autoDeclarePrefixes") void builder_shouldAllowOverridingAutoDeclarePrefixes() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .autoDeclarePrefixes(false) .build(); assertFalse(config.autoDeclarePrefixes(), "autoDeclarePrefixes should be overridden to false"); @@ -72,7 +72,7 @@ void builder_shouldAllowOverridingAutoDeclarePrefixes() { @Test @DisplayName("Builder should allow overriding prefixOrdering") void builder_shouldAllowOverridingPrefixOrdering() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .prefixOrdering(PrefixOrderingEnum.USAGE_ORDER) .build(); assertEquals(PrefixOrderingEnum.USAGE_ORDER, config.getPrefixOrdering(), "prefixOrdering should be overridden to USAGE_ORDER"); @@ -83,7 +83,7 @@ void builder_shouldAllowOverridingPrefixOrdering() { void builder_shouldAllowAddingCustomPrefixes() { String customPrefix = "my"; String customNamespace = "http://my.example.org/"; - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .addCustomPrefix(customPrefix, customNamespace) .build(); @@ -96,7 +96,7 @@ void builder_shouldAllowAddingCustomPrefixes() { @Test @DisplayName("Builder should allow overriding prettyPrint") void builder_shouldAllowOverridingPrettyPrint() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .prettyPrint(false) .build(); assertFalse(config.prettyPrint(), "prettyPrint should be overridden to false"); @@ -106,7 +106,7 @@ void builder_shouldAllowOverridingPrettyPrint() { @DisplayName("Builder should allow overriding indent") void builder_shouldAllowOverridingIndent() { String customIndent = "\t"; - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .indent(customIndent) .build(); assertEquals(customIndent, config.getIndent(), "indent should be overridden to custom value"); @@ -116,7 +116,7 @@ void builder_shouldAllowOverridingIndent() { @DisplayName("Builder should allow overriding maxLineLength") void builder_shouldAllowOverridingMaxLineLength() { int customLength = 120; - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .maxLineLength(customLength) .build(); assertEquals(customLength, config.getMaxLineLength(), "maxLineLength should be overridden to custom value"); @@ -125,7 +125,7 @@ void builder_shouldAllowOverridingMaxLineLength() { @Test @DisplayName("Builder should allow overriding sortSubjects") void builder_shouldAllowOverridingSortSubjects() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .sortSubjects(true) .build(); assertTrue(config.sortSubjects(), "sortSubjects should be overridden to true"); @@ -134,7 +134,7 @@ void builder_shouldAllowOverridingSortSubjects() { @Test @DisplayName("Builder should allow overriding sortPredicates") void builder_shouldAllowOverridingSortPredicates() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .sortPredicates(true) .build(); assertTrue(config.sortPredicates(), "sortPredicates should be overridden to true"); @@ -143,7 +143,7 @@ void builder_shouldAllowOverridingSortPredicates() { @Test @DisplayName("Builder should allow overriding useMultilineLiterals") void builder_shouldAllowOverridingUseMultilineLiterals() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .useMultilineLiterals(false) .build(); assertFalse(config.useMultilineLiterals(), "useMultilineLiterals should be overridden to false"); @@ -152,7 +152,7 @@ void builder_shouldAllowOverridingUseMultilineLiterals() { @Test @DisplayName("Builder should allow overriding strictMode") void builder_shouldAllowOverridingStrictMode() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .strictMode(false) .build(); assertFalse(config.isStrictMode(), "strictMode should be overridden to false"); @@ -161,7 +161,7 @@ void builder_shouldAllowOverridingStrictMode() { @Test @DisplayName("Builder should allow overriding escapeUnicode") void builder_shouldAllowOverridingEscapeUnicode() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .escapeUnicode(true) .build(); assertTrue(config.escapeUnicode(), "escapeUnicode should be overridden to true"); @@ -170,7 +170,7 @@ void builder_shouldAllowOverridingEscapeUnicode() { @Test @DisplayName("Builder should allow overriding literalDatatypePolicy") void builder_shouldAllowOverridingLiteralDatatypePolicy() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .build(); assertEquals(LiteralDatatypePolicyEnum.MINIMAL, config.getLiteralDatatypePolicy(), "literalDatatypePolicy should be overridden to MINIMAL"); @@ -180,7 +180,7 @@ void builder_shouldAllowOverridingLiteralDatatypePolicy() { @DisplayName("Builder should allow setting baseIRI") void builder_shouldAllowSettingBaseIRI() { String testBaseIRI = "http://example.org/base/"; - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .baseIRI(testBaseIRI) .build(); assertEquals(testBaseIRI, config.getBaseIRI(), "baseIRI should be set correctly"); @@ -190,7 +190,7 @@ void builder_shouldAllowSettingBaseIRI() { @DisplayName("Builder should allow overriding lineEnding") void builder_shouldAllowOverridingLineEnding() { String customLineEnding = "\r\n"; - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .lineEnding(customLineEnding) .build(); assertEquals(customLineEnding, config.getLineEnding(), "lineEnding should be overridden to custom value"); @@ -199,7 +199,7 @@ void builder_shouldAllowOverridingLineEnding() { @Test @DisplayName("Builder should allow overriding validateURIs") void builder_shouldAllowOverridingValidateURIs() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .validateURIs(true) .build(); assertTrue(config.validateURIs(), "validateURIs should be overridden to true"); @@ -208,7 +208,7 @@ void builder_shouldAllowOverridingValidateURIs() { @Test @DisplayName("Builder should allow overriding stableBlankNodeIds") void builder_shouldAllowOverridingStableBlankNodeIds() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .stableBlankNodeIds(false) .build(); assertFalse(config.stableBlankNodeIds(), "stableBlankNodeIds should be overridden to false"); @@ -217,7 +217,7 @@ void builder_shouldAllowOverridingStableBlankNodeIds() { @Test @DisplayName("Builder should allow overriding includeContext") void builder_shouldAllowOverridingIncludeContext() { - XmlOption config = new XmlOption.Builder() + XMLSerializerOption config = new XMLSerializerOption.Builder() .includeContext(true) .build(); assertTrue(config.includeContext(), "includeContext should be overridden to true"); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOptionTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptionsTest.java similarity index 86% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOptionTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptionsTest.java index f847596cf..03855e848 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGOptionTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerOptionsTest.java @@ -13,16 +13,16 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link TriGOption} class. + * Unit tests for the {@link TriGSerializerOptions} class. * These tests verify the default configuration settings and the functionality * of the builder pattern for customizing TriG serialization options. */ -class TriGOptionTest { +class TriGSerializerOptionsTest { @Test @DisplayName("defaultConfig() should return a config with expected TriG defaults") void defaultConfig_shouldReturnExpectedDefaults() { - TriGOption config = TriGOption.defaultConfig(); + TriGSerializerOptions config = TriGSerializerOptions.defaultConfig(); assertNotNull(config, "Default config should not be null"); @@ -60,7 +60,7 @@ void defaultConfig_shouldReturnExpectedDefaults() { @Test @DisplayName("Builder should allow overriding includeContext") void builder_shouldAllowOverridingIncludeContext() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .includeContext(false) .build(); assertFalse(config.includeContext(), "includeContext should be overridden to false"); @@ -69,7 +69,7 @@ void builder_shouldAllowOverridingIncludeContext() { @Test @DisplayName("Builder should allow overriding blankNodeStyle") void builder_shouldAllowOverridingBlankNodeStyle() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .blankNodeStyle(BlankNodeStyleEnum.ANONYMOUS) .build(); assertEquals(BlankNodeStyleEnum.ANONYMOUS, config.getBlankNodeStyle(), "blankNodeStyle should be overridden to ANONYMOUS"); @@ -78,7 +78,7 @@ void builder_shouldAllowOverridingBlankNodeStyle() { @Test @DisplayName("Builder should allow overriding useCollections") void builder_shouldAllowOverridingUseCollections() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .useCollections(true) .build(); assertTrue(config.useCollections(), "useCollections should be overridden to true"); @@ -89,7 +89,7 @@ void builder_shouldAllowOverridingUseCollections() { void builder_shouldAllowAddingCustomPrefixes() { String customPrefix = "my"; String customNamespace = "http://my.example.org/"; - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .addCustomPrefix(customPrefix, customNamespace) .build(); @@ -102,7 +102,7 @@ void builder_shouldAllowAddingCustomPrefixes() { @Test @DisplayName("Builder should allow overriding usePrefixes") void builder_shouldAllowOverridingUsePrefixes() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .usePrefixes(false) .build(); assertFalse(config.usePrefixes(), "usePrefixes should be overridden to false"); @@ -111,7 +111,7 @@ void builder_shouldAllowOverridingUsePrefixes() { @Test @DisplayName("Builder should allow overriding autoDeclarePrefixes") void builder_shouldAllowOverridingAutoDeclarePrefixes() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .autoDeclarePrefixes(false) .build(); assertFalse(config.autoDeclarePrefixes(), "autoDeclarePrefixes should be overridden to false"); @@ -120,7 +120,7 @@ void builder_shouldAllowOverridingAutoDeclarePrefixes() { @Test @DisplayName("Builder should allow overriding prefixOrdering") void builder_shouldAllowOverridingPrefixOrdering() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .prefixOrdering(PrefixOrderingEnum.USAGE_ORDER) .build(); assertEquals(PrefixOrderingEnum.USAGE_ORDER, config.getPrefixOrdering(), "prefixOrdering should be overridden to USAGE_ORDER"); @@ -129,7 +129,7 @@ void builder_shouldAllowOverridingPrefixOrdering() { @Test @DisplayName("Builder should allow overriding useCompactTriples") void builder_shouldAllowOverridingUseCompactTriples() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .useCompactTriples(false) .build(); assertFalse(config.useCompactTriples(), "useCompactTriples should be overridden to false"); @@ -138,7 +138,7 @@ void builder_shouldAllowOverridingUseCompactTriples() { @Test @DisplayName("Builder should allow overriding useRdfTypeShortcut") void builder_shouldAllowOverridingUseRdfTypeShortcut() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .useRdfTypeShortcut(false) .build(); assertFalse(config.useRdfTypeShortcut(), "useRdfTypeShortcut should be overridden to false"); @@ -147,7 +147,7 @@ void builder_shouldAllowOverridingUseRdfTypeShortcut() { @Test @DisplayName("Builder should allow overriding useMultilineLiterals") void builder_shouldAllowOverridingUseMultilineLiterals() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .useMultilineLiterals(false) .build(); assertFalse(config.useMultilineLiterals(), "useMultilineLiterals should be overridden to false"); @@ -156,7 +156,7 @@ void builder_shouldAllowOverridingUseMultilineLiterals() { @Test @DisplayName("Builder should allow overriding prettyPrint") void builder_shouldAllowOverridingPrettyPrint() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .prettyPrint(false) .build(); assertFalse(config.prettyPrint(), "prettyPrint should be overridden to false"); @@ -166,7 +166,7 @@ void builder_shouldAllowOverridingPrettyPrint() { @DisplayName("Builder should allow overriding indent") void builder_shouldAllowOverridingIndent() { String customIndent = "\t"; - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .indent(customIndent) .build(); assertEquals(customIndent, config.getIndent(), "indent should be overridden to custom value"); @@ -176,7 +176,7 @@ void builder_shouldAllowOverridingIndent() { @DisplayName("Builder should allow overriding maxLineLength") void builder_shouldAllowOverridingMaxLineLength() { int customLength = 120; - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .maxLineLength(customLength) .build(); assertEquals(customLength, config.getMaxLineLength(), "maxLineLength should be overridden to custom value"); @@ -185,7 +185,7 @@ void builder_shouldAllowOverridingMaxLineLength() { @Test @DisplayName("Builder should allow overriding groupBySubject") void builder_shouldAllowOverridingGroupBySubject() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .groupBySubject(false) .build(); assertFalse(config.groupBySubject(), "groupBySubject should be overridden to false"); @@ -194,7 +194,7 @@ void builder_shouldAllowOverridingGroupBySubject() { @Test @DisplayName("Builder should allow overriding sortSubjects") void builder_shouldAllowOverridingSortSubjects() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .sortSubjects(true) .build(); assertTrue(config.sortSubjects(), "sortSubjects should be overridden to true"); @@ -203,7 +203,7 @@ void builder_shouldAllowOverridingSortSubjects() { @Test @DisplayName("Builder should allow overriding sortPredicates") void builder_shouldAllowOverridingSortPredicates() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .sortPredicates(true) .build(); assertTrue(config.sortPredicates(), "sortPredicates should be overridden to true"); @@ -212,7 +212,7 @@ void builder_shouldAllowOverridingSortPredicates() { @Test @DisplayName("Builder should allow overriding strictMode") void builder_shouldAllowOverridingStrictMode() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .strictMode(false) .build(); assertFalse(config.isStrictMode(), "strictMode should be overridden to false"); @@ -222,7 +222,7 @@ void builder_shouldAllowOverridingStrictMode() { @Test @DisplayName("Builder should allow overriding literalDatatypePolicy") void builder_shouldAllowOverridingLiteralDatatypePolicy() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.ALWAYS_TYPED) .build(); assertEquals(LiteralDatatypePolicyEnum.ALWAYS_TYPED, config.getLiteralDatatypePolicy(), "literalDatatypePolicy should be overridden to ALWAYS_TYPED"); @@ -232,7 +232,7 @@ void builder_shouldAllowOverridingLiteralDatatypePolicy() { @DisplayName("Builder should allow setting baseIRI") void builder_shouldAllowSettingBaseIRI() { String testBaseIRI = "http://example.org/base/"; - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .baseIRI(testBaseIRI) .build(); assertEquals(testBaseIRI, config.getBaseIRI(), "baseIRI should be set correctly"); @@ -242,7 +242,7 @@ void builder_shouldAllowSettingBaseIRI() { @DisplayName("Builder should allow overriding lineEnding") void builder_shouldAllowOverridingLineEnding() { String customLineEnding = "\r\n"; - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .lineEnding(customLineEnding) .build(); assertEquals(customLineEnding, config.getLineEnding(), "lineEnding should be overridden to custom value"); @@ -251,7 +251,7 @@ void builder_shouldAllowOverridingLineEnding() { @Test @DisplayName("Builder should allow overriding validateURIs") void builder_shouldAllowOverridingValidateURIs() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .validateURIs(true) .build(); assertTrue(config.validateURIs(), "validateURIs should be overridden to true"); @@ -260,7 +260,7 @@ void builder_shouldAllowOverridingValidateURIs() { @Test @DisplayName("Builder should allow overriding stableBlankNodeIds") void builder_shouldAllowOverridingStableBlankNodeIds() { - TriGOption config = TriGOption.builder() + TriGSerializerOptions config = TriGSerializerOptions.builder() .stableBlankNodeIds(true) .build(); assertTrue(config.stableBlankNodeIds(), "stableBlankNodeIds should be overridden to true"); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerTest.java index 24e3bc138..ba0c206c1 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/trig/TriGSerializerTest.java @@ -27,13 +27,13 @@ class TriGSerializerTest { private Model mockModel; - private TriGOption defaultConfig; + private TriGSerializerOptions defaultConfig; private TestStatementFactory factory; @BeforeEach void setUp() { mockModel = mock(Model.class); - defaultConfig = TriGOption.defaultConfig(); + defaultConfig = TriGSerializerOptions.defaultConfig(); factory = new TestStatementFactory(); } @@ -155,7 +155,7 @@ void testLiteralWithLanguageTag() throws SerializationException, IOException { StringWriter writer = new StringWriter(); - TriGOption customConfig = new TriGOption.Builder() + TriGSerializerOptions customConfig = new TriGSerializerOptions.Builder() .strictMode(false) .build(); TriGSerializer triGSerializer = new TriGSerializer(mockModel, customConfig); @@ -205,7 +205,7 @@ void testLiteralWithExplicitXsdStringType() throws SerializationException, IOExc StringWriter writer = new StringWriter(); - TriGOption customConfig = new TriGOption.Builder() + TriGSerializerOptions customConfig = new TriGSerializerOptions.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.ALWAYS_TYPED) .build(); TriGSerializer triGSerializer = new TriGSerializer(mockModel, customConfig); @@ -255,7 +255,7 @@ void testBaseIRI() throws SerializationException, IOException { StringWriter writer = new StringWriter(); - TriGOption configWithBase = new TriGOption.Builder() + TriGSerializerOptions configWithBase = new TriGSerializerOptions.Builder() .baseIRI("http://example.org/base/") .build(); TriGSerializer triGSerializer = new TriGSerializer(mockModel, configWithBase); @@ -338,7 +338,7 @@ void testStrictModeInvalidLiteral() throws SerializationException { StringWriter writer = new StringWriter(); - TriGOption strictConfig = new TriGOption.Builder().strictMode(true).build(); + TriGSerializerOptions strictConfig = new TriGSerializerOptions.Builder().strictMode(true).build(); TriGSerializer triGSerializer = new TriGSerializer(mockModel, strictConfig); @@ -374,7 +374,7 @@ void testStrictModeInvalidIRICharacters() throws SerializationException { StringWriter writer = new StringWriter(); - TriGOption strictConfig = new TriGOption.Builder().strictMode(true).validateURIs(true).build(); + TriGSerializerOptions strictConfig = new TriGSerializerOptions.Builder().strictMode(true).validateURIs(true).build(); TriGSerializer triGSerializer = new TriGSerializer(mockModel, strictConfig); @@ -411,7 +411,7 @@ void testMultilineLiteralSerialization() throws SerializationException, IOExcept .thenReturn(Stream.of(mockStatement)); StringWriter writer = new StringWriter(); - TriGOption customConfig = new TriGOption.Builder() + TriGSerializerOptions customConfig = new TriGSerializerOptions.Builder() .useMultilineLiterals(true) .prettyPrint(true) .build(); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOptionTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptionsTest.java similarity index 85% rename from src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOptionTest.java rename to src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptionsTest.java index f1443fe8b..ce554d6ba 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleOptionTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerOptionsTest.java @@ -13,16 +13,16 @@ import static org.junit.jupiter.api.Assertions.*; /** - * Unit tests for the {@link TurtleOption} class. + * Unit tests for the {@link TurtleSerializerOptions} class. * These tests verify the default configuration settings and the functionality * of the builder pattern for customizing Turtle serialization options. */ -class TurtleOptionTest { +class TurtleSerializerOptionsTest { @Test @DisplayName("defaultConfig() should return a config with expected Turtle defaults") void defaultConfig_shouldReturnExpectedDefaults() { - TurtleOption config = TurtleOption.defaultConfig(); + TurtleSerializerOptions config = TurtleSerializerOptions.defaultConfig(); assertNotNull(config, "Default config should not be null"); @@ -61,7 +61,7 @@ void defaultConfig_shouldReturnExpectedDefaults() { @Test @DisplayName("Builder should allow overriding useCollections") void builder_shouldAllowOverridingUseCollections() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .useCollections(false) .build(); assertFalse(config.useCollections(), "useCollections should be overridden to false"); @@ -70,7 +70,7 @@ void builder_shouldAllowOverridingUseCollections() { @Test @DisplayName("Builder should allow overriding blankNodeStyle") void builder_shouldAllowOverridingBlankNodeStyle() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .blankNodeStyle(BlankNodeStyleEnum.NAMED) .build(); assertEquals(BlankNodeStyleEnum.NAMED, config.getBlankNodeStyle(), "blankNodeStyle should be overridden to NAMED"); @@ -81,7 +81,7 @@ void builder_shouldAllowOverridingBlankNodeStyle() { void builder_shouldAllowAddingCustomPrefixes() { String customPrefix = "my"; String customNamespace = "http://my.example.org/"; - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .addCustomPrefix(customPrefix, customNamespace) .build(); @@ -94,7 +94,7 @@ void builder_shouldAllowAddingCustomPrefixes() { @Test @DisplayName("Builder should allow overriding usePrefixes") void builder_shouldAllowOverridingUsePrefixes() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .usePrefixes(false) .build(); assertFalse(config.usePrefixes(), "usePrefixes should be overridden to false"); @@ -103,7 +103,7 @@ void builder_shouldAllowOverridingUsePrefixes() { @Test @DisplayName("Builder should allow overriding autoDeclarePrefixes") void builder_shouldAllowOverridingAutoDeclarePrefixes() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .autoDeclarePrefixes(false) .build(); assertFalse(config.autoDeclarePrefixes(), "autoDeclarePrefixes should be overridden to false"); @@ -112,7 +112,7 @@ void builder_shouldAllowOverridingAutoDeclarePrefixes() { @Test @DisplayName("Builder should allow overriding prefixOrdering") void builder_shouldAllowOverridingPrefixOrdering() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .prefixOrdering(PrefixOrderingEnum.USAGE_ORDER) .build(); assertEquals(PrefixOrderingEnum.USAGE_ORDER, config.getPrefixOrdering(), "prefixOrdering should be overridden to USAGE_ORDER"); @@ -121,7 +121,7 @@ void builder_shouldAllowOverridingPrefixOrdering() { @Test @DisplayName("Builder should allow overriding useCompactTriples") void builder_shouldAllowOverridingUseCompactTriples() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .useCompactTriples(false) .build(); assertFalse(config.useCompactTriples(), "useCompactTriples should be overridden to false"); @@ -130,7 +130,7 @@ void builder_shouldAllowOverridingUseCompactTriples() { @Test @DisplayName("Builder should allow overriding useRdfTypeShortcut") void builder_shouldAllowOverridingUseRdfTypeShortcut() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .useRdfTypeShortcut(false) .build(); assertFalse(config.useRdfTypeShortcut(), "useRdfTypeShortcut should be overridden to false"); @@ -139,7 +139,7 @@ void builder_shouldAllowOverridingUseRdfTypeShortcut() { @Test @DisplayName("Builder should allow overriding useMultilineLiterals") void builder_shouldAllowOverridingUseMultilineLiterals() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .useMultilineLiterals(false) .build(); assertFalse(config.useMultilineLiterals(), "useMultilineLiterals should be overridden to false"); @@ -148,7 +148,7 @@ void builder_shouldAllowOverridingUseMultilineLiterals() { @Test @DisplayName("Builder should allow overriding prettyPrint") void builder_shouldAllowOverridingPrettyPrint() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .prettyPrint(false) .build(); assertFalse(config.prettyPrint(), "prettyPrint should be overridden to false"); @@ -158,7 +158,7 @@ void builder_shouldAllowOverridingPrettyPrint() { @DisplayName("Builder should allow overriding indent") void builder_shouldAllowOverridingIndent() { String customIndent = "\t"; - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .indent(customIndent) .build(); assertEquals(customIndent, config.getIndent(), "indent should be overridden to custom value"); @@ -168,7 +168,7 @@ void builder_shouldAllowOverridingIndent() { @DisplayName("Builder should allow overriding maxLineLength") void builder_shouldAllowOverridingMaxLineLength() { int customLength = 120; - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .maxLineLength(customLength) .build(); assertEquals(customLength, config.getMaxLineLength(), "maxLineLength should be overridden to custom value"); @@ -177,7 +177,7 @@ void builder_shouldAllowOverridingMaxLineLength() { @Test @DisplayName("Builder should allow overriding groupBySubject") void builder_shouldAllowOverridingGroupBySubject() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .groupBySubject(false) .build(); assertFalse(config.groupBySubject(), "groupBySubject should be overridden to false"); @@ -186,7 +186,7 @@ void builder_shouldAllowOverridingGroupBySubject() { @Test @DisplayName("Builder should allow overriding sortSubjects") void builder_shouldAllowOverridingSortSubjects() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .sortSubjects(true) .build(); assertTrue(config.sortSubjects(), "sortSubjects should be overridden to true"); @@ -195,7 +195,7 @@ void builder_shouldAllowOverridingSortSubjects() { @Test @DisplayName("Builder should allow overriding sortPredicates") void builder_shouldAllowOverridingSortPredicates() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .sortPredicates(true) .build(); assertTrue(config.sortPredicates(), "sortPredicates should be overridden to true"); @@ -204,7 +204,7 @@ void builder_shouldAllowOverridingSortPredicates() { @Test @DisplayName("Builder should allow overriding strictMode") void builder_shouldAllowOverridingStrictMode() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .strictMode(false) .build(); assertFalse(config.isStrictMode(), "strictMode should be overridden to false"); @@ -214,7 +214,7 @@ void builder_shouldAllowOverridingStrictMode() { @Test @DisplayName("Builder should allow overriding literalDatatypePolicy") void builder_shouldAllowOverridingLiteralDatatypePolicy() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.ALWAYS_TYPED) .build(); assertEquals(LiteralDatatypePolicyEnum.ALWAYS_TYPED, config.getLiteralDatatypePolicy(), "literalDatatypePolicy should be overridden to ALWAYS_TYPED"); @@ -224,7 +224,7 @@ void builder_shouldAllowOverridingLiteralDatatypePolicy() { @DisplayName("Builder should allow setting baseIRI") void builder_shouldAllowSettingBaseIRI() { String testBaseIRI = "http://example.org/base/"; - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .baseIRI(testBaseIRI) .build(); assertEquals(testBaseIRI, config.getBaseIRI(), "baseIRI should be set correctly"); @@ -234,7 +234,7 @@ void builder_shouldAllowSettingBaseIRI() { @DisplayName("Builder should allow overriding lineEnding") void builder_shouldAllowOverridingLineEnding() { String customLineEnding = "\r\n"; - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .lineEnding(customLineEnding) .build(); assertEquals(customLineEnding, config.getLineEnding(), "lineEnding should be overridden to custom value"); @@ -243,7 +243,7 @@ void builder_shouldAllowOverridingLineEnding() { @Test @DisplayName("Builder should allow overriding validateURIs") void builder_shouldAllowOverridingValidateURIs() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .validateURIs(true) .build(); assertTrue(config.validateURIs(), "validateURIs should be overridden to true"); @@ -252,7 +252,7 @@ void builder_shouldAllowOverridingValidateURIs() { @Test @DisplayName("Builder should allow overriding stableBlankNodeIds") void builder_shouldAllowOverridingStableBlankNodeIds() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .stableBlankNodeIds(true) .build(); assertTrue(config.stableBlankNodeIds(), "stableBlankNodeIds should be overridden to true"); @@ -261,7 +261,7 @@ void builder_shouldAllowOverridingStableBlankNodeIds() { @Test @DisplayName("Builder should allow overriding includeContext") void builder_shouldAllowOverridingIncludeContext() { - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .includeContext(true) .build(); assertTrue(config.includeContext(), "includeContext should be overridden to true"); diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerTest.java index b2a606f17..dd16ec354 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/serialization/turtle/TurtleSerializerTest.java @@ -1,6 +1,5 @@ package fr.inria.corese.core.next.impl.io.serialization.turtle; -import fr.inria.corese.core.next.api.*; import fr.inria.corese.core.next.api.*; import fr.inria.corese.core.next.api.io.serialization.SerializerFactory; import fr.inria.corese.core.next.impl.common.literal.RDF; @@ -34,13 +33,13 @@ class TurtleSerializerTest { private Model mockModel; - private TurtleOption defaultConfig; + private TurtleSerializerOptions defaultConfig; private TestStatementFactory factory; @BeforeEach void setUp() { mockModel = mock(Model.class); - defaultConfig = TurtleOption.defaultConfig(); + defaultConfig = TurtleSerializerOptions.defaultConfig(); factory = new TestStatementFactory(); } @@ -157,7 +156,7 @@ void testLiteralWithLanguageTag() throws SerializationException, IOException { StringWriter writer = new StringWriter(); - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.MINIMAL) .useRdfTypeShortcut(true) .useCollections(true) @@ -218,7 +217,7 @@ void testLiteralWithExplicitXsdStringType() throws SerializationException, IOExc StringWriter writer = new StringWriter(); - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .literalDatatypePolicy(LiteralDatatypePolicyEnum.ALWAYS_TYPED) .usePrefixes(true) .autoDeclarePrefixes(true) @@ -317,14 +316,14 @@ void testBlankNodeSerializarionWithoutId() { ValueFactory valueFactory; SerializerFactory serializerFactory; ParserFactory parserFactory; - TurtleOption defaultConfig; + TurtleSerializerOptions defaultConfig; String EXAMPLE_NS = "http://example.org/"; String PREDICATE_KNOWS = EXAMPLE_NS + "knows"; valueFactory = new CoreseAdaptedValueFactory(); serializerFactory = new DefaultSerializerFactory(); parserFactory = new ParserFactory(); - defaultConfig = TurtleOption.defaultConfig(); + defaultConfig = TurtleSerializerOptions.defaultConfig(); Model model = new CoreseModel(); @@ -396,7 +395,7 @@ void testBaseIRI() throws SerializationException, IOException { StringWriter writer = new StringWriter(); - TurtleOption configWithBase = new TurtleOption.Builder() + TurtleSerializerOptions configWithBase = new TurtleSerializerOptions.Builder() .baseIRI("http://example.org/base/") .usePrefixes(true) .autoDeclarePrefixes(true) @@ -480,7 +479,7 @@ void testStrictModeInvalidLiteral() throws SerializationException { StringWriter writer = new StringWriter(); - TurtleOption strictConfig = new TurtleOption.Builder().strictMode(true).build(); + TurtleSerializerOptions strictConfig = new TurtleSerializerOptions.Builder().strictMode(true).build(); TurtleSerializer turtleSerializer = new TurtleSerializer(mockModel, strictConfig); @@ -516,7 +515,7 @@ void testStrictModeInvalidIRICharacters() throws SerializationException { StringWriter writer = new StringWriter(); - TurtleOption strictConfig = new TurtleOption.Builder().strictMode(true).validateURIs(true).build(); + TurtleSerializerOptions strictConfig = new TurtleSerializerOptions.Builder().strictMode(true).validateURIs(true).build(); TurtleSerializer turtleSerializer = new TurtleSerializer(mockModel, strictConfig); @@ -552,7 +551,7 @@ void testMultilineLiteralSerialization() throws SerializationException, IOExcept .thenReturn(Stream.of(mockStatement)); StringWriter writer = new StringWriter(); - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .useMultilineLiterals(true) .prettyPrint(true) .autoDeclarePrefixes(true) @@ -596,7 +595,7 @@ void testEscapedCharacterLiteralSerialization() throws SerializationException, I coreseModel.add(statement); StringWriter writer = new StringWriter(); - TurtleOption config = new TurtleOption.Builder() + TurtleSerializerOptions config = new TurtleSerializerOptions.Builder() .autoDeclarePrefixes(false) .includeContext(false) .prettyPrint(false) From 2a9a5d68067f74d83578742b9b4ec17538975c0f Mon Sep 17 00:00:00 2001 From: Pierre Maillot Date: Thu, 30 Oct 2025 15:17:54 +0100 Subject: [PATCH 2/4] Fixing some null value handling --- .../impl/io/option/JSONLDProcessorOptions.java | 4 ++++ .../io/parser/jsonld/JSONLDParserTest.java | 3 ++- .../io/parser/turtle/TurtleParserTest.java | 18 +++++++++--------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java index 18b9c237c..c8f4a640b 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/option/JSONLDProcessorOptions.java @@ -9,6 +9,7 @@ import fr.inria.corese.core.next.api.IRI; import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; +import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; /** * Wrapper around the JsonLdOptions class for the Titanium JSONLD parser and @@ -133,6 +134,9 @@ public JsonLdOptions getJsonLdOptions() { @Override public String getBaseIRI() { + if(this.builder.options.getBase() == null) { + return ParserConstants.getDefaultBaseURI(); + } return this.builder.options.getBase().toString(); } diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParserTest.java index dacc2701e..3662a2146 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/jsonld/JSONLDParserTest.java @@ -9,6 +9,7 @@ import java.io.Reader; import java.io.StringReader; +import fr.inria.corese.core.next.impl.io.option.JSONLDProcessorOptions; import org.junit.jupiter.api.Test; import fr.inria.corese.core.next.api.BNode; @@ -46,7 +47,7 @@ void constructorNullModelAndValueFactoryThrowsTest() { @Test void constructorConfigNoThrowsTest() { - assertDoesNotThrow(() -> new JSONLDParser(new CoreseModel(), valueFactory, null)); + assertDoesNotThrow(() -> new JSONLDParser(new CoreseModel(), valueFactory, new JSONLDProcessorOptions.Builder().build())); } @Test diff --git a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java index 50da6760d..43a7243d2 100644 --- a/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java +++ b/src/test/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserTest.java @@ -6,6 +6,8 @@ import fr.inria.corese.core.next.impl.temp.CoreseAdaptedValueFactory; import fr.inria.corese.core.next.impl.temp.CoreseModel; import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.StringReader; @@ -18,22 +20,20 @@ * and unescaping of IRIs and literals, and named graphs. */ public class TurtleParserTest { - private Model parseFromString(String turtleData, String baseURI) throws Exception { - Model model = new CoreseModel(); - ValueFactory factory = new CoreseAdaptedValueFactory(); - RDFParser parser = new TurtleParser(model, factory); - parser.parse(new StringReader(turtleData), baseURI); - return model; - } + + private static final Logger logger = LoggerFactory.getLogger(TurtleListener.class); @Test public void testParseWithPrefixAndTriple() throws Exception { String turtle = " @prefix ex: . " + "ex:Alice ex:knows ex:Bob ."; - Model model = parseFromString(turtle, null); + Model model = new CoreseModel(); + ValueFactory factory = new CoreseAdaptedValueFactory(); + RDFParser parser = new TurtleParser(model, factory, new TurtleParserOptions.Builder().baseIRI("http://inria.fr/").build()); + parser.parse(new StringReader(turtle)); assertEquals(1, model.size()); - assertEquals(1, model.getNamespaces().size()); + assertEquals(2, model.getNamespaces().size()); // Should contains ex: and the relative base uri : } } From 3f3226f624562d68bb005f807af0ffc53e92b74f Mon Sep 17 00:00:00 2001 From: Pierre Maillot Date: Fri, 31 Oct 2025 12:05:50 +0100 Subject: [PATCH 3/4] Putting comment where comment is due --- .../core/next/impl/io/parser/nquads/NQuadsParser.java | 4 ++-- .../core/next/impl/io/parser/ntriples/NTriplesParser.java | 4 ++-- .../next/impl/io/parser/rdfxml/RDFXMLParserOptions.java | 8 ++++++++ .../core/next/impl/io/parser/trig/TriGParserOptions.java | 8 ++++++++ .../core/next/impl/io/parser/turtle/TurtleParser.java | 6 +++--- .../next/impl/io/parser/turtle/TurtleParserOptions.java | 8 ++++++++ 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java index cd0ae1f69..3039bec26 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java @@ -26,7 +26,7 @@ public class NQuadsParser extends AbstractRDFParser { /** - * Constructor for the ANTLRNQuadsParser. + * Constructor for the NQuadsParser. Will generate a * * @param model The RDF model to populate. * @param factory The ValueFactory for creating RDF resources. @@ -36,7 +36,7 @@ public NQuadsParser(Model model, ValueFactory factory) { } /** - * Constructor for the ANTLRNQuadsParser with configuration options. + * Constructor for the NQuadsParser with configuration options. * * @param model The RDF model to populate. * @param factory The ValueFactory for creating RDF resources. diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java index de143b874..18d328e64 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java @@ -34,7 +34,7 @@ public class NTriplesParser extends AbstractRDFParser { /** - * Constructor for the ANTLRNTriplesParser. + * Constructor for the NTriplesParser. * * @param model The RDF model to populate. * @param factory The value factory for creating RDF resources. @@ -44,7 +44,7 @@ public NTriplesParser(Model model, ValueFactory factory) { } /** - * Constructor for the ANTLRNTriplesParser with configuration options. + * Constructor for the NTriplesParser with configuration options. * * @param model The RDF model to populate. * @param factory The value factory for creating RDF resources. diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java index 3583b22ef..bfc4cd8f7 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParserOptions.java @@ -4,6 +4,9 @@ import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; +/** + * Configuration class for the parsing of RDF/XML documents + */ public class RDFXMLParserOptions extends AbstractIOOptions implements BaseIRIOptions { private final RDFXMLParserOptions.Builder builder; @@ -28,6 +31,11 @@ public RDFXMLParserOptions build() { return new RDFXMLParserOptions(this); } + /** + * Set the base IRI used for relative IRI processing + * @param baseIRI An IRI + * @return this + */ public Builder baseIRI(String baseIRI) { this.baseIRI = baseIRI; return this; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java index b0a4044d2..f43dbff4b 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGParserOptions.java @@ -4,6 +4,9 @@ import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; +/** + * Configuration class for the parsing of TriG documents + */ public class TriGParserOptions extends AbstractIOOptions implements BaseIRIOptions { private final TriGParserOptions.Builder builder; @@ -28,6 +31,11 @@ public TriGParserOptions build() { return new TriGParserOptions(this); } + /** + * Set the base IRI used for relative IRI processing + * @param baseIRI An IRI + * @return this + */ public TriGParserOptions.Builder baseIRI(String baseIRI) { this.baseIRI = baseIRI; return this; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java index 513f85673..9087863a1 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParser.java @@ -26,7 +26,7 @@ public class TurtleParser extends AbstractRDFParser { /** - * Constructor for ANTLRTurtleParser that initializes the model and value + * Constructor for TurtleParser that initializes the model and value * factory. * * @param model the model to be populated by the parser @@ -37,12 +37,12 @@ public TurtleParser(Model model, ValueFactory factory) { } /** - * Constructor for ANTLRTurtleParser that initializes the model, value factory, + * Constructor for TurtleParser that initializes the model, value factory, * and configuration options. * * @param model the model to be populated by the parser * @param factory the value factory used to create RDF values - * @param config optional configuration options for the parser + * @param config configuration object for the parser */ public TurtleParser(Model model, ValueFactory factory, IOOptions config) { super(model, factory, config); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java index a9db33c44..7b013d589 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleParserOptions.java @@ -4,6 +4,9 @@ import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.io.parser.util.ParserConstants; +/** + * Configuration class for the parsing of Turtle documents + */ public class TurtleParserOptions extends AbstractIOOptions implements BaseIRIOptions { private final TurtleParserOptions.Builder builder; @@ -28,6 +31,11 @@ public TurtleParserOptions build() { return new TurtleParserOptions(this); } + /** + * Set the base IRI used for relative IRI processing + * @param baseIRI An IRI + * @return this + */ public TurtleParserOptions.Builder baseIRI(String baseIRI) { this.baseIRI = baseIRI; return this; From 70d17e7280604266ebdc43afd8f06c9c5304c902 Mon Sep 17 00:00:00 2001 From: Pierre Maillot Date: Fri, 31 Oct 2025 12:19:19 +0100 Subject: [PATCH 4/4] instanceof pattern, import cleaning and minor fixes --- .../core/next/api/base/io/parser/AbstractRDFParser.java | 8 ++++---- .../core/next/impl/io/parser/nquads/NQuadsParser.java | 1 - .../next/impl/io/parser/nquads/NQuadsParserOptions.java | 6 ++---- .../core/next/impl/io/parser/ntriples/NTriplesParser.java | 1 - .../impl/io/parser/ntriples/NTriplesParserOptions.java | 6 ++---- .../core/next/impl/io/parser/rdfxml/RDFXMLParser.java | 1 - .../core/next/impl/io/parser/trig/TriGListerner.java | 3 +-- .../core/next/impl/io/parser/turtle/TurtleListener.java | 3 +-- .../impl/io/serialization/canonical/RDFC10Serializer.java | 7 ++----- 9 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java b/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java index 33a28f72b..a7670372a 100644 --- a/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java +++ b/src/main/java/fr/inria/corese/core/next/api/base/io/parser/AbstractRDFParser.java @@ -71,8 +71,8 @@ protected AbstractRDFParser(Model model, ValueFactory factory, IOOptions config) @Override public void parse(InputStream in) { - if(getConfig() instanceof BaseIRIOptions) { - String baseIRI = ((BaseIRIOptions) getConfig()).getBaseIRI(); + if(getConfig() instanceof BaseIRIOptions baseIRIOptions) { + String baseIRI = baseIRIOptions.getBaseIRI(); parse(new InputStreamReader(in, StandardCharsets.UTF_8), baseIRI); } else { parse(new InputStreamReader(in, StandardCharsets.UTF_8), null); @@ -81,8 +81,8 @@ public void parse(InputStream in) { @Override public void parse(Reader reader) { - if(getConfig() instanceof BaseIRIOptions) { - String baseIRI = ((BaseIRIOptions) getConfig()).getBaseIRI(); + if(getConfig() instanceof BaseIRIOptions baseIRIOptions) { + String baseIRI = baseIRIOptions.getBaseIRI(); parse(reader, baseIRI); } else { parse(reader, null); diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java index 3039bec26..bb202d062 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParser.java @@ -2,7 +2,6 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.ValueFactory; -import fr.inria.corese.core.next.api.base.io.AbstractIOOptions; import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java index 0d69e1316..a83b657aa 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/nquads/NQuadsParserOptions.java @@ -7,17 +7,15 @@ */ public class NQuadsParserOptions extends AbstractIOOptions { - private final NQuadsParserOptions.Builder builder; - protected NQuadsParserOptions(NQuadsParserOptions.Builder builder) { - this.builder = builder; + protected NQuadsParserOptions() { } public static class Builder extends AbstractIOOptions.Builder { @Override public NQuadsParserOptions build() { - return new NQuadsParserOptions(this); + return new NQuadsParserOptions(); } } } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java index 18d328e64..e90895fd9 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParser.java @@ -5,7 +5,6 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; -import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.parser.antlr.NTriplesLexer; import org.antlr.v4.runtime.CharStream; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java index e1149da6c..8fd03dd38 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/ntriples/NTriplesParserOptions.java @@ -7,17 +7,15 @@ */ public class NTriplesParserOptions extends AbstractIOOptions { - private final NTriplesParserOptions.Builder builder; + protected NTriplesParserOptions() { - protected NTriplesParserOptions(NTriplesParserOptions.Builder builder) { - this.builder = builder; } public static class Builder extends AbstractIOOptions.Builder { @Override public NTriplesParserOptions build() { - return new NTriplesParserOptions(this); + return new NTriplesParserOptions(); } } } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java index f98cb2f1b..5ff514a29 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/rdfxml/RDFXMLParser.java @@ -4,7 +4,6 @@ import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.api.base.io.parser.AbstractRDFParser; import fr.inria.corese.core.next.api.io.IOOptions; -import fr.inria.corese.core.next.api.io.common.BaseIRIOptions; import fr.inria.corese.core.next.impl.common.vocabulary.RDF; import fr.inria.corese.core.next.impl.exception.ParsingErrorException; import fr.inria.corese.core.next.impl.io.parser.rdfxml.context.RDFXMLContext; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java index ef74b4287..83dcfc7d0 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/trig/TriGListerner.java @@ -44,8 +44,7 @@ public TriGListerner(Model model, ValueFactory factory, IOOptions options, Strin */ public TriGListerner(Model model, ValueFactory factory, IOOptions options) { String baseURI; - if (options instanceof BaseIRIOptions) { - BaseIRIOptions baseIRIOptions = (BaseIRIOptions) options; + if (options instanceof BaseIRIOptions baseIRIOptions) { baseURI = baseIRIOptions.getBaseIRI() != null ? baseIRIOptions.getBaseIRI() : ParserConstants.EMPTY_STRING; } else { baseURI = ParserConstants.EMPTY_STRING; diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java index 16f3aee0b..95365e16c 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/parser/turtle/TurtleListener.java @@ -31,8 +31,7 @@ public class TurtleListener extends TurtleBaseListener { public TurtleListener(Model model, ValueFactory factory, IOOptions options) { String baseURI = null; - if (options instanceof BaseIRIOptions) { - BaseIRIOptions baseIRIOptions = (BaseIRIOptions) options; + if (options instanceof BaseIRIOptions baseIRIOptions) { baseURI = baseIRIOptions.getBaseIRI(); } diff --git a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java index 77845cd8e..6ec01ad27 100644 --- a/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java +++ b/src/main/java/fr/inria/corese/core/next/impl/io/serialization/canonical/RDFC10Serializer.java @@ -3,6 +3,7 @@ import fr.inria.corese.core.next.api.Model; import fr.inria.corese.core.next.api.Resource; import fr.inria.corese.core.next.api.Statement; +import fr.inria.corese.core.next.api.base.io.RDFFormat; import fr.inria.corese.core.next.impl.exception.SerializationException; import fr.inria.corese.core.next.impl.io.serialization.base.AbstractLineBasedSerializer; import fr.inria.corese.core.next.impl.io.serialization.util.SerializationConstants; @@ -24,9 +25,7 @@ */ public class RDFC10Serializer extends AbstractLineBasedSerializer { - private final RDFC10Options config; private final RDFC10Canonicalizer canonicalizer; - private final Model model; /** * Constructs a new CanonicalSerializer. @@ -38,14 +37,12 @@ public class RDFC10Serializer extends AbstractLineBasedSerializer { */ public RDFC10Serializer(Model model, RDFC10Options config, RDFC10Canonicalizer canonicalizer) { super(model, config); - this.model = Objects.requireNonNull(model); - this.config = Objects.requireNonNull(config); this.canonicalizer = Objects.requireNonNull(canonicalizer); } @Override public String getFormatName() { - return "RDFC-1.0"; + return RDFFormat.RDFC_1_0.getName(); } /**