[java-shib-shared] branch main updated: Rename primitive package.
Scott Cantor
cantor.2 at osu.edu
Mon Sep 26 17:17:06 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-shared.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-shared.git;a=commit;h=e918aa5ad90ce1effb6958841f434f09129368c3
The following commit(s) were added to refs/heads/main by this push:
new e918aa5a Rename primitive package.
e918aa5a is described below
commit e918aa5ad90ce1effb6958841f434f09129368c3
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Sep 26 13:17:03 2022 -0400
Rename primitive package.
---
.../spring/httpclient/resource/HTTPResource.java | 2 +-
.../httpclient/resource/RepositorySupport.java | 2 +-
.../httpclient/FileCachingHttpClientBuilder.java | 4 +-
.../shared/httpclient/HttpClientBuilder.java | 2 +-
.../shared/httpclient/IdleConnectionSweeper.java | 2 +-
.../shared/httpclient/TLSSocketFactory.java | 2 +-
.../shared/httpclient/TLSSocketFactoryBuilder.java | 2 +-
.../net/shibboleth/shared/net/CookieManager.java | 2 +-
.../shibboleth/shared/net/HttpServletSupport.java | 2 +-
.../java/net/shibboleth/shared/net/IPRange.java | 2 +-
.../shibboleth/shared/net/MediaTypeSupport.java | 2 +-
.../shared/net/SimpleURLCanonicalizer.java | 2 +-
.../java/net/shibboleth/shared/net/URISupport.java | 2 +-
.../java/net/shibboleth/shared/net/URLBuilder.java | 2 +-
.../java/support/httpclient/HttpClientSupport.java | 4 +-
.../support/net/DynamicResponseHeaderFilter.java | 2 +-
.../support/net/SameSiteCookieHeaderFilter.java | 2 +-
.../security/factory/KeyStoreFactoryBean.java | 2 +-
.../security/factory/PrivateKeyFactoryBean.java | 2 +-
.../net/shibboleth/shared/security/DataSealer.java | 2 +-
.../security/impl/BasicAccessControlService.java | 2 +-
.../security/impl/BasicKeystoreKeyStrategy.java | 4 +-
.../impl/BasicKeystoreKeyStrategyTool.java | 2 +-
.../shared/security/impl/ScriptedKeyStrategy.java | 2 +-
.../impl/SelfSignedCertificateGenerator.java | 2 +-
.../shared/service/AbstractReloadableService.java | 2 +-
.../shared/service/impl/LogbackLoggingService.java | 2 +-
.../service/reloadable/ProxiedFactoryBean.java | 2 +-
.../spring/service/ReloadableSpringService.java | 2 +-
.../context/DelimiterAwareApplicationContext.java | 4 +-
.../spring/config/DeprecatedBeanDetector.java | 6 +-
.../spring/config/FunctionToFunctionConverter.java | 4 +-
.../config/PredicateToPredicateConverter.java | 4 +-
.../config/RelocatedBeanFactoryPostProcessor.java | 6 +-
.../config/StringBooleanToPredicateConverter.java | 4 +-
...actPropertiesApplicationContextInitializer.java | 2 +-
.../spring/custom/BaseSpringNamespaceHandler.java | 2 +-
.../AbstractSpringExpressionEvaluator.java | 2 +-
.../spring/factory/EvaluableScriptFactoryBean.java | 2 +-
.../shared/spring/factory/PatternFactoryBean.java | 2 +-
.../spring/util/ApplicationContextBuilder.java | 2 +-
.../shared/spring/util/SpringSupport.java | 2 +-
.../net/shibboleth/shared/codec/Base32Support.java | 2 +-
.../net/shibboleth/shared/codec/Base64Support.java | 2 +-
.../shibboleth/shared/codec/StringDigester.java | 2 +-
.../AbstractIdentifiedInitializableComponent.java | 2 +-
.../shared/component/ComponentSupport.java | 2 +-
.../primitive/CleanerSupport.java | 2 +-
.../primitive/DeprecationSupport.java | 2 +-
.../primitive/LangBearingString.java | 2 +-
.../primitive/ObjectSupport.java | 18 +---
.../primitive/StringSupport.java | 2 +-
.../support => shared}/primitive/TimerSupport.java | 2 +-
.../shibboleth/shared/primitive/package-info.java | 23 +---
.../resolver/CriterionPredicateRegistry.java | 2 +-
.../shared/scripting/EvaluableScript.java | 2 +-
.../shibboleth/shared/xml/AttributeSupport.java | 2 +-
.../net/shibboleth/shared/xml/DOMTypeSupport.java | 2 +-
.../net/shibboleth/shared/xml/ElementSupport.java | 2 +-
.../shibboleth/shared/xml/NamespaceSupport.java | 2 +-
.../net/shibboleth/shared/xml/QNameSupport.java | 2 +-
.../net/shibboleth/shared/xml/SchemaBuilder.java | 2 +-
.../shared/xml/impl/BasicParserPool.java | 2 +-
.../utilities/java/support/codec/HTMLEncoder.java | 4 +-
.../utilities/java/support/logic/Predicate.java | 4 +-
.../support/logic/TrimOrNullStringFunction.java | 2 +-
.../support/primitive/LazilyFormattedString.java | 55 ----------
.../java/support/primitive/StringSupport.java | 119 +++++++--------------
.../primitive/ObjectSupportTest.java | 45 +-------
.../primitive/StringSupportTest.java | 4 +-
.../primitive/TimerSupportTest.java | 2 +-
.../shibboleth/shared/xml/ElementSupportTest.java | 2 +-
.../primitive/LazilyFormattedStringTest.java | 51 ---------
.../java/support => shared}/primitive/data.txt | 0
.../shared/testing/DatabaseTestingSupport.java | 4 +-
.../shared/testing/RepositorySupport.java | 2 +-
.../net/shibboleth/shared/velocity/Template.java | 2 +-
77 files changed, 125 insertions(+), 356 deletions(-)
diff --git a/shib-networking-spring/src/main/java/net/shibboleth/shared/spring/httpclient/resource/HTTPResource.java b/shib-networking-spring/src/main/java/net/shibboleth/shared/spring/httpclient/resource/HTTPResource.java
index 24a1d950..fbbc44f7 100644
--- a/shib-networking-spring/src/main/java/net/shibboleth/shared/spring/httpclient/resource/HTTPResource.java
+++ b/shib-networking-spring/src/main/java/net/shibboleth/shared/spring/httpclient/resource/HTTPResource.java
@@ -52,8 +52,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.httpclient.HttpClientContextHandler;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Resource for looking up HTTP URLs. Allows injection and therefore configuration of an Apache {@link HttpClient}. Code
diff --git a/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/httpclient/resource/RepositorySupport.java b/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/httpclient/resource/RepositorySupport.java
index 2739e7d2..3137c6f3 100644
--- a/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/httpclient/resource/RepositorySupport.java
+++ b/shib-networking-spring/src/test/java/net/shibboleth/shared/spring/httpclient/resource/RepositorySupport.java
@@ -20,8 +20,8 @@ package net.shibboleth.shared.spring.httpclient.resource;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Support class for working with the project version control repository.
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/FileCachingHttpClientBuilder.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/FileCachingHttpClientBuilder.java
index 6d26b49f..a71d6d4e 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/FileCachingHttpClientBuilder.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/FileCachingHttpClientBuilder.java
@@ -46,9 +46,9 @@ import net.shibboleth.shared.component.DestroyedComponentException;
import net.shibboleth.shared.component.DestructableComponent;
import net.shibboleth.shared.component.InitializableComponent;
import net.shibboleth.shared.component.UninitializedComponentException;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.primitive.TimerSupport;
/**
* An {@link org.apache.http.client.HttpClient} builder that supports RFC 2616 caching.
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientBuilder.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientBuilder.java
index ee235f82..ceb6af1a 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientBuilder.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/HttpClientBuilder.java
@@ -44,8 +44,8 @@ import org.apache.http.util.CharsetUtils;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
//TODO retry attempts, keep alive strategy
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/IdleConnectionSweeper.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/IdleConnectionSweeper.java
index fb521167..f4e6ca38 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/IdleConnectionSweeper.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/IdleConnectionSweeper.java
@@ -28,8 +28,8 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.component.DestroyedComponentException;
import net.shibboleth.shared.component.DestructableComponent;
+import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.TimerSupport;
import org.apache.http.conn.HttpClientConnectionManager;
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactory.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactory.java
index 0b45486c..48635e91 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactory.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactory.java
@@ -35,8 +35,8 @@ import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.apache.http.HttpHost;
import org.apache.http.conn.socket.LayeredConnectionSocketFactory;
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactoryBuilder.java b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactoryBuilder.java
index 007856c8..0668a584 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactoryBuilder.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/httpclient/TLSSocketFactoryBuilder.java
@@ -32,7 +32,7 @@ import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* A builder for instances of {@link TLSSocketFactory} which allows easy specification
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/CookieManager.java b/shib-networking/src/main/java/net/shibboleth/shared/net/CookieManager.java
index 6e08730b..e66ec89d 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/CookieManager.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/CookieManager.java
@@ -29,8 +29,8 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* A helper class for managing one or more cookies on behalf of a component.
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/HttpServletSupport.java b/shib-networking/src/main/java/net/shibboleth/shared/net/HttpServletSupport.java
index 1efde5e9..b5240253 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/HttpServletSupport.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/HttpServletSupport.java
@@ -36,7 +36,7 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/** Utilities for working with HTTP Servlet requests and responses. */
public final class HttpServletSupport {
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/IPRange.java b/shib-networking/src/main/java/net/shibboleth/shared/net/IPRange.java
index 1fe69583..9b90e674 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/IPRange.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/IPRange.java
@@ -25,7 +25,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/** Represents a range of IP addresses. */
public class IPRange {
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/MediaTypeSupport.java b/shib-networking/src/main/java/net/shibboleth/shared/net/MediaTypeSupport.java
index bb169956..eb0a828a 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/MediaTypeSupport.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/MediaTypeSupport.java
@@ -23,7 +23,7 @@ import java.util.function.Function;
import com.google.common.net.MediaType;
import net.shibboleth.shared.net.impl.StripMediaTypeParametersFunction;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* Support methods for Guava {@link MediaType}.
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/SimpleURLCanonicalizer.java b/shib-networking/src/main/java/net/shibboleth/shared/net/SimpleURLCanonicalizer.java
index 43a53d1c..5c8e023b 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/SimpleURLCanonicalizer.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/SimpleURLCanonicalizer.java
@@ -27,8 +27,8 @@ import javax.annotation.Nullable;
import com.google.common.base.Strings;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* This class performs simple canonicalization of a URL as follows:
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/URISupport.java b/shib-networking/src/main/java/net/shibboleth/shared/net/URISupport.java
index d01f2ae5..f6bf8897 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/URISupport.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/URISupport.java
@@ -33,7 +33,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.collection.LazyList;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/** Helper methods for building {@link URI}s and parsing some HTTP URL information. */
public final class URISupport {
diff --git a/shib-networking/src/main/java/net/shibboleth/shared/net/URLBuilder.java b/shib-networking/src/main/java/net/shibboleth/shared/net/URLBuilder.java
index d6b4b257..20957cf0 100644
--- a/shib-networking/src/main/java/net/shibboleth/shared/net/URLBuilder.java
+++ b/shib-networking/src/main/java/net/shibboleth/shared/net/URLBuilder.java
@@ -29,7 +29,7 @@ import com.google.common.base.Strings;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* Utility class for building URLs. May also be used to parse a URL into its individual components.
diff --git a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
index 09d0dc62..62c2fca4 100644
--- a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
+++ b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/httpclient/HttpClientSupport.java
@@ -34,8 +34,8 @@ import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.conn.socket.LayeredConnectionSocketFactory;
import net.shibboleth.shared.httpclient.HttpClientContextHandler;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* Old support class for using {@link HttpClient} and related components.
diff --git a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
index 472bb6ca..e25c4d4a 100644
--- a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
+++ b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/DynamicResponseHeaderFilter.java
@@ -41,7 +41,7 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletResponseWrapper;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* Implementation of an HTTP servlet {@link Filter} which supports configurable response header
diff --git a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
index 57137b87..c1c17a88 100644
--- a/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
+++ b/shib-networking/src/main/java/net/shibboleth/utilities/java/support/net/SameSiteCookieHeaderFilter.java
@@ -47,8 +47,8 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletResponseWrapper;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
diff --git a/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/KeyStoreFactoryBean.java b/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/KeyStoreFactoryBean.java
index add4c8ba..3009a7be 100644
--- a/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/KeyStoreFactoryBean.java
+++ b/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/KeyStoreFactoryBean.java
@@ -23,8 +23,8 @@ import java.security.KeyStore;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.FactoryBeanNotInitializedException;
diff --git a/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/PrivateKeyFactoryBean.java b/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/PrivateKeyFactoryBean.java
index 631bc501..ca222891 100644
--- a/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/PrivateKeyFactoryBean.java
+++ b/shib-security-spring/src/main/java/net/shibboleth/shared/spring/security/factory/PrivateKeyFactoryBean.java
@@ -23,8 +23,8 @@ import java.security.PrivateKey;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.cryptacular.util.KeyPairUtil;
import org.springframework.beans.factory.BeanCreationException;
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/DataSealer.java b/shib-security/src/main/java/net/shibboleth/shared/security/DataSealer.java
index 1124a937..190672f2 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/DataSealer.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/DataSealer.java
@@ -49,9 +49,9 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicAccessControlService.java b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicAccessControlService.java
index 370d0615..e5aac669 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicAccessControlService.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicAccessControlService.java
@@ -30,9 +30,9 @@ import org.slf4j.LoggerFactory;
import jakarta.servlet.ServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.security.AccessControl;
import net.shibboleth.shared.security.AccessControlService;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/** Simple implementation that uses an in-memory map of policies. */
public class BasicAccessControlService extends AbstractIdentifiableInitializableComponent
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategy.java b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategy.java
index 1a7225d8..9ebd31c7 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategy.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategy.java
@@ -45,13 +45,13 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.security.DataSealerKeyStrategy;
import net.shibboleth.shared.security.KeyNotFoundException;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.primitive.TimerSupport;
/**
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategyTool.java b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategyTool.java
index ac71be29..7bda446a 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategyTool.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/impl/BasicKeystoreKeyStrategyTool.java
@@ -31,8 +31,8 @@ import javax.crypto.SecretKey;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.Positive;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/impl/ScriptedKeyStrategy.java b/shib-security/src/main/java/net/shibboleth/shared/security/impl/ScriptedKeyStrategy.java
index 08c41484..d2149e5e 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/impl/ScriptedKeyStrategy.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/impl/ScriptedKeyStrategy.java
@@ -40,10 +40,10 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.shared.scripting.EvaluableScript;
import net.shibboleth.shared.security.DataSealerKeyStrategy;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.TimerSupport;
/**
diff --git a/shib-security/src/main/java/net/shibboleth/shared/security/impl/SelfSignedCertificateGenerator.java b/shib-security/src/main/java/net/shibboleth/shared/security/impl/SelfSignedCertificateGenerator.java
index 026ee380..cd69a3bf 100644
--- a/shib-security/src/main/java/net/shibboleth/shared/security/impl/SelfSignedCertificateGenerator.java
+++ b/shib-security/src/main/java/net/shibboleth/shared/security/impl/SelfSignedCertificateGenerator.java
@@ -40,8 +40,8 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.Positive;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.DERSequence;
diff --git a/shib-service/src/main/java/net/shibboleth/shared/service/AbstractReloadableService.java b/shib-service/src/main/java/net/shibboleth/shared/service/AbstractReloadableService.java
index 7f4f5bf8..b9ba59b3 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/service/AbstractReloadableService.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/service/AbstractReloadableService.java
@@ -32,8 +32,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.component.UnmodifiableComponent;
+import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.TimerSupport;
/**
* Base class for {@link ReloadableService}. This base class will use a background thread that will perform a periodic
diff --git a/shib-service/src/main/java/net/shibboleth/shared/service/impl/LogbackLoggingService.java b/shib-service/src/main/java/net/shibboleth/shared/service/impl/LogbackLoggingService.java
index 9cebaf7b..3346b2b3 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/service/impl/LogbackLoggingService.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/service/impl/LogbackLoggingService.java
@@ -39,13 +39,13 @@ import ch.qos.logback.core.status.StatusManager;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.service.AbstractReloadableService;
import net.shibboleth.shared.service.LoggingService;
import net.shibboleth.shared.service.ServiceException;
import net.shibboleth.shared.service.ServiceableComponent;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Simple {@link LoggingService} that watches for logback configuration file changes
diff --git a/shib-service/src/main/java/net/shibboleth/shared/service/reloadable/ProxiedFactoryBean.java b/shib-service/src/main/java/net/shibboleth/shared/service/reloadable/ProxiedFactoryBean.java
index 4bb0e47a..6a3819b4 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/service/reloadable/ProxiedFactoryBean.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/service/reloadable/ProxiedFactoryBean.java
@@ -27,10 +27,10 @@ import org.springframework.context.ApplicationContext;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.service.ServiceableComponent;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Factory bean that proxies the creation of a bean through a managed/reloadable
diff --git a/shib-service/src/main/java/net/shibboleth/shared/spring/service/ReloadableSpringService.java b/shib-service/src/main/java/net/shibboleth/shared/spring/service/ReloadableSpringService.java
index 547cecd7..e1958dae 100644
--- a/shib-service/src/main/java/net/shibboleth/shared/spring/service/ReloadableSpringService.java
+++ b/shib-service/src/main/java/net/shibboleth/shared/spring/service/ReloadableSpringService.java
@@ -45,12 +45,12 @@ import org.springframework.core.io.Resource;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.service.AbstractReloadableService;
import net.shibboleth.shared.service.ServiceException;
import net.shibboleth.shared.service.ServiceableComponent;
import net.shibboleth.shared.spring.util.ApplicationContextBuilder;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
diff --git a/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java b/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java
index 59cf509d..04c0c8de 100644
--- a/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java
+++ b/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java
@@ -17,8 +17,8 @@
package net.shibboleth.ext.spring.context;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* This is a stub to preserve compatibility for old web.xml references to this class.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/DeprecatedBeanDetector.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/DeprecatedBeanDetector.java
index a66a5c9a..c40c9ad1 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/DeprecatedBeanDetector.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/DeprecatedBeanDetector.java
@@ -28,9 +28,9 @@ import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* A utility bean to look for and warn about deprecated bean names.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/FunctionToFunctionConverter.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/FunctionToFunctionConverter.java
index 381cfb44..1830bfdd 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/FunctionToFunctionConverter.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/FunctionToFunctionConverter.java
@@ -19,8 +19,8 @@ package net.shibboleth.shared.spring.config;
import org.springframework.core.convert.converter.Converter;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* Auto-converts standard Java functions to Guava's version for legacy compatibility.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/PredicateToPredicateConverter.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/PredicateToPredicateConverter.java
index 30c0dae7..06583d57 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/PredicateToPredicateConverter.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/PredicateToPredicateConverter.java
@@ -19,8 +19,8 @@ package net.shibboleth.shared.spring.config;
import org.springframework.core.convert.converter.Converter;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* Auto-converts standard Java predicates to Guava's version for legacy compatibility.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/RelocatedBeanFactoryPostProcessor.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/RelocatedBeanFactoryPostProcessor.java
index aaf954be..f643ff08 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/RelocatedBeanFactoryPostProcessor.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/RelocatedBeanFactoryPostProcessor.java
@@ -30,9 +30,9 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* A {@link BeanFactoryPostProcessor} to rewrite and log on relocated classes or parent beans.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/StringBooleanToPredicateConverter.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/StringBooleanToPredicateConverter.java
index adce3611..5d709c1b 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/config/StringBooleanToPredicateConverter.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/config/StringBooleanToPredicateConverter.java
@@ -21,14 +21,14 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import com.google.common.base.Predicates;
+import net.shibboleth.shared.primitive.StringSupport;
+
/**
* Allows setting of fixed {@link Predicate} properties using a boolean string.
*/
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/context/AbstractPropertiesApplicationContextInitializer.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/context/AbstractPropertiesApplicationContextInitializer.java
index 8499d7a1..4e81d2bc 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/context/AbstractPropertiesApplicationContextInitializer.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/context/AbstractPropertiesApplicationContextInitializer.java
@@ -50,9 +50,9 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* An {@link ApplicationContextInitializer} which appends properties to the application context's environment.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/custom/BaseSpringNamespaceHandler.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/custom/BaseSpringNamespaceHandler.java
index 4518c79b..a81c264f 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/custom/BaseSpringNamespaceHandler.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/custom/BaseSpringNamespaceHandler.java
@@ -47,9 +47,9 @@ import org.w3c.dom.Node;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.DOMTypeSupport;
import net.shibboleth.shared.xml.QNameSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* A base class for {@link NamespaceHandler} implementations.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/expression/AbstractSpringExpressionEvaluator.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/expression/AbstractSpringExpressionEvaluator.java
index 9b321524..81f1277a 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/expression/AbstractSpringExpressionEvaluator.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/expression/AbstractSpringExpressionEvaluator.java
@@ -29,8 +29,8 @@ import org.springframework.expression.spel.support.StandardEvaluationContext;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* A component that evaluates a Spring EL expression against a set of inputs
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/EvaluableScriptFactoryBean.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/EvaluableScriptFactoryBean.java
index 1e60d432..5101580a 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/EvaluableScriptFactoryBean.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/EvaluableScriptFactoryBean.java
@@ -19,8 +19,8 @@ package net.shibboleth.shared.spring.factory;
import java.io.InputStream;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.scripting.EvaluableScript;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/PatternFactoryBean.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/PatternFactoryBean.java
index 597dada8..464b3e85 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/PatternFactoryBean.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/factory/PatternFactoryBean.java
@@ -22,8 +22,8 @@ import java.util.regex.Pattern;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Factory bean for {@link Pattern}. Allows us to inject property based case sensitivity.
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
index c48736e6..6ce75c0c 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/ApplicationContextBuilder.java
@@ -30,6 +30,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.config.BooleanToPredicateConverter;
import net.shibboleth.shared.spring.config.FunctionToFunctionConverter;
import net.shibboleth.shared.spring.config.PredicateToPredicateConverter;
@@ -42,7 +43,6 @@ import net.shibboleth.shared.spring.custom.SchemaTypeAwareXMLBeanDefinitionReade
import net.shibboleth.shared.spring.resource.ConditionalResourceResolver;
import net.shibboleth.shared.spring.resource.PreferFileSystemResourceLoader;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/SpringSupport.java b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/SpringSupport.java
index 47145a69..6d7e710e 100644
--- a/shib-spring/src/main/java/net/shibboleth/shared/spring/util/SpringSupport.java
+++ b/shib-spring/src/main/java/net/shibboleth/shared/spring/util/SpringSupport.java
@@ -52,11 +52,11 @@ import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.net.HttpServletSupport;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.context.FilesystemGenericApplicationContext;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLConstants;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Helper class for performing some common Spring-related functions.
diff --git a/shib-support/src/main/java/net/shibboleth/shared/codec/Base32Support.java b/shib-support/src/main/java/net/shibboleth/shared/codec/Base32Support.java
index db8c2def..2f9b1f7b 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/codec/Base32Support.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/codec/Base32Support.java
@@ -19,8 +19,8 @@ package net.shibboleth.shared.codec;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.apache.commons.codec.CodecPolicy;
import org.apache.commons.codec.binary.Base32;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/codec/Base64Support.java b/shib-support/src/main/java/net/shibboleth/shared/codec/Base64Support.java
index 87ee81a0..4b0ac336 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/codec/Base64Support.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/codec/Base64Support.java
@@ -19,8 +19,8 @@ package net.shibboleth.shared.codec;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.apache.commons.codec.CodecPolicy;
import org.apache.commons.codec.binary.Base64;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/codec/StringDigester.java b/shib-support/src/main/java/net/shibboleth/shared/codec/StringDigester.java
index 665deb3d..5225166c 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/codec/StringDigester.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/codec/StringDigester.java
@@ -27,8 +27,8 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.apache.commons.codec.CharEncoding;
import org.apache.commons.codec.binary.Hex;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/component/AbstractIdentifiedInitializableComponent.java b/shib-support/src/main/java/net/shibboleth/shared/component/AbstractIdentifiedInitializableComponent.java
index 956091cb..7a19b2f3 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/component/AbstractIdentifiedInitializableComponent.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/component/AbstractIdentifiedInitializableComponent.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.ThreadSafe;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Simple implementation of {@link InitializableComponent} and {@link IdentifiedComponent}.
diff --git a/shib-support/src/main/java/net/shibboleth/shared/component/ComponentSupport.java b/shib-support/src/main/java/net/shibboleth/shared/component/ComponentSupport.java
index 95f0b2c9..026902d3 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/component/ComponentSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/component/ComponentSupport.java
@@ -20,8 +20,8 @@ package net.shibboleth.shared.component;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/** Support class for working with {@link Component} objects. */
@Deprecated(forRemoval = true, since = "5.0")
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/CleanerSupport.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/CleanerSupport.java
similarity index 96%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/CleanerSupport.java
rename to shib-support/src/main/java/net/shibboleth/shared/primitive/CleanerSupport.java
index 9aaa8db3..c7211ed9 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/CleanerSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/CleanerSupport.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import java.lang.ref.Cleaner;
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/DeprecationSupport.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/DeprecationSupport.java
similarity index 99%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/DeprecationSupport.java
rename to shib-support/src/main/java/net/shibboleth/shared/primitive/DeprecationSupport.java
index 9d8ed9ff..e48d7708 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/DeprecationSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/DeprecationSupport.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import java.util.HashSet;
import java.util.Set;
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LangBearingString.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/LangBearingString.java
similarity index 97%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LangBearingString.java
rename to shib-support/src/main/java/net/shibboleth/shared/primitive/LangBearingString.java
index 183e8a1c..d6c9ce0d 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LangBearingString.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/LangBearingString.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import javax.annotation.Nullable;
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/ObjectSupport.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/ObjectSupport.java
similarity index 80%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/ObjectSupport.java
rename to shib-support/src/main/java/net/shibboleth/shared/primitive/ObjectSupport.java
index 25ba236c..03fb5640 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/ObjectSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/ObjectSupport.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import javax.annotation.Nullable;
@@ -26,22 +26,6 @@ public final class ObjectSupport {
/** Constructor. */
private ObjectSupport() {
}
-
- /**
- * Performs a safe (null-aware) {@link Object#hashCode()}.
- *
- * @param o object for which to get the hash code, may be null
- *
- * @return the hash code for the object of 0 if the given object is null
- */
- @Deprecated(forRemoval=true)
- public static int hashCode(@Nullable final Object o) {
- if (o == null) {
- return 0;
- }
-
- return o.hashCode();
- }
/**
* Return the first from a list of arguments that is non-null, or null if all arguments
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/StringSupport.java
similarity index 99%
copy from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
copy to shib-support/src/main/java/net/shibboleth/shared/primitive/StringSupport.java
index 4c955c56..50041392 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/StringSupport.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/TimerSupport.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/TimerSupport.java
similarity index 98%
rename from shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/TimerSupport.java
rename to shib-support/src/main/java/net/shibboleth/shared/primitive/TimerSupport.java
index 76dde3a9..9bf99019 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/TimerSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/TimerSupport.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import java.util.Timer;
diff --git a/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java b/shib-support/src/main/java/net/shibboleth/shared/primitive/package-info.java
similarity index 52%
copy from shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java
copy to shib-support/src/main/java/net/shibboleth/shared/primitive/package-info.java
index 59cf509d..38b3f97a 100644
--- a/shib-spring/src/main/java/net/shibboleth/ext/spring/context/DelimiterAwareApplicationContext.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/primitive/package-info.java
@@ -15,24 +15,5 @@
* limitations under the License.
*/
-package net.shibboleth.ext.spring.context;
-
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-
-/**
- * This is a stub to preserve compatibility for old web.xml references to this class.
- *
- * @deprecated
- */
- at Deprecated(forRemoval=true, since="9.0.0")
-public class DelimiterAwareApplicationContext
- extends net.shibboleth.shared.spring.context.DelimiterAwareApplicationContext {
-
- /** Constructor. */
- public DelimiterAwareApplicationContext() {
- DeprecationSupport.warn(ObjectType.CLASS, getClass().getName(), "web.xml",
- net.shibboleth.shared.spring.context.DelimiterAwareApplicationContext.class.getName());
- }
-
-}
\ No newline at end of file
+/** A set of utilities dealing with Java's primitive types. */
+package net.shibboleth.shared.primitive;
\ No newline at end of file
diff --git a/shib-support/src/main/java/net/shibboleth/shared/resolver/CriterionPredicateRegistry.java b/shib-support/src/main/java/net/shibboleth/shared/resolver/CriterionPredicateRegistry.java
index a326970c..62a2e628 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/resolver/CriterionPredicateRegistry.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/resolver/CriterionPredicateRegistry.java
@@ -29,8 +29,8 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java b/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
index 40bc28c5..546b5ada 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/scripting/EvaluableScript.java
@@ -41,10 +41,10 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/** This is a helper class that takes care of reading in, optionally compiling, and evaluating a script. */
public final class EvaluableScript extends AbstractInitializableComponent {
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
index d60bfbe1..5b04b490 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/AttributeSupport.java
@@ -26,8 +26,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
index e9bf6d8d..15d8f92b 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/DOMTypeSupport.java
@@ -30,8 +30,8 @@ import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.w3c.dom.Attr;
import org.w3c.dom.Element;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/ElementSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/ElementSupport.java
index 70f4cae4..c7aa2c3f 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/ElementSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/ElementSupport.java
@@ -28,8 +28,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/NamespaceSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/NamespaceSupport.java
index a898d2cf..14a018e4 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/NamespaceSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/NamespaceSupport.java
@@ -22,8 +22,8 @@ import java.util.Objects;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/QNameSupport.java b/shib-support/src/main/java/net/shibboleth/shared/xml/QNameSupport.java
index 3f59148b..eae9b3d1 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/QNameSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/QNameSupport.java
@@ -24,8 +24,8 @@ import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/SchemaBuilder.java b/shib-support/src/main/java/net/shibboleth/shared/xml/SchemaBuilder.java
index 05108f12..a43f45a7 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/SchemaBuilder.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/SchemaBuilder.java
@@ -37,10 +37,10 @@ import javax.xml.validation.SchemaFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NullableElements;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.xml.impl.LoggingErrorHandler;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/shib-support/src/main/java/net/shibboleth/shared/xml/impl/BasicParserPool.java b/shib-support/src/main/java/net/shibboleth/shared/xml/impl/BasicParserPool.java
index 305efb56..bfb1a196 100644
--- a/shib-support/src/main/java/net/shibboleth/shared/xml/impl/BasicParserPool.java
+++ b/shib-support/src/main/java/net/shibboleth/shared/xml/impl/BasicParserPool.java
@@ -55,10 +55,10 @@ import net.shibboleth.shared.annotation.constraint.NullableElements;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.XMLParserException;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
//TODO(lajoie) see if we can use either java.util.concurrent or Guava
// classes for the pool so we don't have to manage synchronicity
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/codec/HTMLEncoder.java b/shib-support/src/main/java/net/shibboleth/utilities/java/support/codec/HTMLEncoder.java
index bcad3576..76137435 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/codec/HTMLEncoder.java
+++ b/shib-support/src/main/java/net/shibboleth/utilities/java/support/codec/HTMLEncoder.java
@@ -35,8 +35,8 @@ package net.shibboleth.utilities.java.support.codec;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* Legacy version of {@link net.shibboleth.shared.codec.HTMLEncoder}.
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/Predicate.java b/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/Predicate.java
index bd98c983..d158da09 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/Predicate.java
+++ b/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/Predicate.java
@@ -19,8 +19,8 @@ package net.shibboleth.utilities.java.support.logic;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
* A convenience interface to allow our own classes to implement the Java
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.java b/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.java
index 95c31c89..0dda3805 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.java
+++ b/shib-support/src/main/java/net/shibboleth/utilities/java/support/logic/TrimOrNullStringFunction.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.primitive.StringSupport;
import com.google.common.base.MoreObjects;
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedString.java b/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedString.java
deleted file mode 100644
index 7822fe34..00000000
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedString.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.utilities.java.support.primitive;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
-/**
- * An object that represents a string containing a {@link java.util.Formatter} string and a set of values. When
- * {@link #toString()} is called the format string is filled in with the given values. This allows for lazy evaluation
- * of the value objects formatting function which may be expensive.
- */
-public class LazilyFormattedString {
-
- /** The template that is filled in with the values. */
- private final String template;
-
- /** The values that are filled in to the template string. */
- private final Object[] arguments;
-
- /**
- * Constructor.
- *
- * @param stringTemplate the {@link java.util.Formatter} template string
- * @param templateArguments the arguments to the template
- */
- public LazilyFormattedString(@Nonnull final String stringTemplate, @Nullable final Object... templateArguments) {
- template = Constraint.isNotNull(stringTemplate, "String template can not be null");
- arguments = templateArguments;
- }
-
- /** {@inheritDoc} */
- @Override
- public String toString() {
- return String.format(template, arguments);
- }
-
-}
\ No newline at end of file
diff --git a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java b/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
index 4c955c56..11f6eaf4 100644
--- a/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
+++ b/shib-support/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
@@ -17,29 +17,27 @@
package net.shibboleth.utilities.java.support.primitive;
-import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
-import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NullableElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
-/** String utility methods. */
+/**
+ * Legacy stub for {@link net.shibboleth.shared.primitive.StringSupport}.
+ *
+ * @deprecated
+ */
+ at Deprecated(since="9.0.0", forRemoval=true)
public final class StringSupport {
/** Constructor. */
@@ -58,20 +56,10 @@ public final class StringSupport {
*/
@Nonnull public static String inputStreamToString(@Nonnull final InputStream input,
@Nullable final CharsetDecoder decoder) throws IOException {
- CharsetDecoder charsetDecoder = decoder;
- if (decoder == null) {
- charsetDecoder = Charset.defaultCharset().newDecoder();
- }
-
- try (final BufferedReader reader = new BufferedReader(new InputStreamReader(input, charsetDecoder))) {
- final StringBuilder stringBuffer = new StringBuilder();
- String line = reader.readLine();
- while (line != null) {
- stringBuffer.append(line).append("\n");
- line = reader.readLine();
- }
- return stringBuffer.toString();
- }
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
+
+ return net.shibboleth.shared.primitive.StringSupport.inputStreamToString(input, decoder);
}
/**
@@ -83,19 +71,10 @@ public final class StringSupport {
* @return delimited string of values
*/
@Nonnull public static String listToStringValue(@Nonnull final List<?> values, @Nonnull final String delimiter) {
- Constraint.isNotNull(values, "List of values can not be null");
- Constraint.isNotNull(delimiter, "String delimiter may not be null");
-
- final StringBuilder stringValue = new StringBuilder();
- final Iterator<?> valueItr = values.iterator();
- while (valueItr.hasNext()) {
- stringValue.append(valueItr.next());
- if (valueItr.hasNext()) {
- stringValue.append(delimiter);
- }
- }
-
- return stringValue.toString();
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
+
+ return net.shibboleth.shared.primitive.StringSupport.listToStringValue(values, delimiter);
}
/**
@@ -109,23 +88,10 @@ public final class StringSupport {
* @return the list of values or an empty list if the given string is empty
*/
@Nonnull public static List<String> stringToList(@Nonnull final String string, @Nonnull final String delimiter) {
- Constraint.isNotNull(string, "String data can not be null");
- Constraint.isNotNull(delimiter, "String delimiter may not be null");
-
- final ArrayList<String> values = new ArrayList<>();
-
- final String trimmedString = trimOrNull(string);
- if (trimmedString != null) {
- final StringTokenizer tokens = new StringTokenizer(trimmedString, delimiter);
- while (tokens.hasMoreTokens()) {
- values.add(tokens.nextToken());
- }
- if (string.endsWith(delimiter)) {
- values.add("");
- }
- }
-
- return values;
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
+
+ return net.shibboleth.shared.primitive.StringSupport.stringToList(string, delimiter);
}
/**
@@ -136,11 +102,10 @@ public final class StringSupport {
* @return the trimmed string or null if the given string was null
*/
@Nullable public static String trim(@Nullable final String s) {
- if (s == null) {
- return null;
- }
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
- return s.trim();
+ return net.shibboleth.shared.primitive.StringSupport.trim(s);
}
/**
@@ -151,12 +116,10 @@ public final class StringSupport {
* @return the trimmed string or null if the given string was null or the trimmed string was empty
*/
@Nullable public static String trimOrNull(@Nullable final String s) {
- final String temp = trim(s);
- if (temp == null || temp.length() == 0) {
- return null;
- }
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
- return temp;
+ return net.shibboleth.shared.primitive.StringSupport.trimOrNull(s);
}
/**
@@ -172,11 +135,10 @@ public final class StringSupport {
*/
@Nonnull @NonnullElements public static Collection<String> normalizeStringCollection(
@Nullable @NullableElements final Collection<String> values) {
- if (values == null) {
- return Collections.emptyList();
- }
-
- return values.stream().map(StringSupport::trimOrNull).filter(e->e != null).collect(Collectors.toList());
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
+
+ return net.shibboleth.shared.primitive.StringSupport.normalizeStringCollection(values);
}
/** Null/empty preserving conversion from xs:boolean to {@link Boolean}.
@@ -184,19 +146,10 @@ public final class StringSupport {
* @return null or the boolean equivalent.
*/
@Nullable public static Boolean booleanOf(final String what) {
- final String trimmed = trimOrNull(what);
- if (trimmed == null) {
- return null;
- }
- if ("1".equals(what)) {
- return true;
- } else if ("0".equals(what)) {
- return false;
- } else if ("true".equals(what)) {
- return true;
- } else if ("false".equals(what)) {
- return false;
- }
- throw new ConstraintViolationException("XML Booleans must be 0/1/true/false");
+ DeprecationSupport.warn(ObjectType.CLASS, StringSupport.class.getName(), null,
+ net.shibboleth.shared.primitive.StringSupport.class.getName());
+
+ return net.shibboleth.shared.primitive.StringSupport.booleanOf(what);
}
-}
+
+}
\ No newline at end of file
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/ObjectSupportTest.java b/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
similarity index 51%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/ObjectSupportTest.java
rename to shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
index e5b47a25..e36278c2 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/ObjectSupportTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/primitive/ObjectSupportTest.java
@@ -15,13 +15,11 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import org.testng.Assert;
import org.testng.annotations.Test;
-import com.google.common.base.Objects;
-
/**
* Test for the remaining method in {@link ObjectSupport}
*/
@@ -41,45 +39,4 @@ public class ObjectSupportTest {
Assert.assertNull(ObjectSupport.firstNonNull());
}
- @SuppressWarnings("removal")
- @Test public void testHashCode() {
- ComplexClass c1 = new ComplexClass(Integer.valueOf(1), Double.valueOf(3.4), "String!");
- ComplexClass c2 = new ComplexClass("String3", Integer.valueOf(1243), Boolean.valueOf(false));
-
- Assert.assertEquals(ObjectSupport.hashCode(null), 0, "Hashcode of null is 0");
- Assert.assertEquals(ObjectSupport.hashCode(c1), c1.hashCode(),
- "Hashcode of should be the same no matter how called");
- Assert.assertEquals(ObjectSupport.hashCode(c2), c2.hashCode(),
- "Hashcode of should be the same no matter how called");
- Assert.assertNotSame(ObjectSupport.hashCode(c1), ObjectSupport.hashCode(c2),
- "Hashcode of different objects should differ");
- Assert.assertEquals(c2.getHashCalls(), 3, "Hashcode should have been called three times");
-
- }
-
- private class ComplexClass {
-
- private Object object1;
-
- private Object object2;
-
- private Object object3;
-
- private int hashCalls;
-
- public int getHashCalls() {
- return hashCalls;
- }
-
- ComplexClass(Object o1, Object o2, Object o3) {
- object1 = o1;
- object2 = o2;
- object3 = o3;
- }
-
- public int hashCode() {
- hashCalls++;
- return Objects.hashCode(object1, object2, object3);
- }
- }
}
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java b/shib-support/src/test/java/net/shibboleth/shared/primitive/StringSupportTest.java
similarity index 98%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java
rename to shib-support/src/test/java/net/shibboleth/shared/primitive/StringSupportTest.java
index 6576fef3..0837fb49 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/primitive/StringSupportTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
@@ -55,7 +55,7 @@ public class StringSupportTest {
@Test public void testInputStreamToString() throws IOException {
String str = null;
- try (final InputStream stream = getClass().getResourceAsStream("/net/shibboleth/utilities/java/support/primitive/data.txt")) {
+ try (final InputStream stream = getClass().getResourceAsStream("/net/shibboleth/shared/primitive/data.txt")) {
str = StringSupport.inputStreamToString(stream, null);
}
assertNotNull(str);
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/TimerSupportTest.java b/shib-support/src/test/java/net/shibboleth/shared/primitive/TimerSupportTest.java
similarity index 98%
rename from shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/TimerSupportTest.java
rename to shib-support/src/test/java/net/shibboleth/shared/primitive/TimerSupportTest.java
index 03ffabb8..731368ea 100644
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/TimerSupportTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/primitive/TimerSupportTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.utilities.java.support.primitive;
+package net.shibboleth.shared.primitive;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/shib-support/src/test/java/net/shibboleth/shared/xml/ElementSupportTest.java b/shib-support/src/test/java/net/shibboleth/shared/xml/ElementSupportTest.java
index 88c85101..116f70e5 100644
--- a/shib-support/src/test/java/net/shibboleth/shared/xml/ElementSupportTest.java
+++ b/shib-support/src/test/java/net/shibboleth/shared/xml/ElementSupportTest.java
@@ -29,9 +29,9 @@ import javax.xml.parsers.DocumentBuilder;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.impl.BasicParserPool;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
diff --git a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedStringTest.java b/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedStringTest.java
deleted file mode 100644
index a02f3beb..00000000
--- a/shib-support/src/test/java/net/shibboleth/utilities/java/support/primitive/LazilyFormattedStringTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.utilities.java.support.primitive;
-
-import java.util.Formatter;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/** Test for {@link LazilyFormattedString}. */
-public class LazilyFormattedStringTest {
-
- private final static String FORMAT = "%d--%o++%x";
-
- @Test public void testFormat() {
- try (final Formatter formatter = new Formatter()) {
- final Object value = Integer.valueOf(1234567);
- formatter.format(FORMAT, value, value, value);
- final LazilyFormattedString testString = new LazilyFormattedString(FORMAT, value, value, value);
-
- Assert.assertEquals(testString.toString(), formatter.out().toString(),
- "Should be the same result regardless of whether lazily or actively formatted");
- }
- }
-
- @Test public void testNullFormat() {
- try (final Formatter formatter = new Formatter()) {
- final Object value = Integer.valueOf(78654321);
- formatter.format(FORMAT, null, value, null, value);
- final LazilyFormattedString testString = new LazilyFormattedString(FORMAT, null, value, null, value);
-
- Assert.assertEquals(testString.toString(), formatter.out().toString(),
- "Should be the same result regardless of whether lazily or actively formatted");
- }
- }
-}
\ No newline at end of file
diff --git a/shib-support/src/test/resources/net/shibboleth/utilities/java/support/primitive/data.txt b/shib-support/src/test/resources/net/shibboleth/shared/primitive/data.txt
similarity index 100%
rename from shib-support/src/test/resources/net/shibboleth/utilities/java/support/primitive/data.txt
rename to shib-support/src/test/resources/net/shibboleth/shared/primitive/data.txt
diff --git a/shib-testing/src/main/java/net/shibboleth/shared/testing/DatabaseTestingSupport.java b/shib-testing/src/main/java/net/shibboleth/shared/testing/DatabaseTestingSupport.java
index 82f17234..02dce549 100644
--- a/shib-testing/src/main/java/net/shibboleth/shared/testing/DatabaseTestingSupport.java
+++ b/shib-testing/src/main/java/net/shibboleth/shared/testing/DatabaseTestingSupport.java
@@ -28,14 +28,14 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.sql.DataSource;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
import org.hsqldb.jdbc.JDBCDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.io.CharStreams;
+import net.shibboleth.shared.primitive.StringSupport;
+
/**
* Helper class for testing database-backed classes using custom DDL and SQL.
*/
diff --git a/shib-testing/src/main/java/net/shibboleth/shared/testing/RepositorySupport.java b/shib-testing/src/main/java/net/shibboleth/shared/testing/RepositorySupport.java
index 2c955ab3..75d7e319 100644
--- a/shib-testing/src/main/java/net/shibboleth/shared/testing/RepositorySupport.java
+++ b/shib-testing/src/main/java/net/shibboleth/shared/testing/RepositorySupport.java
@@ -20,8 +20,8 @@ package net.shibboleth.shared.testing;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Support class for working with the project version control repository.
diff --git a/shib-velocity/src/main/java/net/shibboleth/shared/velocity/Template.java b/shib-velocity/src/main/java/net/shibboleth/shared/velocity/Template.java
index 91b04ab4..d8a31a87 100644
--- a/shib-velocity/src/main/java/net/shibboleth/shared/velocity/Template.java
+++ b/shib-velocity/src/main/java/net/shibboleth/shared/velocity/Template.java
@@ -26,8 +26,8 @@ import java.util.UUID;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list