From 8dbf91c73ee0d733b0955f4c850aea7bf01e4aa6 Mon Sep 17 00:00:00 2001 From: Aaron Coburn Date: Fri, 29 Aug 2025 14:57:30 -0500 Subject: [PATCH 1/2] JCL-476: Set Java 17 as minimum support version --- .github/workflows/ci-config.yml | 2 +- README.md | 2 +- access-grant/pom.xml | 4 - api/pom.xml | 4 - bom/pom.xml | 5 - core/pom.xml | 4 - examples/cli/pom.xml | 2 - examples/pom.xml | 22 +- examples/spring-web/pom.xml | 1 - examples/springboot/pom.xml | 1 - examples/webapp/pom.xml | 2 - okhttp/pom.xml | 4 - openid/pom.xml | 4 - parser/pom.xml | 4 - pom.xml | 36 +-- rdf-legacy/pom.xml | 215 ------------------ .../client/rdf/legacy/RDFLegacyService.java | 122 ---------- .../client/rdf/legacy/package-info.java | 24 -- .../services/com.inrupt.client.spi.RdfService | 1 - rdf-legacy/src/site/resources/css/site.css | 22 -- .../resources/images/inrupt_logo-2020.svg | 1 - rdf-legacy/src/site/site.xml | 14 -- .../client/rdf/legacy/RDF4JTestModel.java | 52 ----- .../rdf/legacy/RDFLegacyServiceTest.java | 213 ----------------- .../src/test/resources/relativeURIs.ttl | 7 - .../test/resources/simplelogger.properties | 1 - rdf4j/pom.xml | 1 - reports/pom.xml | 5 - solid/pom.xml | 4 - spring/pom.xml | 12 - uma/pom.xml | 4 - 31 files changed, 14 insertions(+), 781 deletions(-) delete mode 100644 rdf-legacy/pom.xml delete mode 100644 rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/RDFLegacyService.java delete mode 100644 rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/package-info.java delete mode 100644 rdf-legacy/src/main/resources/META-INF/services/com.inrupt.client.spi.RdfService delete mode 100644 rdf-legacy/src/site/resources/css/site.css delete mode 100644 rdf-legacy/src/site/resources/images/inrupt_logo-2020.svg delete mode 100644 rdf-legacy/src/site/site.xml delete mode 100644 rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDF4JTestModel.java delete mode 100644 rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDFLegacyServiceTest.java delete mode 100644 rdf-legacy/src/test/resources/relativeURIs.ttl delete mode 100644 rdf-legacy/src/test/resources/simplelogger.properties diff --git a/.github/workflows/ci-config.yml b/.github/workflows/ci-config.yml index d75d5219a6b..c605968ec9c 100644 --- a/.github/workflows/ci-config.yml +++ b/.github/workflows/ci-config.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 11, 17, 21 ] + java: [ 17, 21 ] fail-fast: false steps: diff --git a/README.md b/README.md index e4400febcd8..9fe376d3ac5 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ After cloning the repository locally you can work with the code as follows: ### Code build -The project can be built with Maven and a Java 11+ build environment. +The project can be built with Maven and a Java 17+ build environment. ```bash ./mvnw install diff --git a/access-grant/pom.xml b/access-grant/pom.xml index 6c115115d7f..044a3db370e 100644 --- a/access-grant/pom.xml +++ b/access-grant/pom.xml @@ -13,10 +13,6 @@ Access Grant support for the Inrupt Client Libraries. - - 8 - - com.inrupt.client diff --git a/api/pom.xml b/api/pom.xml index 1ff147b79cb..b203e9deafa 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -13,10 +13,6 @@ The Application Programming Interfaces for the Inrupt Java Client Libraries. - - 8 - - commons-io diff --git a/bom/pom.xml b/bom/pom.xml index db5e4d53ade..40e32442a73 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -88,11 +88,6 @@ inrupt-client-rdf4j ${project.version} - - com.inrupt.client - inrupt-client-rdf-legacy - ${project.version} - com.inrupt.client inrupt-client-runtime diff --git a/core/pom.xml b/core/pom.xml index 11d33375233..58b5755b143 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -13,10 +13,6 @@ Core Classes and Utilities for the Inrupt Java Client Libraries. - - 8 - - diff --git a/examples/cli/pom.xml b/examples/cli/pom.xml index e08f1d6f1a3..48c444761e4 100644 --- a/examples/cli/pom.xml +++ b/examples/cli/pom.xml @@ -16,8 +16,6 @@ - 17 - 3.24.3 diff --git a/examples/pom.xml b/examples/pom.xml index 32f9f0ebee3..50de44944f7 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -14,6 +14,13 @@ pom + + cli + springboot + spring-web + webapp + + @@ -40,19 +47,4 @@ - - - - java-17 - - [17,) - - - cli - springboot - spring-web - webapp - - - diff --git a/examples/spring-web/pom.xml b/examples/spring-web/pom.xml index e0515da5bd0..924092e32c7 100644 --- a/examples/spring-web/pom.xml +++ b/examples/spring-web/pom.xml @@ -16,7 +16,6 @@ - 17 3.5.4 diff --git a/examples/springboot/pom.xml b/examples/springboot/pom.xml index c4174970d9a..06fc2df65c0 100644 --- a/examples/springboot/pom.xml +++ b/examples/springboot/pom.xml @@ -16,7 +16,6 @@ - 17 3.5.4 diff --git a/examples/webapp/pom.xml b/examples/webapp/pom.xml index d141d35ef8b..183d0dec735 100644 --- a/examples/webapp/pom.xml +++ b/examples/webapp/pom.xml @@ -16,8 +16,6 @@ - 17 - 3.24.3 diff --git a/okhttp/pom.xml b/okhttp/pom.xml index e7ee07bbb01..589466375dc 100644 --- a/okhttp/pom.xml +++ b/okhttp/pom.xml @@ -13,10 +13,6 @@ The OkHttp bindings for the Inrupt Java Client Libraries. - - 8 - - com.inrupt.client diff --git a/openid/pom.xml b/openid/pom.xml index c55318257e2..9f034d5c109 100644 --- a/openid/pom.xml +++ b/openid/pom.xml @@ -13,10 +13,6 @@ An OpenID library for the Inrupt Java Client Libraries. - - 8 - - com.inrupt.client diff --git a/parser/pom.xml b/parser/pom.xml index 0d6b236f7fc..87ed18d71d3 100644 --- a/parser/pom.xml +++ b/parser/pom.xml @@ -13,10 +13,6 @@ Parsing utilities for the Inrupt Java Client Libraries. - - 8 - - org.antlr diff --git a/pom.xml b/pom.xml index 4e07a3d03c3..5430dcd8706 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ true - 11 + 17 UTF-8 UTF-8 @@ -34,8 +34,7 @@ 5.1.0 3.24.3 2.0.17 - - 5.8.14 + 6.5.3 0.6.0 1.1.1 @@ -110,18 +109,19 @@ okhttp openid parser + quarkus rdf4j - rdf-legacy solid + spring test uma webid vocabulary runtime - spring integration performance archetypes + reports @@ -769,26 +769,6 @@ - - java-11 - - 11 - - - 4.10.0 - 3.10.2 - - - - java-17 - - [17,) - - - quarkus - reports - - publish @@ -850,12 +830,6 @@ true - - java-21 - - [11,21) - - diff --git a/rdf-legacy/pom.xml b/rdf-legacy/pom.xml deleted file mode 100644 index c37d7ebaade..00000000000 --- a/rdf-legacy/pom.xml +++ /dev/null @@ -1,215 +0,0 @@ - - - 4.0.0 - - com.inrupt.client - inrupt-client - 1.4.0-SNAPSHOT - - - inrupt-client-rdf-legacy - Inrupt Java Client Libraries - Java 8 RDF Support - - Java 8 RDF support for the Inrupt Java Client Libraries. - - - - 8 - - - 1.14.0 - - 3.7.7 - - - - - - org.junit - junit-bom - ${junit.version} - pom - import - - - - com.fasterxml.jackson - jackson-bom - ${jackson.version} - pom - import - - - - org.eclipse.rdf4j - rdf4j-bom - ${legacy.rdf4j.version} - pom - import - - - - commons-io - commons-io - ${commons.io.version} - - - - - - - com.inrupt.client - inrupt-client-api - ${project.version} - - - com.inrupt.rdf - inrupt-commons-rdf4j - ${inrupt.commons.rdf4j.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.eclipse.rdf4j - rdf4j-rio-api - - - org.eclipse.rdf4j - rdf4j-model - - - org.eclipse.rdf4j - rdf4j-query - - - org.eclipse.rdf4j - rdf4j-repository-api - - - org.eclipse.rdf4j - rdf4j-repository-sparql - - - org.eclipse.rdf4j - rdf4j-rio-turtle - - - org.eclipse.rdf4j - rdf4j-rio-trig - - - org.eclipse.rdf4j - rdf4j-rio-ntriples - - - org.eclipse.rdf4j - rdf4j-rio-nquads - - - org.eclipse.rdf4j - rdf4j-repository-sail - - - org.eclipse.rdf4j - rdf4j-sail-memory - - - - - org.apache.commons - commons-text - ${commons.text.version} - - - - - org.wiremock - wiremock - ${wiremock.version} - test - - - org.slf4j - slf4j-simple - ${slf4j.version} - test - - - com.inrupt.client - inrupt-client-httpclient - ${project.version} - test - - - com.inrupt.client - inrupt-client-okhttp - ${project.version} - test - - - com.inrupt.client - inrupt-client-test - ${project.version} - test - - - org.junit.jupiter - junit-jupiter-api - ${junit.version} - test - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - default-test - none - - - httpclient-test - test - - test - - - - com.inrupt.client:inrupt-client-okhttp - - - - - okhttp-test - test - - test - - - - com.inrupt.client:inrupt-client-httpclient - - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - - - - org.jacoco - jacoco-maven-plugin - - - - diff --git a/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/RDFLegacyService.java b/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/RDFLegacyService.java deleted file mode 100644 index ade9a0249f0..00000000000 --- a/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/RDFLegacyService.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright Inrupt Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.inrupt.client.rdf.legacy; - -import com.inrupt.client.spi.RdfService; -import com.inrupt.commons.rdf4j.RDF4J; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Stream; - -import org.apache.commons.rdf.api.Dataset; -import org.apache.commons.rdf.api.Graph; -import org.apache.commons.rdf.api.RDFSyntax; -import org.eclipse.rdf4j.model.Model; -import org.eclipse.rdf4j.model.Statement; -import org.eclipse.rdf4j.repository.Repository; -import org.eclipse.rdf4j.repository.RepositoryConnection; -import org.eclipse.rdf4j.repository.sail.SailRepository; -import org.eclipse.rdf4j.rio.RDFFormat; -import org.eclipse.rdf4j.rio.RDFWriter; -import org.eclipse.rdf4j.rio.Rio; -import org.eclipse.rdf4j.sail.memory.MemoryStore; - -/** - * An {@link RdfService} that uses a Java 8-compatible version of the RDF4J library. - */ -public class RDFLegacyService implements RdfService { - - private static final Map SYNTAX_TO_FORMAT = buildSyntaxMapping(); - private static final RDF4J rdf = new RDF4J(); - - @Override - public void fromDataset(final Dataset dataset, final RDFSyntax syntax, final OutputStream output) - throws IOException { - final RDFFormat format = Objects.requireNonNull(SYNTAX_TO_FORMAT.get(syntax)); - final RDFWriter writer = Rio.createWriter(format, output); - try { - writer.startRDF(); - try (final Stream statements = dataset.stream().map(rdf::asStatement)) { - statements.sequential().forEach(writer::handleStatement); - } - writer.endRDF(); - } catch (final org.eclipse.rdf4j.RDF4JException ex) { - throw new IOException("Error serializing dataset", ex); - } - } - - @Override - public void fromGraph(final Graph graph, final RDFSyntax syntax, final OutputStream output) throws IOException { - final RDFFormat format = Objects.requireNonNull(SYNTAX_TO_FORMAT.get(syntax)); - final RDFWriter writer = Rio.createWriter(format, output); - try { - writer.startRDF(); - try (final Stream statements = graph.stream().map(rdf::asStatement)) { - statements.sequential().forEach(writer::handleStatement); - } - writer.endRDF(); - } catch (final org.eclipse.rdf4j.RDF4JException ex) { - throw new IOException("Error serializing graph", ex); - } - } - - @Override - public Dataset toDataset(final RDFSyntax syntax, final InputStream input, final String baseUri) throws IOException { - final RDFFormat format = Objects.requireNonNull(SYNTAX_TO_FORMAT.get(syntax)); - final Repository repository = new SailRepository(new MemoryStore()); - try { - try (final RepositoryConnection conn = repository.getConnection()) { - conn.add(input, baseUri, format); - } - return rdf.asDataset(repository); - } catch (final org.eclipse.rdf4j.RDF4JException ex) { - throw new IOException("Error parsing dataset", ex); - } - } - - @Override - public Graph toGraph(final RDFSyntax syntax, final InputStream input, final String baseUri) throws IOException { - final RDFFormat format = Objects.requireNonNull(SYNTAX_TO_FORMAT.get(syntax)); - - try { - final Model model = Rio.parse(input, baseUri, format); - return rdf.asGraph(model); - } catch (final org.eclipse.rdf4j.RDF4JException ex) { - throw new IOException("Error parsing graph", ex); - } - } - - static Map buildSyntaxMapping() { - final Map mapping = new HashMap<>(); - mapping.put(RDFSyntax.TURTLE, RDFFormat.TURTLE); - mapping.put(RDFSyntax.TRIG, RDFFormat.TRIG); - mapping.put(RDFSyntax.JSONLD, RDFFormat.JSONLD); - mapping.put(RDFSyntax.NTRIPLES, RDFFormat.NTRIPLES); - mapping.put(RDFSyntax.NQUADS, RDFFormat.NQUADS); - return Collections.unmodifiableMap(mapping); - } -} diff --git a/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/package-info.java b/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/package-info.java deleted file mode 100644 index 29dd762ea69..00000000000 --- a/rdf-legacy/src/main/java/com/inrupt/client/rdf/legacy/package-info.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Inrupt Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -/** - *

