diff --git a/commafeed-server/pom.xml b/commafeed-server/pom.xml
index 0a3b990c..5a8034e7 100644
--- a/commafeed-server/pom.xml
+++ b/commafeed-server/pom.xml
@@ -12,7 +12,7 @@
CommaFeed Server
- 3.24.5
+ 3.25.0
7.0
2.1.0
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/Urls.java b/commafeed-server/src/main/java/com/commafeed/backend/Urls.java
index 191dd2c1..3ad98921 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/Urls.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/Urls.java
@@ -3,7 +3,7 @@ package com.commafeed.backend;
import java.net.URI;
import java.util.regex.Pattern;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import org.netpreserve.urlcanon.Canonicalizer;
import org.netpreserve.urlcanon.ParsedUrl;
@@ -87,7 +87,7 @@ public class Urls {
if (normalized.split(ESCAPED_QUESTION_MARK)[0].contains("feedburner.com")) {
normalized = normalized.replace("feeds2.feedburner.com", "feeds.feedburner.com");
normalized = normalized.split(ESCAPED_QUESTION_MARK)[0];
- normalized = StringUtils.removeEnd(normalized, "/");
+ normalized = Strings.CS.removeEnd(normalized, "/");
}
return normalized;
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java b/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java
index 67792183..80c56e36 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java
@@ -6,7 +6,7 @@ import java.util.List;
import jakarta.inject.Singleton;
import jakarta.persistence.EntityManager;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.QFeed;
@@ -52,7 +52,7 @@ public class FeedDAO extends GenericDAO {
.where(FEED.normalizedUrlHash.eq(normalizedUrlHash))
.fetch()
.stream()
- .filter(f -> StringUtils.equals(normalizedUrl, f.getNormalizedUrl()))
+ .filter(f -> Strings.CS.equals(normalizedUrl, f.getNormalizedUrl()))
.findFirst()
.orElse(null);
}
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedFetcher.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedFetcher.java
index 010e7818..80a6c5e2 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedFetcher.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedFetcher.java
@@ -9,6 +9,7 @@ import java.util.List;
import jakarta.inject.Singleton;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import com.commafeed.backend.Digests;
import com.commafeed.backend.HttpGetter;
@@ -75,8 +76,8 @@ public class FeedFetcher {
throw new IOException("Feed content is empty.");
}
- boolean lastModifiedHeaderValueChanged = !StringUtils.equals(lastModified, result.getLastModifiedSince());
- boolean etagHeaderValueChanged = !StringUtils.equals(eTag, result.getETag());
+ boolean lastModifiedHeaderValueChanged = !Strings.CS.equals(lastModified, result.getLastModifiedSince());
+ boolean etagHeaderValueChanged = !Strings.CS.equals(eTag, result.getETag());
String hash = Digests.sha1Hex(content);
if (lastContentHash != null && lastContentHash.equals(hash)) {
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java
index 252b009a..9090833f 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/FeedRefreshWorker.java
@@ -8,7 +8,7 @@ import java.util.Optional;
import jakarta.inject.Singleton;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
@@ -63,7 +63,7 @@ public class FeedRefreshWorker {
}
String urlAfterRedirect = result.urlAfterRedirect();
- if (StringUtils.equals(url, urlAfterRedirect)) {
+ if (Strings.CS.equals(url, urlAfterRedirect)) {
urlAfterRedirect = null;
}
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/feed/parser/EncodingDetector.java b/commafeed-server/src/main/java/com/commafeed/backend/feed/parser/EncodingDetector.java
index 91b91dd9..721ae4f0 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/feed/parser/EncodingDetector.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/feed/parser/EncodingDetector.java
@@ -5,7 +5,7 @@ import java.nio.charset.Charset;
import jakarta.inject.Singleton;
import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import com.ibm.icu.text.CharsetDetector;
import com.ibm.icu.text.CharsetMatch;
@@ -20,11 +20,11 @@ class EncodingDetector {
*/
public Charset getEncoding(byte[] bytes) {
String extracted = extractDeclaredEncoding(bytes);
- if (StringUtils.startsWithIgnoreCase(extracted, "iso-8859-")) {
- if (!StringUtils.endsWith(extracted, "1")) {
+ if (Strings.CI.startsWith(extracted, "iso-8859-")) {
+ if (!Strings.CS.endsWith(extracted, "1")) {
return Charset.forName(extracted);
}
- } else if (StringUtils.startsWithIgnoreCase(extracted, "windows-")) {
+ } else if (Strings.CI.startsWith(extracted, "windows-")) {
return Charset.forName(extracted);
}
return detectEncoding(bytes);
@@ -40,7 +40,7 @@ class EncodingDetector {
}
String pi = new String(ArrayUtils.subarray(bytes, 0, index + 1)).replace('\'', '"');
- index = StringUtils.indexOf(pi, "encoding=\"");
+ index = Strings.CS.indexOf(pi, "encoding=\"");
if (index == -1) {
return null;
}
diff --git a/commafeed-server/src/main/java/com/commafeed/backend/urlprovider/YoutubeFeedURLProvider.java b/commafeed-server/src/main/java/com/commafeed/backend/urlprovider/YoutubeFeedURLProvider.java
index 85e8a866..40381ec3 100644
--- a/commafeed-server/src/main/java/com/commafeed/backend/urlprovider/YoutubeFeedURLProvider.java
+++ b/commafeed-server/src/main/java/com/commafeed/backend/urlprovider/YoutubeFeedURLProvider.java
@@ -4,7 +4,7 @@ import java.util.List;
import jakarta.inject.Singleton;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
/**
* Workaround for Youtube channels
@@ -20,7 +20,7 @@ public class YoutubeFeedURLProvider implements FeedURLProvider {
@Override
public List get(String url, String urlContent) {
- if (!StringUtils.startsWithIgnoreCase(url, PREFIX)) {
+ if (!Strings.CI.startsWith(url, PREFIX)) {
return List.of();
}
diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java
index b521324e..7c6cff89 100644
--- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java
+++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java
@@ -4,7 +4,7 @@ import java.io.Serializable;
import java.time.Instant;
import java.util.List;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import org.eclipse.microprofile.openapi.annotations.enums.SchemaType;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
@@ -128,7 +128,7 @@ public class Entry implements Serializable {
entry.setAuthor(content.getAuthor());
entry.setEnclosureType(content.getEnclosureType());
- entry.setEnclosureUrl(proxyImages && StringUtils.contains(content.getEnclosureType(), "image")
+ entry.setEnclosureUrl(proxyImages && Strings.CS.contains(content.getEnclosureType(), "image")
? FeedUtils.proxyImage(content.getEnclosureUrl())
: content.getEnclosureUrl());
diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java
index 3c075195..72a42e9a 100644
--- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java
+++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java
@@ -28,6 +28,7 @@ import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.Strings;
import org.eclipse.microprofile.openapi.annotations.Operation;
import org.eclipse.microprofile.openapi.annotations.media.Content;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
@@ -339,7 +340,7 @@ public class CategoryREST {
FeedCategory parent = null;
if (req.getParentId() != null && !CategoryREST.ALL.equals(req.getParentId())
- && !StringUtils.equals(req.getParentId(), String.valueOf(req.getId()))) {
+ && !Strings.CS.equals(req.getParentId(), String.valueOf(req.getId()))) {
parent = feedCategoryDAO.findById(user, Long.valueOf(req.getParentId()));
}
category.setParent(parent);