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