Legacy (Java 8) RDF support for the Inrupt Java Client Libraries.

- */ -package com.inrupt.client.rdf.legacy; diff --git a/rdf-legacy/src/main/resources/META-INF/services/com.inrupt.client.spi.RdfService b/rdf-legacy/src/main/resources/META-INF/services/com.inrupt.client.spi.RdfService deleted file mode 100644 index 093a00615d2..00000000000 --- a/rdf-legacy/src/main/resources/META-INF/services/com.inrupt.client.spi.RdfService +++ /dev/null @@ -1 +0,0 @@ -com.inrupt.client.rdf.legacy.RDFLegacyService diff --git a/rdf-legacy/src/site/resources/css/site.css b/rdf-legacy/src/site/resources/css/site.css deleted file mode 100644 index 97fdf4abca6..00000000000 --- a/rdf-legacy/src/site/resources/css/site.css +++ /dev/null @@ -1,22 +0,0 @@ -#banner img { - width: 200px; -} - -table.bodyTable tr.a { - background-color: #ddd; -} - -table.bodyTable tr.b { - background-color: #eee; -} - -div.sidebar-nav { - display: none; -} - -a.externalLink, -a.externalLink[href^=http], -a.externalLink[href^=https] { - background: none; - padding-right: 0px; -} diff --git a/rdf-legacy/src/site/resources/images/inrupt_logo-2020.svg b/rdf-legacy/src/site/resources/images/inrupt_logo-2020.svg deleted file mode 100644 index 05e59ed4a5d..00000000000 --- a/rdf-legacy/src/site/resources/images/inrupt_logo-2020.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/rdf-legacy/src/site/site.xml b/rdf-legacy/src/site/site.xml deleted file mode 100644 index 7339e95160d..00000000000 --- a/rdf-legacy/src/site/site.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDF4JTestModel.java b/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDF4JTestModel.java deleted file mode 100644 index 12f603dbbb6..00000000000 --- a/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDF4JTestModel.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Inrupt Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.inrupt.client.rdf.legacy; - -import com.inrupt.client.test.RdfTestModel; - -import org.eclipse.rdf4j.model.IRI; -import org.eclipse.rdf4j.model.Literal; -import org.eclipse.rdf4j.model.Resource; -import org.eclipse.rdf4j.model.ValueFactory; -import org.eclipse.rdf4j.model.impl.SimpleValueFactory; - -final class RDF4JTestModel { - - //RDF4J properties - public static final ValueFactory VF = SimpleValueFactory.getInstance(); - - public static final Resource S_RDF4J = VF.createIRI(RdfTestModel.S_VALUE); - public static final IRI P_RDF4J = VF.createIRI(RdfTestModel.P_VALUE); - public static final Literal O_RDF4J = VF.createLiteral(RdfTestModel.O_VALUE); - public static final Resource G_RDF4J = VF.createIRI(RdfTestModel.G_VALUE); - - public static final Resource S1_RDF4J = VF.createIRI(RdfTestModel.S1_VALUE); - public static final IRI P1_RDF4J = VF.createIRI(RdfTestModel.P1_VALUE); - public static final Literal O1_RDF4J = VF.createLiteral(RdfTestModel.O1_VALUE); - - public static final Resource S2_RDF4J = VF.createIRI(RdfTestModel.S2_VALUE); - public static final IRI P2_RDF4J = VF.createIRI(RdfTestModel.P2_VALUE); - public static final Literal O2_RDF4J = VF.createLiteral(RdfTestModel.O2_VALUE); - - private RDF4JTestModel() { - // Prevent instantiation - } -} diff --git a/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDFLegacyServiceTest.java b/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDFLegacyServiceTest.java deleted file mode 100644 index 16cc5a6986f..00000000000 --- a/rdf-legacy/src/test/java/com/inrupt/client/rdf/legacy/RDFLegacyServiceTest.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Copyright Inrupt Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the - * Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.inrupt.client.rdf.legacy; - -import static org.junit.jupiter.api.Assertions.*; - -import com.inrupt.client.spi.RdfService; -import com.inrupt.client.spi.ServiceProvider; -import com.inrupt.client.test.RdfServices; -import com.inrupt.client.test.RdfTestModel; -import com.inrupt.commons.rdf4j.RDF4J; -import com.inrupt.commons.rdf4j.RDF4JDataset; -import com.inrupt.commons.rdf4j.RDF4JGraph; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.file.Files; -import java.util.Optional; -import java.util.stream.Stream; - -import org.apache.commons.rdf.api.Dataset; -import org.apache.commons.rdf.api.Graph; -import org.apache.commons.rdf.api.IRI; -import org.apache.commons.rdf.api.Quad; -import org.apache.commons.rdf.api.RDFSyntax; -import org.apache.commons.rdf.api.Triple; -import org.eclipse.rdf4j.model.Model; -import org.eclipse.rdf4j.model.Statement; -import org.eclipse.rdf4j.model.ValueFactory; -import org.eclipse.rdf4j.model.impl.SimpleValueFactory; -import org.eclipse.rdf4j.model.util.ModelBuilder; -import org.eclipse.rdf4j.repository.Repository; -import org.eclipse.rdf4j.repository.RepositoryConnection; -import org.eclipse.rdf4j.repository.sail.SailRepository; -import org.eclipse.rdf4j.sail.memory.MemoryStore; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; - -class RDFLegacyServiceTest extends RdfServices { - - private final RdfService service = ServiceProvider.getRdfService(); - private static RDF4JDataset rdf4jDataset; - private static RDF4JGraph rdf4jGraph; - private static RDF4J rdf = new RDF4J(); - - public static final ValueFactory VF = SimpleValueFactory.getInstance(); - - @BeforeAll - static void setup() { - // create a RDF4JDataset - final Statement st = VF.createStatement( - RDF4JTestModel.S_RDF4J, - RDF4JTestModel.P_RDF4J, - RDF4JTestModel.O_RDF4J, - RDF4JTestModel.G_RDF4J - ); - final Statement st1 = VF.createStatement( - RDF4JTestModel.S1_RDF4J, - RDF4JTestModel.P1_RDF4J, - RDF4JTestModel.O1_RDF4J - ); - final Repository repository = new SailRepository(new MemoryStore()); - try (final RepositoryConnection conn = repository.getConnection()) { - conn.add(st); - conn.add(st1); - } - rdf4jDataset = rdf.asDataset(repository); - - // create a RDF4JGraph - final ModelBuilder builder = new ModelBuilder(); - builder.namedGraph(RDF4JTestModel.G_RDF4J) - .subject(RdfTestModel.S_VALUE) - .add(RdfTestModel.P_VALUE, RdfTestModel.O_VALUE); - builder.defaultGraph().subject(RdfTestModel.S1_VALUE).add(RdfTestModel.P_VALUE, RdfTestModel.O1_VALUE); - final Model m = builder.build(); - rdf4jGraph = rdf.asGraph(m); - } - - @Test - void checkInstance() { - assertTrue(service instanceof RDFLegacyService); - } - - @Test - void parseToDatasetRelativeURIsButNoBaseURI() throws IOException { - try (final InputStream input = RdfServices.class.getResourceAsStream("/relativeURIs.ttl")) { - assertThrows(IOException.class, () -> service.toDataset(RDFSyntax.TURTLE, input, null)); - } - } - - @Test - void serializeFromDatasetTRIGRoundtrip() throws Exception { - try (final ByteArrayOutputStream output = new ByteArrayOutputStream()) { - service.fromDataset(rdf4jDataset, RDFSyntax.TRIG, output); - try (final InputStream input = new ByteArrayInputStream(output.toByteArray()); - final Dataset roundtrip = service.toDataset(RDFSyntax.TRIG, input, null)) { - assertEquals(2, roundtrip.size()); - assertEquals(rdf4jDataset.size(), roundtrip.size()); - String st1 = null; - try (final Stream stream = rdf4jDataset - .stream(Optional.of(RdfTestModel.G_RDFNode), null, null, null).map(Quad.class::cast)) { - st1 = stream.map(Quad::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - - String st2 = null; - try (final Stream stream = roundtrip.stream(Optional.of(RdfTestModel.G_RDFNode), - RdfTestModel.S_RDFNode, RdfTestModel.P_RDFNode, RdfTestModel.O_RDFNode).map(Quad.class::cast)) { - st2 = stream.map(Quad::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - assertEquals(st1, st2); - } - } - } - - @Test - void serializeFromDatasetTURTLERoundtrip() throws Exception { - try (final ByteArrayOutputStream output = new ByteArrayOutputStream()) { - service.fromDataset(rdf4jDataset, RDFSyntax.TURTLE, output); - try (final InputStream input = new ByteArrayInputStream(output.toByteArray()); - final Dataset roundtrip = service.toDataset(RDFSyntax.TURTLE, input, null)) { - - assertEquals(2, roundtrip.size()); - assertEquals(rdf4jDataset.size(), roundtrip.size()); - - String st1 = null; - try (final Stream stream = rdf4jDataset - .stream(Optional.of(RdfTestModel.G_RDFNode), null, null, null).map(Quad.class::cast)) { - st1 = stream.map(Quad::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - String st2 = null; - try (final Stream stream = roundtrip.stream(null, RdfTestModel.S_RDFNode, RdfTestModel.P_RDFNode, - RdfTestModel.O_RDFNode).map(Quad.class::cast)) { - st2 = stream.map(Quad::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - assertEquals(st1, st2); - } - } - } - - @Test - void serializeFromGraphRoundtrip() throws Exception { - try (final ByteArrayOutputStream output = new ByteArrayOutputStream()) { - service.fromGraph(rdf4jGraph, RDFSyntax.TURTLE, output); - try (final InputStream input = new ByteArrayInputStream(output.toByteArray()); - final Graph roundtrip = service.toGraph(RDFSyntax.TURTLE, input, null)) { - assertEquals(2, roundtrip.size()); - assertEquals(rdf4jGraph.size(), roundtrip.size()); - - String st1 = null; - try (final Stream stream = rdf4jGraph.stream(RdfTestModel.S_RDFNode, null, null) - .map(Triple.class::cast)) { - st1 = stream.map(Triple::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - - String st2 = null; - try (final Stream stream = roundtrip - .stream(RdfTestModel.S_RDFNode, RdfTestModel.P_RDFNode, RdfTestModel.O_RDFNode) - .map(Triple.class::cast)) { - st2 = stream.map(Triple::getSubject).filter(IRI.class::isInstance).map(IRI.class::cast) - .map(IRI::getIRIString).findFirst().orElse(null); - } - assertEquals(st1, st2); - } - } - } - - @Test - void serializeFromDatasetException() throws IOException { - final File tmp = Files.createTempFile(null, null).toFile(); - try (final OutputStream output = new FileOutputStream(tmp)) { - output.close(); - assertThrows(IOException.class, () -> service.fromDataset(rdf4jDataset, RDFSyntax.TRIG, output)); - } - } - - @Test - void serializeFromGraphException() throws IOException { - final File tmp = Files.createTempFile(null, null).toFile(); - try (final OutputStream output = new FileOutputStream(tmp)) { - output.close(); - assertThrows(IOException.class, - () -> service.fromGraph(rdf4jGraph, RDFSyntax.TURTLE, output)); - } - } -} diff --git a/rdf-legacy/src/test/resources/relativeURIs.ttl b/rdf-legacy/src/test/resources/relativeURIs.ttl deleted file mode 100644 index 283e62e4bf5..00000000000 --- a/rdf-legacy/src/test/resources/relativeURIs.ttl +++ /dev/null @@ -1,7 +0,0 @@ -#use of relative URIs -@prefix : <#>. -@prefix foaf: . -@prefix schema: . - -:me - a schema:Person, foaf:Person. \ No newline at end of file diff --git a/rdf-legacy/src/test/resources/simplelogger.properties b/rdf-legacy/src/test/resources/simplelogger.properties deleted file mode 100644 index 682ae67e438..00000000000 --- a/rdf-legacy/src/test/resources/simplelogger.properties +++ /dev/null @@ -1 +0,0 @@ -org.slf4j.simpleLogger.log.org.eclipse.jetty=warn diff --git a/rdf4j/pom.xml b/rdf4j/pom.xml index db849bd7d25..224ba42fc6a 100644 --- a/rdf4j/pom.xml +++ b/rdf4j/pom.xml @@ -14,7 +14,6 @@ - 8 5.1.4 diff --git a/reports/pom.xml b/reports/pom.xml index c687bfa0796..8f2cdee7550 100644 --- a/reports/pom.xml +++ b/reports/pom.xml @@ -82,11 +82,6 @@ inrupt-client-rdf4j ${project.version}
- - com.inrupt.client - inrupt-client-rdf-legacy - ${project.version} - com.inrupt.client inrupt-client-runtime diff --git a/solid/pom.xml b/solid/pom.xml index d2856442f55..9593fc54031 100644 --- a/solid/pom.xml +++ b/solid/pom.xml @@ -13,10 +13,6 @@ Solid resource body handlers for the Inrupt Java Client Libraries. - - 8 - - com.inrupt.client diff --git a/spring/pom.xml b/spring/pom.xml index 0e5f273869a..a36aa0ebace 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -100,18 +100,6 @@ - - - java-17 - - [17,) - - - 6.5.3 - - - - diff --git a/uma/pom.xml b/uma/pom.xml index a7bc275ec75..cd0d0ecbd4a 100644 --- a/uma/pom.xml +++ b/uma/pom.xml @@ -13,10 +13,6 @@ UMA abstractions for the Inrupt Java Client Libraries. - - 8 - - com.inrupt.client From b28de4f89f518c3f1a689d63dead95e3fec373a5 Mon Sep 17 00:00:00 2001 From: Aaron Coburn Date: Fri, 29 Aug 2025 18:23:53 -0500 Subject: [PATCH 2/2] Adjust site workflow --- .github/workflows/site-ci-config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/site-ci-config.yml b/.github/workflows/site-ci-config.yml index ba7e9ff08a3..e5aa1d7d8bc 100644 --- a/.github/workflows/site-ci-config.yml +++ b/.github/workflows/site-ci-config.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 11 ] + java: [ 17 ] steps: - uses: actions/checkout@v4