diff --git a/core/lyo-core-settings/pom.xml b/core/lyo-core-settings/pom.xml index ad9dc12a3..af63fcb9d 100644 --- a/core/lyo-core-settings/pom.xml +++ b/core/lyo-core-settings/pom.xml @@ -82,10 +82,6 @@ jersey-common test - - com.google.guava - guava - diff --git a/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/OSLC4JUtils.java b/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/OSLC4JUtils.java index 81e4784e8..584f7ead1 100644 --- a/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/OSLC4JUtils.java +++ b/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/OSLC4JUtils.java @@ -36,7 +36,6 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import com.google.common.base.Strings; import org.apache.jena.datatypes.DatatypeFormatException; import org.apache.jena.datatypes.RDFDatatype; import org.apache.jena.datatypes.TypeMapper; @@ -550,7 +549,7 @@ private static Boolean parseBooleanPropertyOrDefault(final String key, final boolean defaultValue) { Boolean value; final String property = System.getProperty(key); - if (Strings.isNullOrEmpty(property)) { + if (StringUtils.isNullOrEmpty(property)) { value = defaultValue; } else { try { diff --git a/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/StringUtils.java b/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/StringUtils.java new file mode 100644 index 000000000..d9699a046 --- /dev/null +++ b/core/lyo-core-settings/src/main/java/org/eclipse/lyo/oslc4j/core/StringUtils.java @@ -0,0 +1,34 @@ +package org.eclipse.lyo.oslc4j.core; + +import java.util.regex.Pattern; + +public class StringUtils { + private static final Pattern CONTROL_CHAR_PATTERN = Pattern.compile("^\\p{Cc}&&[^\\r\\n\\t]+$"); + + /** + * Trim and strip control chars + */ + public static String clean(String str) { + if (str == null) return null; + + return CONTROL_CHAR_PATTERN.matcher(str).replaceAll("").trim(); + } + + /** + * Trim and strip control chars; return an empty string if a null is encountered + */ + public static String cleanNonNull(String str) { + if (str == null) return ""; + + return CONTROL_CHAR_PATTERN.matcher(str).replaceAll("").trim(); + } + + public static boolean isNullOrWhitespace(String str) { + return str == null || str.isBlank(); + } + + + public static boolean isNullOrEmpty(String str) { + return str == null || str.isEmpty(); + } +} diff --git a/core/oslc4j-jena-provider/pom.xml b/core/oslc4j-jena-provider/pom.xml index b293b3957..96149cde8 100644 --- a/core/oslc4j-jena-provider/pom.xml +++ b/core/oslc4j-jena-provider/pom.xml @@ -131,11 +131,6 @@ ${v.jersey} test - - com.google.guava - guava - test - diff --git a/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/JenaModelHelperTest.java b/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/JenaModelHelperTest.java index b24745641..434753068 100644 --- a/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/JenaModelHelperTest.java +++ b/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/JenaModelHelperTest.java @@ -17,9 +17,9 @@ import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.net.URI; +import java.util.List; import javax.xml.datatype.DatatypeConfigurationException; -import com.google.common.collect.ImmutableList; import org.apache.jena.datatypes.DatatypeFormatException; import org.apache.jena.rdf.model.Model; import org.eclipse.lyo.oslc4j.core.exception.LyoModelException; @@ -53,7 +53,7 @@ public void testSeqMarshalling() final Model expectedModel = RDFHelper.loadResourceModel("container-element.ttl"); final Container container = new Container(); container.setAbout(URI.create("urn:containerA")); - final ImmutableList children = ImmutableList.of(element("A"), element("B")); + final List children = List.of(element("A"), element("B")); container.setChildrenL(children); container.setChildrenB(children); diff --git a/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/test/JsonLdTest.java b/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/test/JsonLdTest.java index c900ba152..22d53174e 100644 --- a/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/test/JsonLdTest.java +++ b/core/oslc4j-jena-provider/src/test/java/org/eclipse/lyo/oslc4j/provider/jena/test/JsonLdTest.java @@ -18,10 +18,11 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; +import java.util.List; -import com.google.common.collect.ImmutableList; import org.eclipse.lyo.oslc4j.core.model.OslcMediaType; import org.eclipse.lyo.oslc4j.core.model.ServiceProvider; import org.eclipse.lyo.oslc4j.provider.jena.OslcJsonLdArrayProvider; @@ -72,7 +73,7 @@ public void testWrite() throws Exception { .getAnnotations(), OslcMediaType.APPLICATION_JSON_LD_TYPE, new MultivaluedHashMap<>(), outputStream); - final String jsonLD = outputStream.toString("UTF-8"); + final String jsonLD = outputStream.toString(StandardCharsets.UTF_8); assertTrue("Provider was not read", jsonLD.contains("Hello world")); @@ -94,7 +95,7 @@ public void testWriteArray() throws Exception { new MultivaluedHashMap<>(), outputStream); - final String jsonLD = outputStream.toString("UTF-8"); + final String jsonLD = outputStream.toString(StandardCharsets.UTF_8); assertTrue("Provider was not read", jsonLD.contains("Hello world")); } @@ -107,7 +108,7 @@ public void testWriteCollection() throws Exception { ServiceProvider sp = new ServiceProvider(); sp.setDescription("Hello world"); - final Collection objects = ImmutableList.of(sp); + final Collection objects = List.of(sp); provider.writeTo( new ArrayList<>(objects), objects.getClass(), @@ -117,7 +118,7 @@ public void testWriteCollection() throws Exception { new MultivaluedHashMap<>(), outputStream); - final String jsonLD = outputStream.toString("UTF-8"); + final String jsonLD = outputStream.toString(StandardCharsets.UTF_8); assertTrue("Provider was not read", jsonLD.contains("Hello world")); } diff --git a/core/shacl/pom.xml b/core/shacl/pom.xml index 3b7659914..0ee92f0f6 100644 --- a/core/shacl/pom.xml +++ b/core/shacl/pom.xml @@ -27,10 +27,6 @@ oslc4j-jena-provider - - com.google.guava - guava - diff --git a/core/shacl/src/main/java/org/eclipse/lyo/shacl/Shape.java b/core/shacl/src/main/java/org/eclipse/lyo/shacl/Shape.java index 7b8b09281..3237db4b8 100644 --- a/core/shacl/src/main/java/org/eclipse/lyo/shacl/Shape.java +++ b/core/shacl/src/main/java/org/eclipse/lyo/shacl/Shape.java @@ -14,7 +14,6 @@ package org.eclipse.lyo.shacl; -import com.google.common.collect.ImmutableList; import java.net.URI; import java.util.HashMap; import java.util.List; @@ -26,7 +25,6 @@ /** * @author Yash Khatri - * @version $version-stub$ * @since 2.3.0 */ @OslcNamespace(ShaclConstants.SHACL_CORE_NAMESPACE) @@ -133,8 +131,7 @@ public void setTargetObjectsOf(final URI targetObjectsOf) { @OslcTitle("Properties") @OslcValueType(ValueType.LocalResource) public List getShaclProperties() { - return ImmutableList.copyOf( - properties.values().toArray(new Property[properties.size()])); + return List.of(properties.values().toArray(new Property[0])); } public void setShaclProperties(final List properties) { diff --git a/pom.xml b/pom.xml index a2e794ed4..8279cf55b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,8 +28,6 @@ 2.18.2 4.5.14 2.0.16 - - 33.3.1-jre @@ -393,11 +391,6 @@ commons-codec 1.17.1 - - com.google.guava - guava - ${v.guava} - jakarta.activation jakarta.activation-api @@ -476,7 +469,6 @@ https://jakarta.ee/specifications/platform/9/apidocs/ https://jena.apache.org/documentation/javadoc/jena/ https://jena.apache.org/documentation/javadoc/arq/ - https://guava.dev/releases/${v.guava}/api/docs/ diff --git a/store/store-core/pom.xml b/store/store-core/pom.xml index 0ed47365f..26b9ad191 100644 --- a/store/store-core/pom.xml +++ b/store/store-core/pom.xml @@ -101,10 +101,6 @@ org.slf4j slf4j-api - - com.google.guava - guava - diff --git a/store/store-core/src/test/java/org/eclipse/lyo/store/SparqlStoreImplTest.java b/store/store-core/src/test/java/org/eclipse/lyo/store/SparqlStoreImplTest.java index a5bad6957..653d3d1e3 100644 --- a/store/store-core/src/test/java/org/eclipse/lyo/store/SparqlStoreImplTest.java +++ b/store/store-core/src/test/java/org/eclipse/lyo/store/SparqlStoreImplTest.java @@ -5,6 +5,8 @@ import java.lang.reflect.InvocationTargetException; import java.net.URI; +import java.time.Duration; +import java.time.Instant; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -34,8 +36,6 @@ * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause */ -import com.google.common.base.Stopwatch; - public class SparqlStoreImplTest extends StoreTestBase { private Store manager; @@ -68,7 +68,7 @@ public void storeBasicOps() { @Test public void testInsertionPerf() { final List providers = genProviders(); - final Stopwatch stopwatch = Stopwatch.createStarted(); + var start = Instant.now(); for (int i = 0; i < 10; i++) { final URI testNg = URI.create("urn:test:" + i); try { @@ -77,7 +77,7 @@ public void testInsertionPerf() { fail("Store failed", e); } } - System.out.printf("10 named graphs persisted (resources) in %s ms", stopwatch.stop().elapsed().toMillis()); + System.out.printf("10 named graphs persisted (resources) in %s ms", Duration.between(start, Instant.now()).toMillis()); } @Test @@ -85,12 +85,12 @@ public void testInsertionPerfRaw() throws InvocationTargetException, DatatypeCon OslcCoreApplicationException, IllegalAccessException { final List providers = genProviders(); final Model jenaModel = JenaModelHelper.createJenaModel(providers.toArray()); - final Stopwatch stopwatch = Stopwatch.createStarted(); + var start = Instant.now(); for (int i = 0; i < 10; i++) { final URI testNg = URI.create("urn:test:" + i); manager.insertJenaModel(testNg, jenaModel); } - System.out.printf("10 named graphs persisted (raw Model) in %s ms", stopwatch.stop().elapsed().toMillis()); + System.out.printf("10 named graphs persisted (raw Model) in %s ms", Duration.between(start, Instant.now()).toMillis()); } private List genProviders() { diff --git a/store/store-core/src/test/java/org/eclipse/lyo/store/StoreTestBase.java b/store/store-core/src/test/java/org/eclipse/lyo/store/StoreTestBase.java index 3af794175..be0477989 100644 --- a/store/store-core/src/test/java/org/eclipse/lyo/store/StoreTestBase.java +++ b/store/store-core/src/test/java/org/eclipse/lyo/store/StoreTestBase.java @@ -38,9 +38,6 @@ * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause */ -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; - /** * StoreTestBase allows same tests to be run on differently set up triplestores @@ -143,7 +140,7 @@ public void testStoreSuccessiveAddCombines() ServiceProviderCatalog.class); Assertions.assertThat(catalogs).hasSize(2); - Assertions.assertThat(Lists.newArrayList(catalogs) + Assertions.assertThat(catalogs .stream() .map((serviceProviderCatalog) -> serviceProviderCatalog.getAbout().toASCIIString())) .contains(resource.getAbout().toASCIIString(), @@ -190,7 +187,7 @@ public void testSingleResourceRetrieved() resource2.getAbout(), ServiceProviderCatalog.class); Assertions.assertThat(resourceUnderKey).isNotNull(); - Assertions.assertThat(resourceUnderKey.getAbout().equals(resource2.getAbout())); + Assertions.assertThat(resourceUnderKey.getAbout()).isEqualTo(resource2.getAbout()); } @Test @@ -228,7 +225,7 @@ public void testBlankNodeRetrieval() final Store manager = buildStore(); final URI namedGraphUri = new URI("urn:test"); - manager.putResources(namedGraphUri, ImmutableList.of(r1WithBlankResource)); + manager.putResources(namedGraphUri, List.of(r1WithBlankResource)); final WithBlankResource resource = manager.getResource( namedGraphUri, @@ -259,7 +256,7 @@ public void testBlankNodeRetrievalDouble() final Store manager = buildStore(); final URI namedGraphUri = new URI("urn:test"); - manager.putResources(namedGraphUri, ImmutableList.of(aWithTwoDepthBlankResource)); + manager.putResources(namedGraphUri, List.of(aWithTwoDepthBlankResource)); final WithTwoDepthBlankResource resource = manager.getResource(namedGraphUri, blankResourceURI, diff --git a/trs/client/trs-client/pom.xml b/trs/client/trs-client/pom.xml index c4bbe0a90..82406b8ae 100644 --- a/trs/client/trs-client/pom.xml +++ b/trs/client/trs-client/pom.xml @@ -114,10 +114,6 @@ oslc-client ${v.lyo} - - com.google.guava - guava - org.eclipse.rdf4j rdf4j-repository-sparql diff --git a/trs/server/pom.xml b/trs/server/pom.xml index 7ac0c72e9..f329832c9 100644 --- a/trs/server/pom.xml +++ b/trs/server/pom.xml @@ -186,9 +186,5 @@ ${v.slf4j} test - - com.google.guava - guava - diff --git a/trs/server/src/main/java/org/eclipse/lyo/oslc4j/trs/server/service/TrackedResourceSetService.java b/trs/server/src/main/java/org/eclipse/lyo/oslc4j/trs/server/service/TrackedResourceSetService.java index c50de8801..e1a516ded 100644 --- a/trs/server/src/main/java/org/eclipse/lyo/oslc4j/trs/server/service/TrackedResourceSetService.java +++ b/trs/server/src/main/java/org/eclipse/lyo/oslc4j/trs/server/service/TrackedResourceSetService.java @@ -19,13 +19,13 @@ import jakarta.inject.Inject; -import com.google.common.base.Strings; import org.eclipse.lyo.core.trs.Base; import org.eclipse.lyo.core.trs.ChangeLog; import org.eclipse.lyo.core.trs.Page; import org.eclipse.lyo.core.trs.TRSConstants; import org.eclipse.lyo.core.trs.TrackedResourceSet; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; +import org.eclipse.lyo.oslc4j.core.StringUtils; import org.eclipse.lyo.oslc4j.core.annotation.OslcService; import org.eclipse.lyo.oslc4j.core.model.Error; import org.eclipse.lyo.oslc4j.core.model.OslcMediaType; @@ -197,7 +197,7 @@ public Response getChangeLogPage(@PathParam("page") int page) { } private UriBuilder uriBuilder() { - if(Strings.isNullOrEmpty(base)) { + if(StringUtils.isNullOrEmpty(base)) { return UriBuilder.fromUri(OSLC4JUtils.getServletURI()).path(RESOURCE_PATH); } else { return UriBuilder.fromUri(base); diff --git a/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/InmemPagedTrsTest.java b/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/InmemPagedTrsTest.java index cce827067..ca34c2004 100644 --- a/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/InmemPagedTrsTest.java +++ b/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/InmemPagedTrsTest.java @@ -1,12 +1,12 @@ package org.eclipse.lyo.oslc4j.trs.server; -import com.google.common.collect.ImmutableSet; import java.math.BigInteger; import java.net.URI; import java.util.ArrayList; import java.util.Collection; import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import org.eclipse.lyo.core.trs.Base; import org.eclipse.lyo.core.trs.ChangeEvent; @@ -30,7 +30,7 @@ public void testEmptyLog() { @Test public void testEmptyLogWithBase() { - final InmemPagedTrs inmemPagedTrs = buildPagedTrs(ImmutableSet.of(TRSTestUtil.dummyUri(), TRSTestUtil + final InmemPagedTrs inmemPagedTrs = buildPagedTrs(Set.of(TRSTestUtil.dummyUri(), TRSTestUtil .dummyUri())); final Base base = inmemPagedTrs.getBaseResource(1); @@ -40,7 +40,7 @@ public void testEmptyLogWithBase() { @Test public void testEmptyLogWithPagedBase() { final InmemPagedTrs inmemPagedTrs = buildPagedTrs( - ImmutableSet.of(TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil + Set.of(TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil .dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri())); @@ -55,7 +55,7 @@ public void testEmptyLogWithPagedBase() { @Test public void testLogWithEmptyBase() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); @@ -68,7 +68,7 @@ public void testLogWithEmptyBase() { @Test public void testPagedLogWithEmptyBase() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); @@ -87,7 +87,7 @@ public void testPagedLogWithEmptyBase() { @Test public void testLogOrderUnique() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); @@ -112,7 +112,7 @@ public void testLogOrderUnique() { @Test public void testLogOrderMonotonic() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); @@ -137,7 +137,7 @@ public void testLogOrderMonotonic() { @Test public void testLogPagesLinked() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); @@ -153,7 +153,7 @@ public void testLogPagesLinked() { @Test public void testLogPagesLinkedFirstNil() { - final InmemPagedTrs pagedTrs = buildPagedTrs(ImmutableSet.of()); + final InmemPagedTrs pagedTrs = buildPagedTrs(Set.of()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); pagedTrs.onHistoryData(TRSTestUtil.createHistory()); diff --git a/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/service/TRSServiceResource.java b/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/service/TRSServiceResource.java index 40758dfe2..fbcbeec38 100644 --- a/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/service/TRSServiceResource.java +++ b/trs/server/src/test/java/org/eclipse/lyo/oslc4j/trs/server/service/TRSServiceResource.java @@ -1,5 +1,7 @@ package org.eclipse.lyo.oslc4j.trs.server.service; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.UriBuilder; import org.eclipse.lyo.oslc4j.core.OSLC4JUtils; import org.eclipse.lyo.oslc4j.trs.server.InmemPagedTrs; import org.eclipse.lyo.oslc4j.trs.server.PagedTrs; @@ -7,10 +9,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.ImmutableList; - -import jakarta.ws.rs.Path; -import jakarta.ws.rs.core.UriBuilder; +import java.util.List; @Path("/trs") public class TRSServiceResource extends TrackedResourceSetService { @@ -24,8 +23,9 @@ public TRSServiceResource() { protected PagedTrs getPagedTrs() { log.trace("Change History objects requested"); final InmemPagedTrs inmemPagedTrs = new InmemPagedTrs(5, 5, - UriBuilder.fromUri(OSLC4JUtils.getServletURI()).path("trs").build(), ImmutableList.of(TRSTestUtil.dummyUri(),TRSTestUtil.dummyUri(),TRSTestUtil.dummyUri(),TRSTestUtil.dummyUri(),TRSTestUtil.dummyUri())); -// inmemPagedTrs.onHistoryData(TRSTestUtil.createHistory()); + UriBuilder.fromUri(OSLC4JUtils.getServletURI()).path("trs").build(), + List.of(TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri(), + TRSTestUtil.dummyUri(), TRSTestUtil.dummyUri())); return inmemPagedTrs; } diff --git a/validation/pom.xml b/validation/pom.xml index 2a9474be3..56b37795e 100644 --- a/validation/pom.xml +++ b/validation/pom.xml @@ -50,11 +50,6 @@ - - com.google.guava - guava - - org.eclipse.lyo.oslc4j.core