[java-opensaml] branch main updated: Rename logic package.
Scott Cantor
cantor.2 at osu.edu
Mon Sep 26 21:17:55 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=c517ee16ccf5be69bc925ea0b7287014e55a9260
The following commit(s) were added to refs/heads/main by this push:
new c517ee16c Rename logic package.
c517ee16c is described below
commit c517ee16ccf5be69bc925ea0b7287014e55a9260
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Sep 26 17:17:52 2022 -0400
Rename logic package.
---
.../src/main/java/org/opensaml/core/config/ConfigurationService.java | 2 +-
.../src/main/java/org/opensaml/core/criterion/EntityIdCriterion.java | 2 +-
.../main/java/org/opensaml/core/metrics/LoggerDrivenMetricFilter.java | 2 +-
.../src/main/java/org/opensaml/core/metrics/MetricsSupport.java | 2 +-
.../src/main/java/org/opensaml/core/xml/AbstractXMLObject.java | 2 +-
.../src/main/java/org/opensaml/core/xml/NamespaceManager.java | 2 +-
.../src/main/java/org/opensaml/core/xml/XMLObjectBuilderFactory.java | 2 +-
.../src/main/java/org/opensaml/core/xml/config/XMLConfigurator.java | 2 +-
.../src/main/java/org/opensaml/core/xml/io/MarshallerFactory.java | 4 ++--
.../src/main/java/org/opensaml/core/xml/io/UnmarshallerFactory.java | 2 +-
.../java/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.java | 2 +-
.../main/java/org/opensaml/core/xml/persist/MapLoadSaveManager.java | 2 +-
.../src/main/java/org/opensaml/core/xml/util/AttributeMap.java | 2 +-
.../src/main/java/org/opensaml/core/xml/util/IDIndex.java | 2 +-
.../java/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.java | 2 +-
.../main/java/org/opensaml/core/xml/util/XMLObjectChildrenList.java | 2 +-
.../src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java | 2 +-
.../java/org/opensaml/core/metrics/impl/FilteredMetricRegistry.java | 2 +-
.../xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java | 2 +-
.../opensaml/core/xml/persist/impl/FilesystemLoadSaveManagerTest.java | 2 +-
.../src/main/java/org/opensaml/messaging/context/BaseContext.java | 2 +-
.../org/opensaml/messaging/context/navigate/ChildContextLookup.java | 2 +-
.../org/opensaml/messaging/context/navigate/MessageContextLookup.java | 2 +-
.../java/org/opensaml/messaging/context/navigate/MessageLookup.java | 2 +-
.../org/opensaml/messaging/context/navigate/ParentContextLookup.java | 2 +-
.../messaging/context/navigate/RecursiveTypedParentContextLookup.java | 2 +-
.../org/opensaml/messaging/context/navigate/RootContextLookup.java | 2 +-
.../decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java | 2 +-
.../decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java | 2 +-
.../java/org/opensaml/messaging/handler/AbstractMessageHandler.java | 2 +-
.../java/org/opensaml/messaging/pipeline/BasicMessagePipeline.java | 4 ++--
.../opensaml/messaging/context/navigate/MessageContextLookupTest.java | 2 +-
.../context/navigate/MockHttpServletRequestLookupStrategy.java | 2 +-
.../context/navigate/RecursiveTypedParentContextLookupTest.java | 4 ++--
.../messaging/handler/impl/AbstractMessageChannelSecurity.java | 2 +-
.../java/org/opensaml/messaging/handler/impl/CheckExpectedIssuer.java | 2 +-
.../opensaml/messaging/handler/impl/CheckMandatoryAuthentication.java | 2 +-
.../org/opensaml/messaging/handler/impl/CheckMandatoryIssuer.java | 2 +-
.../opensaml/messaging/handler/impl/HTTPRequestValidationHandler.java | 2 +-
.../messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java | 2 +-
.../org/opensaml/messaging/handler/impl/SchemaValidateXMLMessage.java | 4 ++--
.../org/opensaml/messaging/handler/impl/CheckExpectedIssuerTest.java | 2 +-
.../messaging/handler/impl/CheckMandatoryAuthenticationTest.java | 2 +-
.../org/opensaml/messaging/handler/impl/CheckMandatoryIssuerTest.java | 2 +-
.../handler/impl/URLEvaluatingMessageChannelSecurityTest.java | 2 +-
.../org/opensaml/profile/action/AbstractConditionalProfileAction.java | 2 +-
.../profile/action/AbstractHandlerDelegatingProfileAction.java | 2 +-
.../src/main/java/org/opensaml/profile/action/ActionSupport.java | 2 +-
.../src/main/java/org/opensaml/profile/action/EventException.java | 2 +-
.../src/main/java/org/opensaml/profile/context/MetricContext.java | 2 +-
.../opensaml/profile/criterion/ProfileRequestContextCriterion.java | 2 +-
.../src/main/java/org/opensaml/profile/logic/IPRangePredicate.java | 3 ++-
.../org/opensaml/profile/logic/MessageContextPredicateAdapter.java | 2 +-
.../main/java/org/opensaml/profile/logic/PredicateAccessControl.java | 2 +-
.../src/main/java/org/opensaml/profile/logic/ProfileIdPredicate.java | 3 ++-
.../opensaml/profile/logic/MessageContextPredicateAdapterTest.java | 4 ++--
.../opensaml/profile/action/impl/AbstractMessageChannelSecurity.java | 2 +-
.../src/main/java/org/opensaml/profile/action/impl/CheckAccess.java | 4 ++--
.../src/main/java/org/opensaml/profile/action/impl/DecodeMessage.java | 4 ++--
.../src/main/java/org/opensaml/profile/action/impl/EncodeMessage.java | 2 +-
.../src/main/java/org/opensaml/profile/action/impl/LogEvent.java | 2 +-
.../profile/action/impl/PopulateClientTLSValidationParameters.java | 2 +-
.../opensaml/profile/action/impl/PopulateDecryptionParameters.java | 2 +-
.../profile/action/impl/PopulateSignatureValidationParameters.java | 2 +-
.../src/main/java/org/opensaml/profile/action/impl/SetProfileId.java | 2 +-
.../action/impl/PopulateClientTLSValidationParametersTest.java | 2 +-
.../profile/action/impl/PopulateDecryptionParametersTest.java | 2 +-
.../action/impl/PopulateSignatureValidationParametersTest.java | 2 +-
.../test/java/org/opensaml/profile/action/impl/SetProfileIdTest.java | 4 ++--
.../java/org/opensaml/saml/common/SAMLObjectContentReference.java | 2 +-
.../org/opensaml/saml/common/assertion/ValidationProcessingData.java | 2 +-
.../main/java/org/opensaml/saml/common/binding/BindingDescriptor.java | 2 +-
.../java/org/opensaml/saml/common/binding/SAMLBindingSupport.java | 2 +-
.../opensaml/saml/common/binding/artifact/AbstractSAMLArtifact.java | 2 +-
.../opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java | 2 +-
.../common/messaging/context/SAMLMessageReceivedEndpointContext.java | 2 +-
.../context/navigate/SAMLMessageContextAuthenticationFunction.java | 4 ++--
.../saml/common/messaging/logic/ProxiedRequesterPredicate.java | 2 +-
.../opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java | 2 +-
.../saml/common/profile/logic/AbstractNameIDPolicyPredicate.java | 2 +-
.../saml/common/profile/logic/AffiliationNameIDPolicyPredicate.java | 2 +-
.../saml/common/profile/logic/DefaultLocalErrorPredicate.java | 3 ++-
.../opensaml/saml/common/profile/logic/EntityAttributesPredicate.java | 3 ++-
.../common/profile/logic/MetadataNameIdentifierFormatStrategy.java | 4 ++--
.../src/main/java/org/opensaml/saml/common/xml/SAMLSchemaBuilder.java | 2 +-
.../src/main/java/org/opensaml/saml/criterion/ArtifactCriterion.java | 2 +-
.../java/org/opensaml/saml/criterion/BestMatchLocationCriterion.java | 2 +-
.../java/org/opensaml/saml/criterion/BindingLocationCriterion.java | 2 +-
.../org/opensaml/saml/criterion/BindingResponseLocationCriterion.java | 2 +-
.../src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java | 2 +-
.../main/java/org/opensaml/saml/criterion/EntityRoleCriterion.java | 2 +-
.../src/main/java/org/opensaml/saml/criterion/ProtocolCriterion.java | 2 +-
.../java/org/opensaml/saml/criterion/RoleDescriptorCriterion.java | 2 +-
.../src/main/java/org/opensaml/saml/metadata/EntityGroupName.java | 2 +-
.../metadata/criteria/entity/DetectDuplicateEntityIDsCriterion.java | 2 +-
.../opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java | 2 +-
.../saml/metadata/resolver/index/SimpleStringMetadataIndexKey.java | 2 +-
.../org/opensaml/saml/saml2/profile/AbstractSAML2NameIDGenerator.java | 2 +-
.../java/org/opensaml/saml/common/binding/SAMLBindingSupportTest.java | 2 +-
.../src/test/java/org/opensaml/saml/metadata/EntityGroupNameTest.java | 4 ++--
.../metadata/resolver/index/SimpleStringMetadataIndexKeyTest.java | 4 ++--
.../saml/common/binding/artifact/impl/BasicSAMLArtifactMap.java | 2 +-
.../common/binding/artifact/impl/StorageServiceSAMLArtifactMap.java | 2 +-
.../artifact/impl/StorageServiceSAMLArtifactMapEntryFactory.java | 2 +-
.../saml/common/binding/impl/AddChannelBindingsHeaderHandler.java | 2 +-
.../binding/impl/PopulateSignatureSigningParametersHandler.java | 2 +-
.../common/binding/impl/SAMLAddAttributeConsumingServiceHandler.java | 4 ++--
.../opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java | 2 +-
.../opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java | 2 +-
.../impl/CheckAndRecordServerTLSEntityAuthenticationtHandler.java | 2 +-
.../common/binding/security/impl/MessageLifetimeSecurityHandler.java | 2 +-
.../common/binding/security/impl/MessageReplaySecurityHandler.java | 2 +-
.../common/binding/security/impl/OperationContextEntityIDLookup.java | 2 +-
.../common/binding/security/impl/ReceivedEndpointSecurityHandler.java | 2 +-
.../binding/security/impl/SAMLMDClientCertAuthSecurityHandler.java | 4 ++--
.../saml/common/profile/impl/AddAudienceRestrictionToAssertions.java | 2 +-
.../opensaml/saml/common/profile/impl/AddInResponseToToResponse.java | 2 +-
.../saml/common/profile/impl/AddNotBeforeConditionToAssertions.java | 2 +-
.../common/profile/impl/AddNotOnOrAfterConditionToAssertions.java | 2 +-
.../saml/common/profile/impl/ChainingNameIdentifierGenerator.java | 2 +-
.../saml/common/profile/impl/PopulateSignatureSigningParameters.java | 2 +-
.../java/org/opensaml/saml/common/profile/impl/SignAssertions.java | 2 +-
.../org/opensaml/saml/common/profile/impl/VerifyChannelBindings.java | 2 +-
.../entity/impl/EvaluableEntityRoleEntityDescriptorCriterion.java | 2 +-
.../criteria/role/impl/EvaluableEntityRoleDescriptorCriterion.java | 2 +-
.../criteria/role/impl/EvaluableProtocolRoleDescriptorCriterion.java | 2 +-
.../opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java | 2 +-
.../saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java | 2 +-
.../saml/metadata/resolver/filter/impl/EntityAttributesFilter.java | 2 +-
.../saml/metadata/resolver/filter/impl/NameIDFormatFilter.java | 2 +-
.../metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java | 2 +-
.../opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java | 4 ++--
.../saml/metadata/resolver/filter/impl/SchemaValidationFilter.java | 2 +-
.../saml/metadata/resolver/filter/impl/SignatureValidationFilter.java | 2 +-
.../metadata/resolver/impl/AbstractDynamicHTTPMetadataResolver.java | 2 +-
.../saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java | 2 +-
.../saml/metadata/resolver/impl/AbstractMetadataResolver.java | 2 +-
.../metadata/resolver/impl/AbstractReloadingMetadataResolver.java | 2 +-
.../saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java | 2 +-
.../saml/metadata/resolver/impl/FilesystemMetadataResolver.java | 2 +-
.../resolver/impl/FunctionDrivenDynamicHTTPMetadataResolver.java | 2 +-
.../saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilder.java | 2 +-
.../saml/metadata/resolver/impl/LocalDynamicMetadataResolver.java | 2 +-
.../resolver/impl/MetadataQueryProtocolRequestURLBuilder.java | 2 +-
.../saml/metadata/resolver/impl/PredicateRoleDescriptorResolver.java | 2 +-
.../opensaml/saml/metadata/resolver/impl/RegexRequestURLBuilder.java | 2 +-
.../saml/metadata/resolver/impl/TemplateRequestURLBuilder.java | 2 +-
.../saml/metadata/resolver/index/impl/EndpointMetadataIndex.java | 2 +-
.../metadata/resolver/index/impl/FunctionDrivenMetadataIndex.java | 2 +-
.../saml/metadata/resolver/index/impl/MetadataIndexManager.java | 2 +-
.../saml/metadata/resolver/index/impl/MetadataIndexStore.java | 2 +-
.../opensaml/saml/metadata/resolver/index/impl/RoleMetadataIndex.java | 2 +-
.../saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java | 2 +-
.../saml/saml1/binding/encoding/impl/HTTPArtifactEncoder.java | 2 +-
.../saml/saml1/binding/impl/SAML1ArtifactRequestIssuerHandler.java | 2 +-
.../saml/saml1/profile/impl/AddDoNotCacheConditionToAssertions.java | 2 +-
.../opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java | 2 +-
.../java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java | 2 +-
.../org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java | 2 +-
.../saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java | 2 +-
.../saml/saml1/profile/impl/CopyNameIdentifierFromRequest.java | 2 +-
.../java/org/opensaml/saml/saml1/profile/impl/ResolveArtifacts.java | 2 +-
.../saml/saml2/assertion/impl/OneTimeUseConditionValidator.java | 2 +-
.../saml/saml2/binding/encoding/impl/HTTPArtifactEncoder.java | 2 +-
.../opensaml/saml/saml2/binding/impl/AddConsentToResponseHandler.java | 4 ++--
.../saml/saml2/binding/impl/ExtractConsentFromRequestHandler.java | 4 ++--
.../saml/saml2/binding/impl/ExtractProxiedRequestersHandler.java | 4 ++--
.../binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandler.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/AbstractDecryptAction.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/AbstractEncryptAction.java | 4 ++--
.../opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java | 2 +-
.../saml/saml2/profile/impl/AddChannelBindingsToAssertions.java | 2 +-
.../opensaml/saml/saml2/profile/impl/AddGeneratedKeyToAssertions.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java | 2 +-
.../saml/saml2/profile/impl/AddOneTimeUseConditionToAssertions.java | 2 +-
.../saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java | 2 +-
.../saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/CopyNameIDFromRequest.java | 2 +-
.../saml2/profile/impl/DefaultAssertionValidationContextBuilder.java | 4 ++--
.../java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/PopulateECPContext.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/ResolveArtifact.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java | 2 +-
.../messaging/impl/SAML20AssertionTokenValidationInput.java | 2 +-
.../messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java | 2 +-
.../saml/security/impl/InlineSelfEncryptionParametersStrategy.java | 2 +-
.../org/opensaml/saml/security/impl/MetadataCredentialResolver.java | 2 +-
.../saml/security/impl/SAMLMetadataEncryptionParametersResolver.java | 4 ++--
.../opensaml/saml/security/impl/SAMLSignatureProfileValidator.java | 4 ++--
.../binding/impl/PopulateSignatureSigningParametersHandlerTest.java | 4 ++--
.../saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java | 2 +-
.../common/profile/impl/AddAudienceRestrictionToAssertionsTest.java | 2 +-
.../common/profile/impl/AddNotOnOrAfterConditionToAssertionsTest.java | 2 +-
.../common/profile/impl/PopulateSignatureSigningParametersTest.java | 2 +-
.../metadata/resolver/impl/HTTPEntityIDRequestURLBuilderTest.java | 2 +-
.../saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java | 2 +-
.../resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java | 2 +-
.../saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java | 2 +-
.../resolver/index/impl/ConstantEntityDescriptorFunction.java | 2 +-
.../saml/metadata/resolver/index/impl/SimpleStringCriterion.java | 2 +-
.../saml1/profile/impl/AbstractSAML1NameIdentifierGeneratorTest.java | 2 +-
.../org/opensaml/saml/saml1/profile/impl/ResolveArtifactsTest.java | 2 +-
.../opensaml/saml/saml2/assertion/tests/MockAssertionValidator.java | 2 +-
.../saml/saml2/profile/impl/AbstractSAML2NameIDGeneratorTest.java | 2 +-
.../saml/saml2/profile/impl/AddProxyRestrictionToAssertionsTest.java | 2 +-
.../saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java | 2 +-
.../saml2/profile/impl/MockAssertionValidationContextBuilder.java | 2 +-
.../org/opensaml/saml/saml2/profile/impl/ResolveArtifactTest.java | 2 +-
.../java/org/opensaml/saml/saml2/profile/impl/TestSelfEncryption.java | 2 +-
.../security/impl/SAMLMetadataEncryptionParametersResolverTest.java | 2 +-
.../impl/SAMLMetadataSignatureSigningParametersResolverTest.java | 2 +-
.../java/org/opensaml/security/credential/AbstractCredential.java | 2 +-
.../java/org/opensaml/security/criteria/KeyAlgorithmCriterion.java | 2 +-
.../main/java/org/opensaml/security/criteria/KeyLengthCriterion.java | 2 +-
.../main/java/org/opensaml/security/criteria/KeyNameCriterion.java | 2 +-
.../java/org/opensaml/security/criteria/PeerEntityIDCriterion.java | 2 +-
.../main/java/org/opensaml/security/criteria/PublicKeyCriterion.java | 2 +-
.../src/main/java/org/opensaml/security/crypto/KeySupport.java | 2 +-
.../src/main/java/org/opensaml/security/crypto/SigningUtil.java | 4 ++--
.../src/main/java/org/opensaml/security/crypto/dh/DHSupport.java | 2 +-
.../src/main/java/org/opensaml/security/crypto/ec/ECSupport.java | 2 +-
.../main/java/org/opensaml/security/crypto/ec/NamedCurveRegistry.java | 2 +-
.../java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java | 2 +-
.../security/httpclient/HttpClientSecurityConfigurationCriterion.java | 2 +-
.../org/opensaml/security/httpclient/HttpClientSecuritySupport.java | 2 +-
.../org/opensaml/security/httpclient/TLSCriteriaSetCriterion.java | 2 +-
.../src/main/java/org/opensaml/security/x509/BasicX509Credential.java | 2 +-
.../main/java/org/opensaml/security/x509/InternalX500DNHandler.java | 2 +-
.../main/java/org/opensaml/security/x509/PKIXValidationOptions.java | 2 +-
.../src/main/java/org/opensaml/security/x509/X509DigestCriterion.java | 2 +-
.../java/org/opensaml/security/x509/X509IssuerSerialCriterion.java | 2 +-
.../java/org/opensaml/security/x509/X509SubjectNameCriterion.java | 2 +-
.../src/main/java/org/opensaml/security/x509/X509Support.java | 2 +-
.../security/x509/tls/ClientTLSValidationConfigurationCriterion.java | 2 +-
.../opensaml/security/httpclient/HttpClientSecuritySupportTest.java | 2 +-
.../credential/criteria/impl/EvaluableCredentialCriteriaRegistry.java | 2 +-
.../criteria/impl/EvaluableEntityIDCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableKeyAlgorithmCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableKeyLengthCredentialCriterion.java | 4 ++--
.../credential/criteria/impl/EvaluableKeyNameCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluablePublicKeyCredentialCriterion.java | 4 ++--
.../credential/criteria/impl/EvaluableUsageCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableX509CertSelectorCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableX509DigestCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableX509IssuerSerialCredentialCriterion.java | 4 ++--
.../impl/EvaluableX509SubjectKeyIdentifierCredentialCriterion.java | 4 ++--
.../criteria/impl/EvaluableX509SubjectNameCredentialCriterion.java | 4 ++--
.../security/credential/impl/AbstractChainingCredentialResolver.java | 2 +-
.../credential/impl/AbstractCriteriaFilteringCredentialResolver.java | 2 +-
.../opensaml/security/credential/impl/KeyStoreCredentialResolver.java | 2 +-
.../opensaml/security/credential/impl/StaticCredentialResolver.java | 2 +-
.../httpclient/impl/BasicHttpClientSecurityParametersResolver.java | 2 +-
.../security/httpclient/impl/SecurityEnhancedTLSSocketFactory.java | 2 +-
.../messaging/impl/PopulateHttpClientSecurityParametersHandler.java | 2 +-
.../java/org/opensaml/security/trust/impl/ChainingTrustEngine.java | 2 +-
.../java/org/opensaml/security/trust/impl/ExplicitKeyTrustEngine.java | 2 +-
.../security/trust/impl/ExplicitX509CertificateTrustEngine.java | 2 +-
.../opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java | 2 +-
.../org/opensaml/security/x509/impl/CertPathPKIXTrustEvaluator.java | 2 +-
.../opensaml/security/x509/impl/KeyStoreX509CredentialAdapter.java | 2 +-
.../opensaml/security/x509/impl/PKIXX509CredentialTrustEngine.java | 2 +-
.../security/x509/impl/X509KeyManagerX509CredentialAdapter.java | 2 +-
.../x509/tls/impl/BasicClientTLSValidationParametersResolver.java | 2 +-
.../security/x509/tls/impl/StaticX509CredentialKeyManager.java | 4 ++--
.../security/x509/tls/impl/ThreadLocalX509CredentialContext.java | 4 ++--
.../security/x509/tls/impl/ThreadLocalX509TrustEngineContext.java | 2 +-
.../impl/PopulateHttpClientSecurityParametersHandlerTest.java | 4 ++--
.../org/opensaml/security/trust/impl/ChainingTrustEngineTest.java | 2 +-
.../test/java/org/opensaml/security/trust/impl/InMemoryDirectory.java | 2 +-
.../x509/tls/impl/BasicClientTLSValidationParametersResolverTest.java | 2 +-
.../org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java | 2 +-
.../src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java | 2 +-
.../org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.java | 2 +-
.../soap/client/messaging/SOAPClientPipelineNameMappingFunction.java | 2 +-
.../soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java | 2 +-
.../client/security/SOAPClientSecurityProfileIdLookupFunction.java | 2 +-
.../main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java | 2 +-
.../src/main/java/org/opensaml/soap/util/SOAPSupport.java | 2 +-
.../java/org/opensaml/soap/wssecurity/messaging/AbstractToken.java | 2 +-
.../soap/wssecurity/messaging/WSSecurityMessagingSupport.java | 4 ++--
.../messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java | 2 +-
.../main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java | 2 +-
.../java/org/opensaml/soap/soap11/profile/impl/AddSOAPFaultTest.java | 2 +-
.../soap/wssecurity/messaging/impl/AddTimestampHandlerTest.java | 2 +-
.../spring/credential/AbstractBasicCredentialFactoryBean.java | 2 +-
.../spring/trust/ChainingSignatureTrustEngineFactoryBean.java | 2 +-
.../org/opensaml/spring/trust/ChainingTrustEngineFactoryBean.java | 2 +-
.../src/main/java/org/opensaml/storage/AbstractStorageService.java | 2 +-
.../src/main/java/org/opensaml/storage/StorageRecord.java | 2 +-
.../java/org/opensaml/storage/impl/StorageServiceReplayCache.java | 2 +-
.../java/org/opensaml/storage/impl/StorageServiceRevocationCache.java | 2 +-
.../storage/impl/client/AbstractClientStorageServiceStore.java | 2 +-
.../java/org/opensaml/storage/impl/client/ClientStorageService.java | 4 ++--
.../opensaml/storage/impl/client/ClientStorageServiceOperation.java | 2 +-
.../org/opensaml/storage/impl/client/LoadClientStorageServices.java | 2 +-
.../storage/impl/client/PopulateClientStorageLoadContext.java | 2 +-
.../storage/impl/client/PopulateClientStorageSaveContext.java | 2 +-
.../storage/impl/client/SaveCookieBackedClientStorageServices.java | 2 +-
.../opensaml/storage/impl/client/XMLClientStorageServiceStore.java | 2 +-
.../opensaml/storage/impl/memcached/MemcachedStorageCapabilities.java | 3 ++-
.../org/opensaml/storage/impl/memcached/MemcachedStorageService.java | 2 +-
.../org/opensaml/storage/impl/StorageServiceRevocationCacheTest.java | 2 +-
.../main/java/org/opensaml/xmlsec/KeyTransportAlgorithmPredicate.java | 4 ++--
.../org/opensaml/xmlsec/agreement/KeyAgreementProcessorRegistry.java | 2 +-
.../main/java/org/opensaml/xmlsec/algorithm/AlgorithmRegistry.java | 2 +-
.../main/java/org/opensaml/xmlsec/config/DecryptionParserPool.java | 2 +-
.../opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java | 2 +-
.../opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java | 2 +-
.../opensaml/xmlsec/criterion/KeyInfoGenerationProfileCriterion.java | 2 +-
.../xmlsec/criterion/SignatureSigningConfigurationCriterion.java | 2 +-
.../xmlsec/criterion/SignatureValidationConfigurationCriterion.java | 2 +-
.../java/org/opensaml/xmlsec/derivation/KeyDerivationSupport.java | 2 +-
.../xmlsec/encryption/support/AbstractEncryptedKeyResolver.java | 2 +-
.../xmlsec/encryption/support/ChainingEncryptedKeyResolver.java | 2 +-
.../opensaml/xmlsec/encryption/support/DataEncryptionParameters.java | 4 ++--
.../main/java/org/opensaml/xmlsec/encryption/support/Decrypter.java | 2 +-
.../main/java/org/opensaml/xmlsec/encryption/support/Encrypter.java | 2 +-
.../xmlsec/encryption/support/InlineEncryptedKeyResolver.java | 4 ++--
.../opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java | 4 ++--
.../support/SimpleKeyInfoReferenceEncryptedKeyResolver.java | 4 ++--
.../encryption/support/SimpleRetrievalMethodEncryptedKeyResolver.java | 4 ++--
.../org/opensaml/xmlsec/keyinfo/KeyInfoCredentialResolutionMode.java | 2 +-
.../java/org/opensaml/xmlsec/keyinfo/KeyInfoGeneratorManager.java | 4 ++--
.../src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoSupport.java | 2 +-
.../java/org/opensaml/xmlsec/signature/support/SignatureSupport.java | 2 +-
.../signature/support/SignatureValidationParametersCriterion.java | 2 +-
.../org/opensaml/xmlsec/signature/support/URIContentReference.java | 2 +-
.../opensaml/xmlsec/agreement/impl/BasicKeyAgreementCredential.java | 2 +-
.../main/java/org/opensaml/xmlsec/agreement/impl/DigestMethod.java | 2 +-
.../src/main/java/org/opensaml/xmlsec/agreement/impl/KANonce.java | 2 +-
.../opensaml/xmlsec/agreement/impl/KeyAgreementParametersParser.java | 2 +-
.../src/main/java/org/opensaml/xmlsec/agreement/impl/KeySize.java | 2 +-
.../java/org/opensaml/xmlsec/agreement/impl/PrivateCredential.java | 2 +-
.../src/main/java/org/opensaml/xmlsec/derivation/impl/ConcatKDF.java | 2 +-
.../main/java/org/opensaml/xmlsec/derivation/impl/DHLegacyKDF.java | 2 +-
.../src/main/java/org/opensaml/xmlsec/derivation/impl/PBKDF2.java | 2 +-
.../org/opensaml/xmlsec/impl/AbstractSecurityParametersResolver.java | 2 +-
.../org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicate.java | 4 ++--
.../org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfiguration.java | 2 +-
.../org/opensaml/xmlsec/impl/BasicDecryptionParametersResolver.java | 2 +-
.../org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java | 4 ++--
.../opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java | 4 ++--
.../xmlsec/impl/BasicSignatureValidationParametersResolver.java | 2 +-
.../opensaml/xmlsec/impl/BasicWhitelistBlacklistConfiguration.java | 2 +-
.../java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicate.java | 2 +-
.../java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicate.java | 2 +-
.../org/opensaml/xmlsec/impl/StaticDecryptionParametersResolver.java | 2 +-
.../org/opensaml/xmlsec/impl/StaticEncryptionParametersResolver.java | 2 +-
.../xmlsec/impl/StaticSignatureSigningParametersResolver.java | 2 +-
.../xmlsec/impl/StaticSignatureValidationParametersResolver.java | 2 +-
.../opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolver.java | 2 +-
.../java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGenerator.java | 2 +-
.../org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorFactory.java | 2 +-
.../opensaml/xmlsec/keyinfo/impl/provider/InlineX509DataProvider.java | 2 +-
.../messaging/impl/PopulateSignatureValidationParametersHandler.java | 2 +-
.../xmlsec/signature/support/impl/BaseSignatureTrustEngine.java | 2 +-
.../xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java | 2 +-
.../xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java | 2 +-
.../signature/support/impl/ExplicitKeySignatureTrustEngine.java | 2 +-
.../xmlsec/signature/support/impl/PKIXSignatureTrustEngine.java | 2 +-
.../xmlsec/signature/support/impl/SignatureAlgorithmValidator.java | 2 +-
.../impl/provider/ApacheSantuarioSignatureValidationProviderImpl.java | 4 ++--
.../support/impl/provider/ApacheSantuarioSignerProviderImpl.java | 4 ++--
.../org/opensaml/xmlsec/agreement/impl/PrivateCredentialTest.java | 2 +-
.../opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java | 2 +-
.../opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java | 2 +-
.../opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java | 4 ++--
.../opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java | 2 +-
.../opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java | 2 +-
.../xmlsec/impl/BasicSignatureSigningParametersResolverTest.java | 2 +-
.../xmlsec/impl/BasicSignatureValidationParametersResolverTest.java | 2 +-
.../xmlsec/impl/BasicWhitelistBlacklistConfigurationTest.java | 4 ++--
.../org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java | 4 ++--
.../org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java | 4 ++--
.../impl/PopulateSignatureValidationParametersHandlerTest.java | 4 ++--
.../signature/support/impl/ChainingSignatureTrustEngineTest.java | 2 +-
380 files changed, 442 insertions(+), 437 deletions(-)
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/config/ConfigurationService.java b/opensaml-core-api/src/main/java/org/opensaml/core/config/ConfigurationService.java
index 430d86a66..331fb69c8 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/config/ConfigurationService.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/config/ConfigurationService.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.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.config.provider.MapBasedConfiguration;
import org.opensaml.core.config.provider.SystemPropertyConfigurationPropertiesSource;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/criterion/EntityIdCriterion.java b/opensaml-core-api/src/main/java/org/opensaml/core/criterion/EntityIdCriterion.java
index 324150f50..bf5a48b3b 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/criterion/EntityIdCriterion.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/criterion/EntityIdCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.core.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing an entity ID. */
public final class EntityIdCriterion implements Criterion {
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/metrics/LoggerDrivenMetricFilter.java b/opensaml-core-api/src/main/java/org/opensaml/core/metrics/LoggerDrivenMetricFilter.java
index b21436edd..871bc117e 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/metrics/LoggerDrivenMetricFilter.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/metrics/LoggerDrivenMetricFilter.java
@@ -27,8 +27,8 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/metrics/MetricsSupport.java b/opensaml-core-api/src/main/java/org/opensaml/core/metrics/MetricsSupport.java
index 578fe0c13..8d95db466 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/metrics/MetricsSupport.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/metrics/MetricsSupport.java
@@ -27,7 +27,7 @@ import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Timer;
import com.codahale.metrics.Timer.Context;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Support code for use of metrics.
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java
index 323d4f3fa..c09b9540f 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java
@@ -34,10 +34,10 @@ import org.w3c.dom.Element;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LockableClassToInstanceMultiMap;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.QNameSupport;
import net.shibboleth.shared.xml.XMLConstants;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An abstract implementation of XMLObject.
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/NamespaceManager.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/NamespaceManager.java
index f1c869b07..3d2840908 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/NamespaceManager.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/NamespaceManager.java
@@ -30,9 +30,9 @@ import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LazyMap;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.XMLConstants;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import com.google.common.base.Strings;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/XMLObjectBuilderFactory.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/XMLObjectBuilderFactory.java
index 59489e50e..8e636a647 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/XMLObjectBuilderFactory.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/XMLObjectBuilderFactory.java
@@ -27,9 +27,9 @@ import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.DOMTypeSupport;
import net.shibboleth.shared.xml.QNameSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/config/XMLConfigurator.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/config/XMLConfigurator.java
index 0ca2a4cc6..b8cec90d7 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/config/XMLConfigurator.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/config/XMLConfigurator.java
@@ -34,13 +34,13 @@ import javax.xml.validation.SchemaFactory;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.AttributeSupport;
import net.shibboleth.shared.xml.ElementSupport;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
import net.shibboleth.shared.xml.impl.BasicParserPool;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.config.ConfigurationService;
import org.opensaml.core.xml.XMLObjectBuilder;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/MarshallerFactory.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/MarshallerFactory.java
index 852d1b741..3f14f4110 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/MarshallerFactory.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/MarshallerFactory.java
@@ -25,12 +25,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* This thread-safe factory creates {@link org.opensaml.core.xml.io.Marshaller}s that can be used to convert
* {@link org.opensaml.core.xml.XMLObject}s into W3C DOM elements. Marshallers are stored and retrieved by a
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/UnmarshallerFactory.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/UnmarshallerFactory.java
index e9eb0e260..5599ba200 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/UnmarshallerFactory.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/io/UnmarshallerFactory.java
@@ -25,9 +25,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.DOMTypeSupport;
import net.shibboleth.shared.xml.QNameSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.java
index 0ad47aeff..d01d698df 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/FilesystemLoadSaveManager.java
@@ -50,10 +50,10 @@ import com.google.common.io.Files;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
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;
/**
* Implementation of {@link XMLObjectLoadSaveManager} which uses a local filesystem to load and store serialized XML.
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/MapLoadSaveManager.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/MapLoadSaveManager.java
index 2e3ff4790..725188e71 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/MapLoadSaveManager.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/persist/MapLoadSaveManager.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Simple implementation of {@link XMLObjectLoadSaveManager} which uses an in-memory map.
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/AttributeMap.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/AttributeMap.java
index 81c299a25..6cfc4f05a 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/AttributeMap.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/AttributeMap.java
@@ -29,9 +29,9 @@ import javax.xml.namespace.QName;
import net.shibboleth.shared.collection.LazyMap;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.QNameSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.NamespaceManager;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IDIndex.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IDIndex.java
index 9c98f8ca6..22801c99c 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IDIndex.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IDIndex.java
@@ -27,7 +27,7 @@ import javax.annotation.concurrent.NotThreadSafe;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LazyMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.java
index 1ffb433dc..410991606 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/IndexedXMLObjectChildrenList.java
@@ -29,7 +29,7 @@ import javax.xml.namespace.QName;
import net.shibboleth.shared.collection.LazyList;
import net.shibboleth.shared.collection.LazyMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectChildrenList.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectChildrenList.java
index 8b0725a85..8c4ab5411 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectChildrenList.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectChildrenList.java
@@ -25,7 +25,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.collection.LazyList;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java
index 044ef1b32..b4e2b8276 100644
--- a/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java
+++ b/opensaml-core-api/src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java
@@ -28,7 +28,7 @@ import org.opensaml.core.xml.XMLObject;
import com.google.common.base.MoreObjects;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A bean class which can be optionally used to represent the original
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/FilteredMetricRegistry.java b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/FilteredMetricRegistry.java
index 1f8925a18..f5c4c40e8 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/FilteredMetricRegistry.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/metrics/impl/FilteredMetricRegistry.java
@@ -31,7 +31,7 @@ import com.codahale.metrics.MetricSet;
import com.codahale.metrics.Timer;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* {@link MetricRegistry} that returns a metric or a disabled wrapper for a metric based
diff --git a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
index 694f7f937..a449a41b7 100644
--- a/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
+++ b/opensaml-core-impl/src/main/java/org/opensaml/core/xml/persist/impl/SegmentingIntermediateDirectoryStrategy.java
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Strategy function for producing intermediate directories from an input key.
diff --git a/opensaml-core-impl/src/test/java/org/opensaml/core/xml/persist/impl/FilesystemLoadSaveManagerTest.java b/opensaml-core-impl/src/test/java/org/opensaml/core/xml/persist/impl/FilesystemLoadSaveManagerTest.java
index 6e4a3e6ce..20d311e71 100644
--- a/opensaml-core-impl/src/test/java/org/opensaml/core/xml/persist/impl/FilesystemLoadSaveManagerTest.java
+++ b/opensaml-core-impl/src/test/java/org/opensaml/core/xml/persist/impl/FilesystemLoadSaveManagerTest.java
@@ -55,7 +55,7 @@ import org.testng.annotations.Test;
import com.google.common.util.concurrent.Uninterruptibles;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
public class FilesystemLoadSaveManagerTest extends XMLObjectBaseTestCase {
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/BaseContext.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/BaseContext.java
index 42a572031..7d52c1626 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/BaseContext.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/BaseContext.java
@@ -27,7 +27,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.ClassIndexedSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.MessageRuntimeException;
import org.slf4j.Logger;
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java
index 107944942..c4fba439d 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ChildContextLookup.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A {@link ContextDataLookupFunction} that gets the child context of a given parent context.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageContextLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageContextLookup.java
index 7ded8c638..edc61350d 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageContextLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageContextLookup.java
@@ -27,7 +27,7 @@ import org.opensaml.messaging.context.InOutOperationContext;
import org.opensaml.messaging.context.MessageContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A lookup function for resolving either the inbound or outbound {@link MessageContext} relative to
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java
index fd64cf08a..08fd4b230 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/MessageLookup.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A {@link ContextDataLookupFunction} that returns the message from a {@link MessageContext}.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java
index 433a488f1..f6d030e52 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/ParentContextLookup.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A {@link ContextDataLookupFunction} that gets the parent of a given context.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookup.java
index c3392f01f..af15714ac 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookup.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A {@link ContextDataLookupFunction} that recurses up the parent chain of the input via
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RootContextLookup.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RootContextLookup.java
index 25280b5b4..e40aabef9 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RootContextLookup.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/context/navigate/RootContextLookup.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A {@link ContextDataLookupFunction} that gets the root of context tree.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
index abbdfc6b2..0042c0cb3 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
@@ -22,10 +22,10 @@ import java.io.InputStream;
import javax.annotation.Nonnull;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.http.HttpResponse;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
index a567569ed..2ff0cd130 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
@@ -34,10 +34,10 @@ import org.w3c.dom.Element;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Base class for message decoders which decode XML messages from an {@link jakarta.servlet.http.HttpServletRequest}.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/handler/AbstractMessageHandler.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/handler/AbstractMessageHandler.java
index beb3f2ed0..971787111 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/handler/AbstractMessageHandler.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/handler/AbstractMessageHandler.java
@@ -30,7 +30,7 @@ import com.google.common.base.Predicates;
import net.shibboleth.shared.annotation.Prototype;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A base abstract implementation of {@link MessageHandler}.
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/pipeline/BasicMessagePipeline.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/pipeline/BasicMessagePipeline.java
index a0cd6529d..15db7f799 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/pipeline/BasicMessagePipeline.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/pipeline/BasicMessagePipeline.java
@@ -20,12 +20,12 @@ package org.opensaml.messaging.pipeline;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.decoder.MessageDecoder;
import org.opensaml.messaging.encoder.MessageEncoder;
import org.opensaml.messaging.handler.MessageHandler;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Basic implementation of {@link MessagePipeline}.
*/
diff --git a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MessageContextLookupTest.java b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MessageContextLookupTest.java
index 44957da8a..ca44cea0a 100644
--- a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MessageContextLookupTest.java
+++ b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MessageContextLookupTest.java
@@ -25,7 +25,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
public class MessageContextLookupTest {
diff --git a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MockHttpServletRequestLookupStrategy.java b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MockHttpServletRequestLookupStrategy.java
index 49fbb64da..5e7093fb0 100644
--- a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MockHttpServletRequestLookupStrategy.java
+++ b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/MockHttpServletRequestLookupStrategy.java
@@ -22,7 +22,7 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A lookup strategy that returns an instance of {@link HttpServletRequest} supplied at construction time.
diff --git a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookupTest.java b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookupTest.java
index 84bd3ff36..5758a6c55 100644
--- a/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookupTest.java
+++ b/opensaml-messaging-api/src/test/java/org/opensaml/messaging/context/navigate/RecursiveTypedParentContextLookupTest.java
@@ -17,14 +17,14 @@
package org.opensaml.messaging.context.navigate;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.messaging.context.InOutOperationContext;
import org.opensaml.messaging.context.MessageContext;
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
/**
*
*/
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/AbstractMessageChannelSecurity.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/AbstractMessageChannelSecurity.java
index ecdb52241..4f075f7a0 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/AbstractMessageChannelSecurity.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/AbstractMessageChannelSecurity.java
@@ -27,7 +27,7 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.AbstractMessageHandler;
import org.opensaml.messaging.handler.MessageHandlerException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Abstract base class for message handlers which populate a
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuer.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuer.java
index 64b0c1bd1..e9939f74e 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuer.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuer.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Message handler that checks that a message context has an issuer.
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthentication.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthentication.java
index a1ec7d468..f0d820b8c 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthentication.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthentication.java
@@ -27,7 +27,7 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Message handler that checks that a message context is authenticated.
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuer.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuer.java
index d13fd4832..b4f3d0ddc 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuer.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuer.java
@@ -27,7 +27,7 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Message handler that checks that a message context has an issuer.
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/HTTPRequestValidationHandler.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/HTTPRequestValidationHandler.java
index e379a20bc..8f1044991 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/HTTPRequestValidationHandler.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/HTTPRequestValidationHandler.java
@@ -29,8 +29,8 @@ import org.slf4j.LoggerFactory;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A message handler that checks basic HTTP request properties.
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
index fa08d78ea..196eab229 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/MessageHandlerErrorStrategyAdapter.java
@@ -22,7 +22,7 @@ import java.util.List;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.error.TypedMessageErrorHandler;
diff --git a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/SchemaValidateXMLMessage.java b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/SchemaValidateXMLMessage.java
index 7c55b36ba..7bc4b4391 100644
--- a/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/SchemaValidateXMLMessage.java
+++ b/opensaml-messaging-impl/src/main/java/org/opensaml/messaging/handler/impl/SchemaValidateXMLMessage.java
@@ -25,8 +25,6 @@ import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.Validator;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.AbstractMessageHandler;
@@ -35,6 +33,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A handler that schema validates an XML-based message.
*
diff --git a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuerTest.java b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuerTest.java
index 8a78ab98c..2f048b36f 100644
--- a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuerTest.java
+++ b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckExpectedIssuerTest.java
@@ -22,7 +22,7 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
/** Unit test for {@link CheckMandatoryIssuer}. */
public class CheckExpectedIssuerTest {
diff --git a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthenticationTest.java b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthenticationTest.java
index 6d25a936a..02ce6a88c 100644
--- a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthenticationTest.java
+++ b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryAuthenticationTest.java
@@ -21,7 +21,7 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.MessageHandlerException;
import org.testng.annotations.Test;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
/** Unit test for {@link CheckMandatoryAuthentication}. */
public class CheckMandatoryAuthenticationTest {
diff --git a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuerTest.java b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuerTest.java
index 35c8936ab..0becfbfa1 100644
--- a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuerTest.java
+++ b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/CheckMandatoryIssuerTest.java
@@ -21,7 +21,7 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.MessageHandlerException;
import org.testng.annotations.Test;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
/** Unit test for {@link CheckMandatoryIssuer}. */
public class CheckMandatoryIssuerTest {
diff --git a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/URLEvaluatingMessageChannelSecurityTest.java b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/URLEvaluatingMessageChannelSecurityTest.java
index 330b03696..778af0d50 100644
--- a/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/URLEvaluatingMessageChannelSecurityTest.java
+++ b/opensaml-messaging-impl/src/test/java/org/opensaml/messaging/handler/impl/URLEvaluatingMessageChannelSecurityTest.java
@@ -25,7 +25,7 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
public class URLEvaluatingMessageChannelSecurityTest {
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
index 9705b5519..6a96056ca 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
@@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Base class for conditional profile actions.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractHandlerDelegatingProfileAction.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractHandlerDelegatingProfileAction.java
index ac979c809..8a9723f47 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractHandlerDelegatingProfileAction.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractHandlerDelegatingProfileAction.java
@@ -34,8 +34,8 @@ import org.opensaml.profile.context.navigate.ParentProfileRequestContextLookup;
import com.google.common.base.Predicates;
import net.shibboleth.shared.component.DestructableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Base class for a profile action which just delegates to an instance of {@link MessageHandler}.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ActionSupport.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ActionSupport.java
index 19c73928f..3e40043af 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ActionSupport.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ActionSupport.java
@@ -20,8 +20,8 @@ package org.opensaml.profile.action;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.profile.context.EventContext;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/EventException.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/EventException.java
index 96b0664c3..b6900c96a 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/EventException.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/EventException.java
@@ -20,8 +20,8 @@ package org.opensaml.profile.action;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Runtime exception which may be used to communicate a specific event ID.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
index e9bf1de23..aef3c2d9c 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
@@ -35,8 +35,8 @@ import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Child context that supplies instructions to the runtime actions
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/ProfileRequestContextCriterion.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/ProfileRequestContextCriterion.java
index 6a6893e7e..809be579e 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/ProfileRequestContextCriterion.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/ProfileRequestContextCriterion.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* {@link Criterion} representing a {@link ProfileRequestContext}.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
index 04b8082be..d39aea919 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
@@ -30,9 +30,10 @@ import com.google.common.net.InetAddresses;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.HttpServletSupport;
import net.shibboleth.shared.net.IPRange;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+
import java.util.function.Predicate;
/**
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/MessageContextPredicateAdapter.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/MessageContextPredicateAdapter.java
index b64830776..3aa57d364 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/MessageContextPredicateAdapter.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/MessageContextPredicateAdapter.java
@@ -23,7 +23,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
index b0c65ecbc..e72502c15 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
@@ -30,8 +30,8 @@ import org.slf4j.LoggerFactory;
import jakarta.servlet.ServletRequest;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.AccessControl;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Access control implementation based on a predicate over a {@link ProfileRequestContext}.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/ProfileIdPredicate.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/ProfileIdPredicate.java
index 0877b4d1c..2c62ea0ad 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/ProfileIdPredicate.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/ProfileIdPredicate.java
@@ -22,8 +22,9 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+
import java.util.function.Predicate;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-profile-api/src/test/java/org/opensaml/profile/logic/MessageContextPredicateAdapterTest.java b/opensaml-profile-api/src/test/java/org/opensaml/profile/logic/MessageContextPredicateAdapterTest.java
index 88633e3a3..f9715dea3 100644
--- a/opensaml-profile-api/src/test/java/org/opensaml/profile/logic/MessageContextPredicateAdapterTest.java
+++ b/opensaml-profile-api/src/test/java/org/opensaml/profile/logic/MessageContextPredicateAdapterTest.java
@@ -21,14 +21,14 @@ import java.util.function.Predicate;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.context.ProfileRequestContext;
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
/**
*
*/
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
index 53f6e114c..e223aeba4 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
@@ -26,7 +26,7 @@ import org.opensaml.messaging.context.BaseContext;
import org.opensaml.profile.action.AbstractProfileAction;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Abstract base class for profile actions which populate a
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
index 9f953271f..959abd645 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/CheckAccess.java
@@ -32,10 +32,10 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.security.AccessControlService;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
/**
* This action validates that a request comes from an authorized client, based on an injected service
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/DecodeMessage.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/DecodeMessage.java
index 82cb215b4..8a1deb70e 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/DecodeMessage.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/DecodeMessage.java
@@ -19,8 +19,6 @@ package org.opensaml.profile.action.impl;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecoder;
import org.opensaml.messaging.decoder.MessageDecodingException;
@@ -31,6 +29,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Action that decodes an incoming request into a {@link MessageContext}.
*
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/EncodeMessage.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/EncodeMessage.java
index 255f202f3..4bd5fb0ef 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/EncodeMessage.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/EncodeMessage.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.encoder.MessageEncoder;
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
index 395f5a178..544c9a6eb 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
@@ -34,8 +34,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
index 8feece378..730f22ffe 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
@@ -40,9 +40,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that resolves and populates {@link ClientTLSValidationParameters} on a
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
index 156579baf..8ca577b7b 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
@@ -40,9 +40,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that resolves and populates {@link DecryptionParameters} on a {@link SecurityParametersContext}
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
index be0f1dcad..aff2d0fbf 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParameters.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that resolves and populates {@link SignatureValidationParameters} on a {@link SecurityParametersContext}
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/SetProfileId.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/SetProfileId.java
index 377135209..07f12db41 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/SetProfileId.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/SetProfileId.java
@@ -23,8 +23,8 @@ import org.opensaml.profile.action.AbstractProfileAction;
import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
diff --git a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParametersTest.java b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParametersTest.java
index 3386977d4..881a401c8 100644
--- a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParametersTest.java
+++ b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParametersTest.java
@@ -20,9 +20,9 @@ package org.opensaml.profile.action.impl;
import java.util.Collections;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.action.EventIds;
diff --git a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateDecryptionParametersTest.java b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateDecryptionParametersTest.java
index 002a03e62..255712ff6 100644
--- a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateDecryptionParametersTest.java
+++ b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateDecryptionParametersTest.java
@@ -20,9 +20,9 @@ package org.opensaml.profile.action.impl;
import java.util.Collections;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.action.EventIds;
diff --git a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParametersTest.java b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParametersTest.java
index c5dce6577..030748104 100644
--- a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParametersTest.java
+++ b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/PopulateSignatureValidationParametersTest.java
@@ -20,9 +20,9 @@ package org.opensaml.profile.action.impl;
import java.util.Collections;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.action.EventIds;
diff --git a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/SetProfileIdTest.java b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/SetProfileIdTest.java
index a38175083..2c2698783 100644
--- a/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/SetProfileIdTest.java
+++ b/opensaml-profile-impl/src/test/java/org/opensaml/profile/action/impl/SetProfileIdTest.java
@@ -19,11 +19,11 @@ package org.opensaml.profile.action.impl;
import org.opensaml.profile.context.EventContext;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
/**
*
*/
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/SAMLObjectContentReference.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/SAMLObjectContentReference.java
index 3b7b0be05..b335c22c4 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/SAMLObjectContentReference.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/SAMLObjectContentReference.java
@@ -27,8 +27,8 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LazyList;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.xml.security.signature.XMLSignature;
import org.apache.xml.security.signature.XMLSignatureException;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/assertion/ValidationProcessingData.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/assertion/ValidationProcessingData.java
index a077411b8..21cb371f3 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/assertion/ValidationProcessingData.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/assertion/ValidationProcessingData.java
@@ -19,7 +19,7 @@ package org.opensaml.saml.common.assertion;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Convenience class for holding the {@link ValidationContext} used to validate
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/BindingDescriptor.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/BindingDescriptor.java
index 29af122c8..49f21c205 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/BindingDescriptor.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/BindingDescriptor.java
@@ -41,8 +41,8 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
index 49b46f6ec..21f4cf5d6 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
@@ -42,8 +42,8 @@ import com.google.common.base.Strings;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** A support class for SAML binding operations. */
public final class SAMLBindingSupport {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/artifact/AbstractSAMLArtifact.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/artifact/AbstractSAMLArtifact.java
index ba809376d..d9974fc3c 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/artifact/AbstractSAMLArtifact.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/artifact/AbstractSAMLArtifact.java
@@ -24,7 +24,7 @@ import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.EncodingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.apache.commons.codec.binary.Hex;
import org.slf4j.Logger;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java
index ea824501a..060c74f84 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/SAMLMessageSecuritySupport.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.messaging.context.MessageContext;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/SAMLMessageReceivedEndpointContext.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/SAMLMessageReceivedEndpointContext.java
index f7a85a946..9e2f70a91 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/SAMLMessageReceivedEndpointContext.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/SAMLMessageReceivedEndpointContext.java
@@ -24,7 +24,7 @@ import org.opensaml.messaging.context.BaseContext;
import org.opensaml.messaging.context.MessageContext;
import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A context intended to be used as a subcontext of a {@link MessageContext} that carries
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java
index 2f6c2683c..fb62bbbf9 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java
@@ -22,12 +22,12 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Function that returns the authenticated state of a configured {@link AbstractAuthenticatableSAMLEntityContext},
* defaulting to {@link SAMLPeerEntityContext}.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/logic/ProxiedRequesterPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/logic/ProxiedRequesterPredicate.java
index 129683b32..5e62046ac 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/logic/ProxiedRequesterPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/logic/ProxiedRequesterPredicate.java
@@ -30,8 +30,8 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.context.ProxiedRequesterContext;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Predicate that determines whether one of a set of candidates is contained in a
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java
index 2101aa075..6156bb647 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/AbstractNameIdentifierGenerator.java
@@ -34,8 +34,8 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Abstract base class for simple implementations of {@link NameIdentifierGenerator}.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
index bd3470391..9e0d00e46 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
@@ -39,8 +39,8 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Base class for implementations of {@link Predicate} that handle evaluation of name identifier content in various
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AffiliationNameIDPolicyPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AffiliationNameIDPolicyPredicate.java
index c0318b400..31bf0cbf0 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AffiliationNameIDPolicyPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AffiliationNameIDPolicyPredicate.java
@@ -32,9 +32,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Evaluates name identifier data and enforces a default policy over its content.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/DefaultLocalErrorPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/DefaultLocalErrorPredicate.java
index 4ba383541..caa6b2c08 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/DefaultLocalErrorPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/DefaultLocalErrorPredicate.java
@@ -37,8 +37,9 @@ import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
import org.opensaml.saml.saml2.core.AuthnRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+
import java.util.function.Predicate;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
index cf28b2e04..b19be39c5 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/EntityAttributesPredicate.java
@@ -50,9 +50,10 @@ 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.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.DOMTypeSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+
import java.util.function.Predicate;
/**
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/MetadataNameIdentifierFormatStrategy.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/MetadataNameIdentifierFormatStrategy.java
index 3002e48c4..f599de487 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/MetadataNameIdentifierFormatStrategy.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/MetadataNameIdentifierFormatStrategy.java
@@ -25,8 +25,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
@@ -36,6 +34,8 @@ import org.opensaml.saml.saml2.metadata.SSODescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Function to return a set of candidate NameIdentifier/NameID Format values derived from an entity's
* SAML metadata.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/xml/SAMLSchemaBuilder.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/xml/SAMLSchemaBuilder.java
index 8e2a1f6f3..5a1d8e929 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/common/xml/SAMLSchemaBuilder.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/common/xml/SAMLSchemaBuilder.java
@@ -30,9 +30,9 @@ import javax.xml.validation.Schema;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.ClasspathResolver;
import net.shibboleth.shared.xml.SchemaBuilder;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.XMLRuntimeException;
import org.slf4j.Logger;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ArtifactCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ArtifactCriterion.java
index c84dd766c..ea876c814 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ArtifactCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ArtifactCriterion.java
@@ -24,8 +24,8 @@ import javax.annotation.Nonnull;
import org.apache.commons.codec.binary.Hex;
import org.opensaml.saml.common.binding.artifact.SAMLArtifact;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing a {@link SAMLArtifact}. */
public final class ArtifactCriterion implements Criterion {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BestMatchLocationCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BestMatchLocationCriterion.java
index ddc88dc59..db407fa97 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BestMatchLocationCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BestMatchLocationCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* {@link Criterion} representing a SAML binding location to compare to candidate endpoints
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingLocationCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingLocationCriterion.java
index 21d636a13..3e6e03c57 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingLocationCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingLocationCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* {@link Criterion} representing a SAML binding location.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingResponseLocationCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingResponseLocationCriterion.java
index 7423b1c43..9c3c7047b 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingResponseLocationCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingResponseLocationCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing a SAML binding resonse location. */
public final class BindingResponseLocationCriterion implements Criterion {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java
index 255f27585..d7c9a468a 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java
@@ -23,8 +23,8 @@ import javax.annotation.Nonnull;
import org.opensaml.saml.saml2.metadata.Endpoint;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* {@link Criterion} representing a SAML metadata endpoint object.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EntityRoleCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EntityRoleCriterion.java
index a93cecd65..2e4d8e624 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EntityRoleCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EntityRoleCriterion.java
@@ -20,8 +20,8 @@ package org.opensaml.saml.criterion;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing an entity role. */
public final class EntityRoleCriterion implements Criterion {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ProtocolCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ProtocolCriterion.java
index 761c12050..f5454f244 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ProtocolCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/ProtocolCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing a protocolSupportEnumeration value. */
public final class ProtocolCriterion implements Criterion {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/RoleDescriptorCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/RoleDescriptorCriterion.java
index 8e669a0a1..11a194145 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/RoleDescriptorCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/RoleDescriptorCriterion.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import org.opensaml.saml.saml2.metadata.RoleDescriptor;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** {@link Criterion} representing an entity role. */
public final class RoleDescriptorCriterion implements Criterion {
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/EntityGroupName.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/EntityGroupName.java
index a9c175d02..80d61d7f0 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/EntityGroupName.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/EntityGroupName.java
@@ -20,8 +20,8 @@ package org.opensaml.saml.metadata;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A bean class which is used to represent an entity group to which an
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/criteria/entity/DetectDuplicateEntityIDsCriterion.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/criteria/entity/DetectDuplicateEntityIDsCriterion.java
index 9c53a5b17..3e4711c02 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/criteria/entity/DetectDuplicateEntityIDsCriterion.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/criteria/entity/DetectDuplicateEntityIDsCriterion.java
@@ -25,8 +25,8 @@ import org.opensaml.saml.metadata.resolver.DetectDuplicateEntityIDs;
import com.google.common.base.MoreObjects;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Criterion which holds an instance of {@link DetectDuplicateEntityIDs}.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
index a2dbf4026..4d4f620e4 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/filter/MetadataFilterChain.java
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
import org.slf4j.Logger;
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKey.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKey.java
index 25391aec3..cab8bb463 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKey.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKey.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import com.google.common.base.MoreObjects;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A simple implementation of {@link MetadataIndexKey} based on a single input string.
diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/profile/AbstractSAML2NameIDGenerator.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/profile/AbstractSAML2NameIDGenerator.java
index 93495863d..ef3291b12 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/profile/AbstractSAML2NameIDGenerator.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/profile/AbstractSAML2NameIDGenerator.java
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Abstract base class for simple implementations of {@link SAML2NameIDGenerator}.
diff --git a/opensaml-saml-api/src/test/java/org/opensaml/saml/common/binding/SAMLBindingSupportTest.java b/opensaml-saml-api/src/test/java/org/opensaml/saml/common/binding/SAMLBindingSupportTest.java
index d0f24136d..41d11c071 100644
--- a/opensaml-saml-api/src/test/java/org/opensaml/saml/common/binding/SAMLBindingSupportTest.java
+++ b/opensaml-saml-api/src/test/java/org/opensaml/saml/common/binding/SAMLBindingSupportTest.java
@@ -20,7 +20,7 @@ package org.opensaml.saml.common.binding;
import org.testng.Assert;
import org.testng.annotations.Test;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
public class SAMLBindingSupportTest {
diff --git a/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/EntityGroupNameTest.java b/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/EntityGroupNameTest.java
index 5735ae71a..84e1b88e1 100644
--- a/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/EntityGroupNameTest.java
+++ b/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/EntityGroupNameTest.java
@@ -19,11 +19,11 @@ package org.opensaml.saml.metadata;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
public class EntityGroupNameTest {
@Test
diff --git a/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKeyTest.java b/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKeyTest.java
index e776c95e0..b86b6462c 100644
--- a/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKeyTest.java
+++ b/opensaml-saml-api/src/test/java/org/opensaml/saml/metadata/resolver/index/SimpleStringMetadataIndexKeyTest.java
@@ -17,11 +17,11 @@
package org.opensaml.saml.metadata.resolver.index;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
/**
*
*/
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/BasicSAMLArtifactMap.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/BasicSAMLArtifactMap.java
index 6f512266c..d414e94ae 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/BasicSAMLArtifactMap.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/BasicSAMLArtifactMap.java
@@ -39,8 +39,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.logic.Constraint;
import net.shibboleth.shared.primitive.TimerSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** Basic artifact map implementation. */
public class BasicSAMLArtifactMap extends AbstractInitializableComponent implements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMap.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMap.java
index 91005f7ec..94f5a4739 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMap.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMap.java
@@ -36,7 +36,7 @@ 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.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/** Artifact map implementation backed by {@link StorageService}. */
public class StorageServiceSAMLArtifactMap extends AbstractInitializableComponent implements SAMLArtifactMap {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMapEntryFactory.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMapEntryFactory.java
index c9db5cd93..c0959612c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMapEntryFactory.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/artifact/impl/StorageServiceSAMLArtifactMapEntryFactory.java
@@ -42,12 +42,12 @@ import org.w3c.dom.Node;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.ElementSupport;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.QNameSupport;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A factory and {@link StorageSerializer} for instances of {@link BasicSAMLArtifactMapEntry}.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/AddChannelBindingsHeaderHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/AddChannelBindingsHeaderHandler.java
index ec6bb2d61..53aa80e38 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/AddChannelBindingsHeaderHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/AddChannelBindingsHeaderHandler.java
@@ -36,7 +36,7 @@ import org.opensaml.soap.util.SOAPSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* MessageHandler to add {@link ChannelBindings} headers to an outgoing SOAP envelope.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandler.java
index f49992427..f6fa73601 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandler.java
@@ -42,9 +42,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Handler that resolves and populates {@link SignatureSigningParameters} on a {@link SecurityParametersContext}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLAddAttributeConsumingServiceHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLAddAttributeConsumingServiceHandler.java
index d01cc775c..3f84a223c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLAddAttributeConsumingServiceHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLAddAttributeConsumingServiceHandler.java
@@ -23,8 +23,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.core.xml.io.UnmarshallingException;
@@ -46,6 +44,8 @@ import org.opensaml.saml.saml2.metadata.SPSSODescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* SAML {@link org.opensaml.messaging.handler.MessageHandler} that attaches an {@link AttributeConsumingServiceContext}
* to the {@link SAMLMetadataContext} based on the content of an {@link AuthnRequest} in the message context.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
index 3db8692a9..7a511db15 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
@@ -44,9 +44,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Handler for inbound SAML protocol messages that attempts to locate SAML metadata for
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java
index 537a5c276..618bb0725 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java
@@ -33,8 +33,8 @@ import org.opensaml.saml.common.messaging.context.SAMLProtocolContext;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* SAML {@link org.opensaml.messaging.handler.MessageHandler} that attaches protocol
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/CheckAndRecordServerTLSEntityAuthenticationtHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/CheckAndRecordServerTLSEntityAuthenticationtHandler.java
index 3b8780925..61d6d9e26 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/CheckAndRecordServerTLSEntityAuthenticationtHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/CheckAndRecordServerTLSEntityAuthenticationtHandler.java
@@ -35,7 +35,7 @@ import org.opensaml.security.httpclient.HttpClientSecurityConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Handler implementation that checks and records the result of {@link HttpClient} server TLS authentication
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageLifetimeSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageLifetimeSecurityHandler.java
index 46e7da19a..f7da8cef4 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageLifetimeSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageLifetimeSecurityHandler.java
@@ -29,7 +29,7 @@ import org.opensaml.saml.common.messaging.context.SAMLMessageInfoContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Security message handler implementation that checks for validity of SAML message issue instant date and time.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageReplaySecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageReplaySecurityHandler.java
index d6d019bc4..c1b0e1132 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageReplaySecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/MessageReplaySecurityHandler.java
@@ -33,8 +33,8 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Security message handler implementation that which checks for replay of SAML messages.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/OperationContextEntityIDLookup.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/OperationContextEntityIDLookup.java
index 2bdbf2cfd..6ed3a8c9e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/OperationContextEntityIDLookup.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/OperationContextEntityIDLookup.java
@@ -27,7 +27,7 @@ import org.opensaml.messaging.context.navigate.RecursiveTypedParentContextLookup
import org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Function for resolving the SAML entity ID from the parent {@link InOutOperationContext}.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
index 2839880e6..cb72c8c00 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/ReceivedEndpointSecurityHandler.java
@@ -34,11 +34,11 @@ import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.URIComparator;
import net.shibboleth.shared.net.URIException;
import net.shibboleth.shared.net.impl.BasicURLComparator;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Message handler which checks the validity of the SAML protocol message receiver
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandler.java
index 63c8854d1..f25f678e3 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/impl/SAMLMDClientCertAuthSecurityHandler.java
@@ -31,9 +31,9 @@ import org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/**
* SAML specialization of {@link BaseClientCertAuthSecurityHandler} which provides support for X509Credential
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java
index 63b98d1e8..9b48f88e6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java
@@ -40,7 +40,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action adds an audience restriction condition to every assertion contained in a SAML 1/2
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddInResponseToToResponse.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddInResponseToToResponse.java
index d59b3eba6..62432a44c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddInResponseToToResponse.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddInResponseToToResponse.java
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that adds the <code>InResponseTo</code> attribute to a response message if a SAML message ID is set on
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotBeforeConditionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotBeforeConditionToAssertions.java
index e4d1c19aa..bd4b588e1 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotBeforeConditionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotBeforeConditionToAssertions.java
@@ -34,7 +34,7 @@ import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that adds the <code>NotBefore</code> attribute to every assertion in a SAML 1/2
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertions.java
index 7566eeaed..1f3489e96 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertions.java
@@ -36,7 +36,7 @@ import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that adds the <code>NotBefore</code> attribute to every assertion in a SAML 1/2
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
index 28e830a1d..9b779e324 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/ChainingNameIdentifierGenerator.java
@@ -26,7 +26,7 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NullableElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.SAMLException;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParameters.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParameters.java
index 3f9820ae6..5f2e1b923 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParameters.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParameters.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that resolves and populates {@link SignatureSigningParameters} on a {@link SecurityParametersContext}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java
index fb2f9812e..3157edbab 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that signs assertions in a SAML 1/2 Response returned by a lookup strategy,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/VerifyChannelBindings.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/VerifyChannelBindings.java
index 1cf42d978..ebb194ff3 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/VerifyChannelBindings.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/VerifyChannelBindings.java
@@ -36,8 +36,8 @@ import org.opensaml.soap.messaging.context.SOAP11Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that verifies two sets of {@link ChannelBindings} from two different {@link ChannelBindingsContext}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/entity/impl/EvaluableEntityRoleEntityDescriptorCriterion.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/entity/impl/EvaluableEntityRoleEntityDescriptorCriterion.java
index 67d9274ec..dbc8c36d0 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/entity/impl/EvaluableEntityRoleEntityDescriptorCriterion.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/entity/impl/EvaluableEntityRoleEntityDescriptorCriterion.java
@@ -27,7 +27,7 @@ import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import com.google.common.base.MoreObjects;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Implementation of {@link EvaluableEntityDescriptorCriterion} which evaluates that an entity descriptor
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableEntityRoleDescriptorCriterion.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableEntityRoleDescriptorCriterion.java
index 8ec46ef07..f4c0b8ec2 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableEntityRoleDescriptorCriterion.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableEntityRoleDescriptorCriterion.java
@@ -29,7 +29,7 @@ import org.opensaml.saml.saml2.metadata.RoleDescriptor;
import com.google.common.base.MoreObjects;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Implementation of {@link EvaluableRoleDescriptorCriterion} which evaluates that a role descriptor's
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableProtocolRoleDescriptorCriterion.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableProtocolRoleDescriptorCriterion.java
index a8cfb9a7b..32389350c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableProtocolRoleDescriptorCriterion.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/criteria/role/impl/EvaluableProtocolRoleDescriptorCriterion.java
@@ -28,8 +28,8 @@ import org.opensaml.saml.saml2.metadata.RoleDescriptor;
import com.google.common.base.MoreObjects;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Implementation of {@link EvaluableRoleDescriptorCriterion} which evaluates that a role descriptor
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
index 27f7f9039..d448e715e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/AlgorithmFilter.java
@@ -59,7 +59,7 @@ import com.google.common.collect.Multimap;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A filter that adds algorithm extension content to entities in order to drive software
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
index 5c60c4b29..09f448170 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/ByReferenceMetadataFilter.java
@@ -34,8 +34,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A {@link MetadataFilter} that associates other filters with specific
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
index fcf923665..0d38a0d30 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/EntityAttributesFilter.java
@@ -51,7 +51,7 @@ import com.google.common.collect.Multimap;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A filter that adds {@link EntityAttributes} extension content to entities in order to drive software
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
index 8f3fbea6d..1cdd52d8c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NameIDFormatFilter.java
@@ -48,8 +48,8 @@ import com.google.common.collect.Multimap;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.AbstractInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A filter that adds {@link NameIDFormat} content to entities in order to drive software
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
index 0396464cb..0a05837bb 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/NodeProcessingMetadataFilter.java
@@ -32,7 +32,7 @@ import org.opensaml.saml.metadata.resolver.filter.MetadataNodeProcessor;
import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An implementation of {@link MetadataFilter} which applies a {@link MetadataNodeProcessor} to each element node in the
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
index eac0dadad..ebb1f6277 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/PredicateFilter.java
@@ -25,8 +25,6 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
@@ -36,6 +34,8 @@ import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A filter that removes any {@link EntityDescriptor} that does or does not match a {@link Predicate}, thus
* an include or exclude policy.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
index 3765fad87..b5700616b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SchemaValidationFilter.java
@@ -32,8 +32,8 @@ import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.SchemaBuilder;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A metadata filter that schema validates an incoming metadata file.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
index 2809b1ab0..a9ba1e5b6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
@@ -49,8 +49,8 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A metadata filter that validates XML signatures.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicHTTPMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicHTTPMetadataResolver.java
index d6d649286..8e97e76f5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicHTTPMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicHTTPMetadataResolver.java
@@ -56,11 +56,11 @@ import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.LazySet;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.MediaTypeSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Abstract subclass for dynamic metadata resolvers that implement metadata resolution based on HTTP requests.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
index fde2da0e5..0a9356750 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
@@ -77,11 +77,11 @@ import net.shibboleth.shared.codec.StringDigester;
import net.shibboleth.shared.codec.StringDigester.OutputFormat;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Abstract subclass for metadata resolvers that resolve metadata dynamically, as needed and on demand.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
index 434995512..3980a0ef5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
@@ -59,6 +59,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.CriterionPredicateRegistry;
@@ -66,7 +67,6 @@ import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.resolver.ResolverSupport;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.QNameSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** An abstract, base, implementation of a metadata provider. */
public abstract class AbstractMetadataResolver extends AbstractIdentifiableInitializableComponent implements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
index 3325f226b..d92cff843 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractReloadingMetadataResolver.java
@@ -41,9 +41,9 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.TimerSupport;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Base class for metadata providers that cache and periodically refresh their metadata.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java
index dae21ef8e..1b14bbbdd 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FileBackedHTTPMetadataResolver.java
@@ -39,8 +39,8 @@ import org.w3c.dom.Document;
import com.google.common.io.Files;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An HTTP metadata provider that caches a copy of the retrieved metadata to disk so that, in the event that
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolver.java
index 42ba27cc3..8c07445c7 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FilesystemMetadataResolver.java
@@ -29,8 +29,8 @@ import javax.annotation.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A metadata provider that pulls metadata from a file on the local filesystem.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolver.java
index 4ad2fdc42..a8610f3ca 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolver.java
@@ -27,8 +27,8 @@ import org.apache.http.client.HttpClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Simple implementation of an HTTP-based dynamic metadata resolver which builds the request URL
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilder.java
index 781e5c764..33ffc4c6d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilder.java
@@ -22,8 +22,8 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.slf4j.Logger;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolver.java
index 2baa3d393..6d7f7bc57 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolver.java
@@ -31,8 +31,8 @@ import org.opensaml.core.xml.persist.XMLObjectLoadSaveManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Resolver which dynamically resolves metadata from a local source managed by an instance
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
index 36f9f4a15..c69e9fcf0 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilder.java
@@ -33,9 +33,9 @@ import com.google.common.net.UrlEscapers;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
//TODO reference to protocol spec pending in Javadoc.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/PredicateRoleDescriptorResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/PredicateRoleDescriptorResolver.java
index 6095c4248..dbf815009 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/PredicateRoleDescriptorResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/PredicateRoleDescriptorResolver.java
@@ -48,11 +48,11 @@ import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.CriterionPredicateRegistry;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.resolver.ResolverSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Implementation of {@link RoleDescriptorResolver} which wraps an instance of {@link MetadataResolver} to
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/RegexRequestURLBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/RegexRequestURLBuilder.java
index 6804cade7..f132713aa 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/RegexRequestURLBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/RegexRequestURLBuilder.java
@@ -25,9 +25,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.slf4j.Logger;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java
index 5ddfea97c..2e9ac0d16 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilder.java
@@ -33,10 +33,10 @@ import org.slf4j.LoggerFactory;
import com.google.common.net.UrlEscapers;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.velocity.Template;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Function which produces a URL by substituting an entity ID value from criteria into a Velocity template string.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/EndpointMetadataIndex.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/EndpointMetadataIndex.java
index dda84f403..0da0b5e3b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/EndpointMetadataIndex.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/EndpointMetadataIndex.java
@@ -48,10 +48,10 @@ 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.logic.Constraint;
import net.shibboleth.shared.net.URLBuilder;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link MetadataIndex} which indexes entities by their role endpoint locations.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/FunctionDrivenMetadataIndex.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/FunctionDrivenMetadataIndex.java
index 266b99233..0f6e5ff12 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/FunctionDrivenMetadataIndex.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/FunctionDrivenMetadataIndex.java
@@ -26,8 +26,8 @@ import javax.annotation.Nullable;
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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.saml.metadata.resolver.index.MetadataIndex;
import org.opensaml.saml.metadata.resolver.index.MetadataIndexKey;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java
index b7acaea6c..0c87adac4 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexManager.java
@@ -38,9 +38,9 @@ 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.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* High-level component which handles index and lookup of instances of particular type of data item,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStore.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStore.java
index 5f32ff3ab..f3e331735 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStore.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/MetadataIndexStore.java
@@ -32,7 +32,7 @@ import com.google.common.collect.ImmutableSet;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Component which stores indexed instances of a particular type of data,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/RoleMetadataIndex.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/RoleMetadataIndex.java
index de9816be5..ea906e39a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/RoleMetadataIndex.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/RoleMetadataIndex.java
@@ -27,8 +27,8 @@ import javax.xml.namespace.QName;
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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.saml.criterion.EntityRoleCriterion;
import org.opensaml.saml.metadata.resolver.index.MetadataIndex;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
index 255c51467..8584ffd94 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/index/impl/SAMLArtifactMetadataIndex.java
@@ -56,9 +56,9 @@ import com.google.common.base.MoreObjects;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link MetadataIndex} which indexes entities by their artifact SourceID values.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPArtifactEncoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPArtifactEncoder.java
index 3e8869bd2..8067e4e6c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPArtifactEncoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPArtifactEncoder.java
@@ -48,8 +48,8 @@ import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.URLBuilder;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* SAML 1.X HTTP Artifact message encoder.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/impl/SAML1ArtifactRequestIssuerHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/impl/SAML1ArtifactRequestIssuerHandler.java
index cba86680c..c83385dee 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/impl/SAML1ArtifactRequestIssuerHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/impl/SAML1ArtifactRequestIssuerHandler.java
@@ -23,7 +23,7 @@ import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.AbstractMessageHandler;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddDoNotCacheConditionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddDoNotCacheConditionToAssertions.java
index 7ca546e0c..10ce62d88 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddDoNotCacheConditionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddDoNotCacheConditionToAssertions.java
@@ -39,7 +39,7 @@ import org.opensaml.saml.saml1.profile.SAML1ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action to add a {@link DoNotCacheCondition} to every {@link Assertion} in a {@link Response} message.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
index 2b10e9338..f3167eed4 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddNameIdentifierToSubjects.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that builds a {@link NameIdentifier} and adds it to the {@link Subject} of all the statements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
index f955e5ca0..27b41315b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddResponseShell.java
@@ -38,9 +38,9 @@ import org.opensaml.saml.saml1.core.StatusCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that creates an empty {@link Response}, and sets it as the
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
index 9e593bc2c..8276f731a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddStatusToResponse.java
@@ -50,8 +50,8 @@ import com.google.common.base.Predicates;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that sets {@link Status} content in a {@link Response} obtained from
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
index 59a87f15a..e5eefbb96 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/AddSubjectConfirmationToSubjects.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that builds {@link SubjectConfirmation} and adds it to the {@link Subject} of all the statements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/CopyNameIdentifierFromRequest.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/CopyNameIdentifierFromRequest.java
index 733b15abf..41bc65e96 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/CopyNameIdentifierFromRequest.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/CopyNameIdentifierFromRequest.java
@@ -42,7 +42,7 @@ import org.opensaml.saml.saml1.core.SubjectStatement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that builds a {@link NameIdentifier} and adds it to the {@link Subject} of all the statements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifacts.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifacts.java
index b3e465a02..2cf4516b6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifacts.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifacts.java
@@ -43,7 +43,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that resolves SAML 1.x artifacts inside a {@link Request} located via a lookup strategy,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.java
index dcabc1799..ce63738ce 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/OneTimeUseConditionValidator.java
@@ -27,10 +27,10 @@ import javax.annotation.concurrent.ThreadSafe;
import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.DeprecationSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.saml.common.assertion.AssertionValidationException;
import org.opensaml.saml.common.assertion.ValidationContext;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPArtifactEncoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPArtifactEncoder.java
index 6d9ba19ca..107771f7a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPArtifactEncoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPArtifactEncoder.java
@@ -51,9 +51,9 @@ import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.codec.HTMLEncoder;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.URLBuilder;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* SAML 2 Artifact Binding encoder, support both HTTP GET and POST.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/AddConsentToResponseHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/AddConsentToResponseHandler.java
index a230674a8..d0635dd6b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/AddConsentToResponseHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/AddConsentToResponseHandler.java
@@ -21,8 +21,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.handler.AbstractMessageHandler;
@@ -30,6 +28,8 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import org.opensaml.saml.common.messaging.context.SAMLConsentContext;
import org.opensaml.saml.saml2.core.StatusResponseType;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* MessageHandler to set the Consent attribute on a {@link StatusResponseType} message.
*/
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractConsentFromRequestHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractConsentFromRequestHandler.java
index c71dae1ff..b213265f5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractConsentFromRequestHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractConsentFromRequestHandler.java
@@ -21,8 +21,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.handler.AbstractMessageHandler;
@@ -30,6 +28,8 @@ import org.opensaml.messaging.handler.MessageHandlerException;
import org.opensaml.saml.common.messaging.context.SAMLConsentContext;
import org.opensaml.saml.saml2.core.RequestAbstractType;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* MessageHandler to get the Consent attribute from a {@link RequestAbstractType} message.
*/
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractProxiedRequestersHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractProxiedRequestersHandler.java
index 3e21e9998..dea74f8a8 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractProxiedRequestersHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/impl/ExtractProxiedRequestersHandler.java
@@ -21,8 +21,6 @@ import java.util.function.Function;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.handler.AbstractMessageHandler;
@@ -32,6 +30,8 @@ import org.opensaml.saml.saml2.core.AuthnRequest;
import org.opensaml.saml.saml2.core.RequesterID;
import org.opensaml.saml.saml2.core.Scoping;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* MessageHandler to extract the proxied chain of requesters from an {@link AuthnRequest} message's
* {@link Scoping} element.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandler.java
index f49a19b0f..eb21e9111 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/security/impl/SAML2HTTPPostSimpleSignSecurityHandler.java
@@ -48,11 +48,11 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Message handler which evaluates simple "blob" signatures according to the SAML 2 HTTP-POST-SimpleSign binding.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractDecryptAction.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractDecryptAction.java
index 2271ee5a3..898bced8f 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractDecryptAction.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractDecryptAction.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Abstract base class for actions that perform SAML decryption.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractEncryptAction.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractEncryptAction.java
index a444bc156..c552f1f7b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractEncryptAction.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractEncryptAction.java
@@ -43,8 +43,8 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.FunctionSupport;
/**
* Abstract base class for actions that perform simple unicast SAML encryption to a single
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
index 632e60c73..7d4ef47c9 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AbstractResponseShellAction.java
@@ -40,9 +40,9 @@ import org.opensaml.saml.saml2.core.StatusResponseType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Abstract action that creates an empty object derived from {@link StatusResponseType},
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddChannelBindingsToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddChannelBindingsToAssertions.java
index d4f6165c4..90700f193 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddChannelBindingsToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddChannelBindingsToAssertions.java
@@ -40,7 +40,7 @@ import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action to add {@link ChannelBindings} extension(s) to every {@link Assertion} in a {@link Response} message.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddGeneratedKeyToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddGeneratedKeyToAssertions.java
index 455f73a47..1b0a24667 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddGeneratedKeyToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddGeneratedKeyToAssertions.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.EncodingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action to add a {@link GeneratedKey} extension to every {@link Assertion} in a {@link Response} message.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
index ed55a3872..16371bb39 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
@@ -56,9 +56,9 @@ import com.google.common.base.Strings;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that builds a {@link NameID} and adds it to the {@link Subject} of all the assertions
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddOneTimeUseConditionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddOneTimeUseConditionToAssertions.java
index fcd8dd83a..734cd1aa8 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddOneTimeUseConditionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddOneTimeUseConditionToAssertions.java
@@ -38,7 +38,7 @@ import org.opensaml.saml.saml2.profile.SAML2ActionSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action to add a {@link OneTimeUse} condition to every {@link Assertion} in a {@link Response} message.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java
index 50e564f1a..2d7a428be 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action adds an {@link ProxyRestriction} to every {@link Assertion} contained in a SAML 2
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
index a008f4231..4e9a4ebbe 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusResponseShell.java
@@ -43,9 +43,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.impl.SecureRandomIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that creates an empty object derived from {@link StatusResponseType},
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
index 81d6ddd41..8ba937d9b 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddStatusToResponse.java
@@ -49,8 +49,8 @@ import com.google.common.base.Predicates;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that sets {@link Status} content in a {@link StatusResponseType} obtained from
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java
index 2cbf5e460..81bf10fc4 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjects.java
@@ -45,9 +45,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.HttpServletSupport;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that builds {@link SubjectConfirmation} and adds it to the {@link Subject} of all the assertions
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/CopyNameIDFromRequest.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/CopyNameIDFromRequest.java
index 1081c9112..a89ffc424 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/CopyNameIDFromRequest.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/CopyNameIDFromRequest.java
@@ -40,7 +40,7 @@ import org.opensaml.saml.saml2.core.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that builds a {@link NameID} and adds it to the {@link Subject} of all the statements
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
index 6fc1a962f..3a0e6467c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
@@ -74,11 +74,11 @@ import com.google.common.base.Predicates;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.collection.LazySet;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.net.HttpServletSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
/**
* Function which implements default behavior for building an instance of {@link ValidationContext}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java
index 3ab1341a7..bf8c3fdba 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java
@@ -43,8 +43,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that encrypts all assertions in a {@link Response} message obtained from a lookup
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java
index e71f0d3c4..6316f0c04 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java
@@ -45,8 +45,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that encrypts all attributes in a {@link Response} message obtained from a lookup strategy,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java
index 1a3fd37ef..7a83fd296 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java
@@ -58,9 +58,9 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that encrypts all {@link NameID}s in a message obtained from a lookup strategy,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/PopulateECPContext.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/PopulateECPContext.java
index b7c41fc83..03e1eca4d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/PopulateECPContext.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/PopulateECPContext.java
@@ -36,7 +36,7 @@ import org.opensaml.saml.saml2.profile.context.EncryptionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action to create and populate an {@link ECPContext} based on the request and, when encryption is in use,
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifact.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifact.java
index 84d028359..066140a51 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifact.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifact.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Action that resolves a SAML 2.0 artifact inside an {@link ArtifactResolve} request located
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
index a2babd974..41f106a4d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
@@ -43,7 +43,7 @@ import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A profile action which resolves SAML 2.0 Assertions from the profile request context
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/SAML20AssertionTokenValidationInput.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/SAML20AssertionTokenValidationInput.java
index c4d7b4b33..345a04e4d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/SAML20AssertionTokenValidationInput.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/SAML20AssertionTokenValidationInput.java
@@ -23,7 +23,7 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.saml.saml2.core.Assertion;
import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Class which holds messaging data relevant to validating a WS-Security SAML 2.0 Assertion token.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
index 58018a059..3f6b0b64e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
@@ -53,7 +53,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.collection.LazyList;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A security handler which resolves SAML 2.0 Assertion tokens from a SOAP envelope's
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/InlineSelfEncryptionParametersStrategy.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/InlineSelfEncryptionParametersStrategy.java
index 48923b744..c51e426ca 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/InlineSelfEncryptionParametersStrategy.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/InlineSelfEncryptionParametersStrategy.java
@@ -26,9 +26,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/MetadataCredentialResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/MetadataCredentialResolver.java
index c5ae64b60..d79a360b2 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/MetadataCredentialResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/MetadataCredentialResolver.java
@@ -52,9 +52,9 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.component.InitializableComponent;
import net.shibboleth.shared.component.UninitializedComponentException;
import net.shibboleth.shared.component.UnmodifiableComponentException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A credential resolver capable of resolving credentials from SAML 2 metadata.
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java
index f91b9c271..f0ae5a118 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolver.java
@@ -31,11 +31,11 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.saml2.metadata.EncryptionMethod;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLSignatureProfileValidator.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLSignatureProfileValidator.java
index d38caf044..503728813 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLSignatureProfileValidator.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/impl/SAMLSignatureProfileValidator.java
@@ -19,8 +19,6 @@ package org.opensaml.saml.security.impl;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.apache.xml.security.exceptions.XMLSecurityException;
import org.apache.xml.security.signature.Reference;
import org.apache.xml.security.signature.XMLSignature;
@@ -39,6 +37,8 @@ import org.w3c.dom.Element;
import com.google.common.base.Strings;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A validator for instances of {@link Signature}, which validates that the signature meets security-related
* requirements indicated by the SAML profile of XML Signature.
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandlerTest.java
index 4d8220fd9..8266df5a8 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/PopulateSignatureSigningParametersHandlerTest.java
@@ -35,10 +35,10 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/** Unit test for {@link PopulateSignatureSigningParametersHandler}. */
public class PopulateSignatureSigningParametersHandlerTest extends OpenSAMLInitBaseTestCase {
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java
index 9e14e4fed..91555f7b3 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java
@@ -50,9 +50,9 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/**
* Test for {@link SAMLMetadataLookupHandler}.
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertionsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertionsTest.java
index 31efaff6d..5d8b4629c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertionsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertionsTest.java
@@ -18,7 +18,7 @@
package org.opensaml.saml.common.profile.impl;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import java.util.List;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertionsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertionsTest.java
index 4bb1b0e08..8f927c51c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertionsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/AddNotOnOrAfterConditionToAssertionsTest.java
@@ -18,7 +18,7 @@
package org.opensaml.saml.common.profile.impl;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import java.time.Duration;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParametersTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParametersTest.java
index 7250e0576..f1f6dd246 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParametersTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/profile/impl/PopulateSignatureSigningParametersTest.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.common.profile.impl;
import java.util.Collections;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.messaging.context.navigate.ChildContextLookup;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilderTest.java
index 6d438ef78..02fe8fdcb 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/HTTPEntityIDRequestURLBuilderTest.java
@@ -17,8 +17,8 @@
package org.opensaml.saml.metadata.resolver.impl;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.testng.Assert;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
index a7480c6e7..1cb54fd93 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/LocalDynamicMetadataResolverTest.java
@@ -38,9 +38,9 @@ import com.google.common.util.concurrent.Uninterruptibles;
import net.shibboleth.shared.codec.StringDigester;
import net.shibboleth.shared.codec.StringDigester.OutputFormat;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/**
* Unit test for {@link LocalDynamicMetadataResolver}.
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
index 1eb920cc7..8bca63e82 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/MetadataQueryProtocolRequestURLBuilderTest.java
@@ -25,8 +25,8 @@ import org.testng.annotations.Test;
import com.google.common.collect.Lists;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
public class MetadataQueryProtocolRequestURLBuilderTest {
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java
index cd0296b18..b550107b1 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/TemplateRequestURLBuilderTest.java
@@ -19,8 +19,8 @@ package org.opensaml.saml.metadata.resolver.impl;
import java.util.function.Function;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.apache.velocity.app.VelocityEngine;
import org.opensaml.core.criterion.EntityIdCriterion;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/ConstantEntityDescriptorFunction.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/ConstantEntityDescriptorFunction.java
index a115f376a..0a50a9d69 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/ConstantEntityDescriptorFunction.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/ConstantEntityDescriptorFunction.java
@@ -28,8 +28,8 @@ import org.opensaml.saml.metadata.resolver.index.MetadataIndexKey;
import org.opensaml.saml.metadata.resolver.index.SimpleStringMetadataIndexKey;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
public class ConstantEntityDescriptorFunction implements Function<EntityDescriptor, Set<MetadataIndexKey>> {
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/SimpleStringCriterion.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/SimpleStringCriterion.java
index c3334abcf..09813e985 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/SimpleStringCriterion.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/index/impl/SimpleStringCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.saml.metadata.resolver.index.impl;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import com.google.common.base.MoreObjects;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/AbstractSAML1NameIdentifierGeneratorTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/AbstractSAML1NameIdentifierGeneratorTest.java
index b314b7ef6..b76053265 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/AbstractSAML1NameIdentifierGeneratorTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/AbstractSAML1NameIdentifierGeneratorTest.java
@@ -18,7 +18,7 @@
package org.opensaml.saml.saml1.profile.impl;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifactsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifactsTest.java
index d9ebc24ff..a0cdb436c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifactsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/profile/impl/ResolveArtifactsTest.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.testing.ActionTestingSupport;
import org.opensaml.profile.testing.RequestContextBuilder;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.saml.common.binding.artifact.impl.BasicSAMLArtifactMap;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/tests/MockAssertionValidator.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/tests/MockAssertionValidator.java
index 488346eed..847184b41 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/tests/MockAssertionValidator.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/tests/MockAssertionValidator.java
@@ -27,7 +27,7 @@ import org.opensaml.saml.saml2.assertion.SAML20AssertionValidator;
import org.opensaml.saml.saml2.core.Assertion;
import net.shibboleth.shared.collection.Pair;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
public class MockAssertionValidator extends SAML20AssertionValidator {
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AbstractSAML2NameIDGeneratorTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AbstractSAML2NameIDGeneratorTest.java
index 4b81a5cbf..76b504372 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AbstractSAML2NameIDGeneratorTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AbstractSAML2NameIDGeneratorTest.java
@@ -18,7 +18,7 @@
package org.opensaml.saml.saml2.profile.impl;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertionsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertionsTest.java
index 2ffa1ccba..5390dd65f 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertionsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertionsTest.java
@@ -19,7 +19,7 @@ package org.opensaml.saml.saml2.profile.impl;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
index b8ee47005..0799d5b81 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddSubjectConfirmationToSubjectsTest.java
@@ -18,7 +18,7 @@
package org.opensaml.saml.saml2.profile.impl;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import java.util.function.Supplier;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
index 888f470cb..c3390d407 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
@@ -24,7 +24,7 @@ import java.util.function.Function;
import org.opensaml.saml.common.assertion.ValidationContext;
import org.opensaml.saml.saml2.profile.impl.ValidateAssertions.AssertionValidationInput;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
*
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifactTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifactTest.java
index a05ecb65c..7a340846b 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifactTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/ResolveArtifactTest.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.testing.ActionTestingSupport;
import org.opensaml.profile.testing.RequestContextBuilder;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.saml.common.binding.artifact.impl.BasicSAMLArtifactMap;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/TestSelfEncryption.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/TestSelfEncryption.java
index 5e2549e03..83ef0843c 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/TestSelfEncryption.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/TestSelfEncryption.java
@@ -23,7 +23,7 @@ import java.util.Collections;
import java.util.List;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.core.xml.io.MarshallingException;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolverTest.java
index 5ffe2aebf..6aa7cf240 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataEncryptionParametersResolverTest.java
@@ -37,9 +37,9 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.config.ConfigurationService;
import org.opensaml.core.config.InitializationException;
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataSignatureSigningParametersResolverTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataSignatureSigningParametersResolverTest.java
index 935cc3108..a5d3d6e3f 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataSignatureSigningParametersResolverTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/security/impl/SAMLMetadataSignatureSigningParametersResolverTest.java
@@ -26,9 +26,9 @@ import java.util.List;
import javax.crypto.SecretKey;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java b/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
index 25b8fe6e6..004f631d5 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/credential/AbstractCredential.java
@@ -26,8 +26,8 @@ import javax.annotation.Nullable;
import javax.crypto.SecretKey;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Base class for {@link org.opensaml.security.credential.Credential} implementations.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyAlgorithmCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyAlgorithmCriterion.java
index 787915900..6871e3654 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyAlgorithmCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyAlgorithmCriterion.java
@@ -19,9 +19,9 @@ package org.opensaml.security.criteria;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyLengthCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyLengthCriterion.java
index 22045e49c..199907b70 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyLengthCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyLengthCriterion.java
@@ -19,8 +19,8 @@ package org.opensaml.security.criteria;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies key length criteria.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyNameCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyNameCriterion.java
index 46892fb0b..c2999c4d4 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyNameCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/KeyNameCriterion.java
@@ -19,9 +19,9 @@ package org.opensaml.security.criteria;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PeerEntityIDCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PeerEntityIDCriterion.java
index aacbfec41..acfcf78e8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PeerEntityIDCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PeerEntityIDCriterion.java
@@ -19,9 +19,9 @@ package org.opensaml.security.criteria;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies criteria pertaining
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PublicKeyCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PublicKeyCriterion.java
index 956276bf1..129d7d9b8 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PublicKeyCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/criteria/PublicKeyCriterion.java
@@ -21,8 +21,8 @@ import java.security.PublicKey;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies public key criteria.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java
index 54fbfc680..d1d6408d7 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java
@@ -64,7 +64,7 @@ import javax.crypto.spec.SecretKeySpec;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.collection.LazyMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.bouncycastle.jcajce.provider.asymmetric.util.EC5Util;
import org.cryptacular.util.KeyPairUtil;
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/SigningUtil.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/SigningUtil.java
index ac65e6fe4..88ba49fcd 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/SigningUtil.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/SigningUtil.java
@@ -27,8 +27,6 @@ import java.util.Arrays;
import javax.annotation.Nonnull;
import javax.crypto.Mac;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.apache.commons.codec.binary.Hex;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
@@ -36,6 +34,8 @@ import org.opensaml.security.credential.CredentialSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A utility class for computing and verifying raw signatures and MAC values.
*/
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/dh/DHSupport.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/dh/DHSupport.java
index 8511aeb1a..e03460e0e 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/dh/DHSupport.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/dh/DHSupport.java
@@ -39,7 +39,7 @@ import org.opensaml.security.crypto.KeySupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Cryptography support related to Elliptic Curve.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/ECSupport.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/ECSupport.java
index ab2c550ee..2b45ede52 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/ECSupport.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/ECSupport.java
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Cryptography support related to Elliptic Curve.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/NamedCurveRegistry.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/NamedCurveRegistry.java
index fc2af8789..8dbd1cc31 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/NamedCurveRegistry.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/NamedCurveRegistry.java
@@ -31,8 +31,8 @@ import org.slf4j.LoggerFactory;
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.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A registry of {@link NamedCurve} descriptors.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
index 77183942a..aae09d5d7 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/crypto/ec/curves/BasicNamedCurve.java
@@ -25,8 +25,8 @@ import org.opensaml.security.crypto.ec.NamedCurve;
import com.google.common.base.MoreObjects;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Basic implementations of {@link NamedCurve} where all required properties are simply supplied at
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
index 6ed53480d..c21843e0d 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecurityConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Criterion which holds one or more instances of {@link HttpClientSecurityConfiguration}.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecuritySupport.java b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecuritySupport.java
index d406f7d52..2500c75b6 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecuritySupport.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/HttpClientSecuritySupport.java
@@ -41,8 +41,8 @@ import org.opensaml.security.x509.TrustedNamesCriterion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Support class for working with {@link org.apache.http.client.HttpClient} security features.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/TLSCriteriaSetCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/TLSCriteriaSetCriterion.java
index 1b33fad51..a3296da09 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/TLSCriteriaSetCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/httpclient/TLSCriteriaSetCriterion.java
@@ -19,9 +19,9 @@ package org.opensaml.security.httpclient;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
index 8254e1507..51fc6caf3 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/BasicX509Credential.java
@@ -33,7 +33,7 @@ import org.opensaml.security.credential.Credential;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.collection.LazySet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A basic implementation of {@link X509Credential}.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/InternalX500DNHandler.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/InternalX500DNHandler.java
index 7bae2a3bf..f2ba16c97 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/InternalX500DNHandler.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/InternalX500DNHandler.java
@@ -20,7 +20,7 @@ package org.opensaml.security.x509;
import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Basic implementation of {@link X500DNHandler} which uses the internal built-in mechanisms
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/PKIXValidationOptions.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/PKIXValidationOptions.java
index 10987f0ef..7a18c41b3 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/PKIXValidationOptions.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/PKIXValidationOptions.java
@@ -19,7 +19,7 @@ package org.opensaml.security.x509;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Options which may be supplied to influence the processing behavior of a {@link PKIXTrustEvaluator}.
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
index c2c0659ea..24ce22975 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509DigestCriterion.java
@@ -21,9 +21,9 @@ import java.util.Arrays;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.commons.codec.binary.Hex;
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509IssuerSerialCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509IssuerSerialCriterion.java
index c538e995a..800820821 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509IssuerSerialCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509IssuerSerialCriterion.java
@@ -22,8 +22,8 @@ import java.math.BigInteger;
import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies criteria based on
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509SubjectNameCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509SubjectNameCriterion.java
index f3bdb503d..33e71962c 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509SubjectNameCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509SubjectNameCriterion.java
@@ -20,8 +20,8 @@ package org.opensaml.security.x509;
import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies criteria based on
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
index eb08060a4..d9b24cb1a 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/X509Support.java
@@ -46,8 +46,8 @@ import javax.security.auth.x500.X500Principal;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.DEROctetString;
diff --git a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
index f9af1b078..a866c8103 100644
--- a/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
+++ b/opensaml-security-api/src/main/java/org/opensaml/security/x509/tls/ClientTLSValidationConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Criterion which holds one or more instances of {@link ClientTLSValidationConfiguration}.
diff --git a/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java b/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
index e091c69fa..462dc315e 100644
--- a/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
+++ b/opensaml-security-api/src/test/java/org/opensaml/security/httpclient/HttpClientSecuritySupportTest.java
@@ -38,8 +38,8 @@ import java.util.List;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLPeerUnverifiedException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableCredentialCriteriaRegistry.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableCredentialCriteriaRegistry.java
index a2bc49718..33a8eecf0 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableCredentialCriteriaRegistry.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableCredentialCriteriaRegistry.java
@@ -28,8 +28,8 @@ import java.util.Properties;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.security.SecurityException;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableEntityIDCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableEntityIDCredentialCriterion.java
index ac15d985c..b3e59ed18 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableEntityIDCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableEntityIDCredentialCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.security.credential.criteria.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyAlgorithmCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyAlgorithmCredentialCriterion.java
index 67450209a..4e9402001 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyAlgorithmCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyAlgorithmCredentialCriterion.java
@@ -22,9 +22,9 @@ import java.security.Key;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.criteria.KeyAlgorithmCriterion;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyLengthCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyLengthCredentialCriterion.java
index 7168495a9..f7c1f5017 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyLengthCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyLengthCredentialCriterion.java
@@ -22,8 +22,8 @@ import java.security.Key;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.criteria.KeyLengthCriterion;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyNameCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyNameCredentialCriterion.java
index d48fd1337..b5b439328 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyNameCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableKeyNameCredentialCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.security.credential.criteria.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.criteria.KeyNameCriterion;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluablePublicKeyCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluablePublicKeyCredentialCriterion.java
index 28b3abede..af33859ee 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluablePublicKeyCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluablePublicKeyCredentialCriterion.java
@@ -22,8 +22,8 @@ import java.security.PublicKey;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.criteria.PublicKeyCriterion;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableUsageCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableUsageCredentialCriterion.java
index af5dc1ea5..d79bd514b 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableUsageCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableUsageCredentialCriterion.java
@@ -20,8 +20,8 @@ package org.opensaml.security.credential.criteria.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.UsageType;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509CertSelectorCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509CertSelectorCredentialCriterion.java
index 838c50234..87cd075bf 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509CertSelectorCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509CertSelectorCredentialCriterion.java
@@ -23,8 +23,8 @@ import java.security.cert.X509Certificate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.x509.X509Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509DigestCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509DigestCredentialCriterion.java
index 0cdd725dc..1156ba875 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509DigestCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509DigestCredentialCriterion.java
@@ -27,9 +27,9 @@ import java.util.Arrays;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.commons.codec.binary.Hex;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509IssuerSerialCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509IssuerSerialCredentialCriterion.java
index 91d601191..7346997c9 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509IssuerSerialCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509IssuerSerialCredentialCriterion.java
@@ -24,8 +24,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.x500.X500Principal;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.x509.X509Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectKeyIdentifierCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectKeyIdentifierCredentialCriterion.java
index c767058fe..ead0ffb7f 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectKeyIdentifierCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectKeyIdentifierCredentialCriterion.java
@@ -23,8 +23,8 @@ import java.util.Arrays;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.apache.commons.codec.binary.Hex;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectNameCredentialCriterion.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectNameCredentialCriterion.java
index 2160b4d59..5a764a538 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectNameCredentialCriterion.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/criteria/impl/EvaluableX509SubjectNameCredentialCriterion.java
@@ -23,8 +23,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.x500.X500Principal;
-import net.shibboleth.utilities.java.support.logic.AbstractTriStatePredicate;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.AbstractTriStatePredicate;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.x509.X509Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
index f435fb097..75d89a600 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractChainingCredentialResolver.java
@@ -27,9 +27,9 @@ import javax.annotation.Nullable;
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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialResolver;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractCriteriaFilteringCredentialResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractCriteriaFilteringCredentialResolver.java
index 9c6433867..ba4963c88 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractCriteriaFilteringCredentialResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/AbstractCriteriaFilteringCredentialResolver.java
@@ -25,10 +25,10 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Criterion;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/KeyStoreCredentialResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/KeyStoreCredentialResolver.java
index ddca3fff5..d30a5048c 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/KeyStoreCredentialResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/KeyStoreCredentialResolver.java
@@ -31,9 +31,9 @@ import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.security.credential.BasicCredential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/StaticCredentialResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/StaticCredentialResolver.java
index 0bfe97f41..3a371fceb 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/StaticCredentialResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/credential/impl/StaticCredentialResolver.java
@@ -26,9 +26,9 @@ import javax.annotation.Nullable;
import org.opensaml.security.credential.Credential;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Simple implementation of {@link org.opensaml.security.credential.CredentialResolver} which just stores
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/BasicHttpClientSecurityParametersResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/BasicHttpClientSecurityParametersResolver.java
index fc88fefa8..326dba3a5 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/BasicHttpClientSecurityParametersResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/BasicHttpClientSecurityParametersResolver.java
@@ -34,10 +34,10 @@ import org.opensaml.security.x509.X509Credential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.ObjectSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Basic implementation of {@link HttpClientSecurityParametersResolver}.
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/SecurityEnhancedTLSSocketFactory.java b/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/SecurityEnhancedTLSSocketFactory.java
index d0322e653..8fc2b5629 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/SecurityEnhancedTLSSocketFactory.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/httpclient/impl/SecurityEnhancedTLSSocketFactory.java
@@ -46,8 +46,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.httpclient.HttpClientSupport;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An security-enhanced implementation of HttpClient's TLS-capable {@link LayeredConnectionSocketFactory}.
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandler.java b/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandler.java
index 7a782bbc5..42d1ff79d 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandler.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandler.java
@@ -41,9 +41,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Handler that resolves and populates {@link HttpClientSecurityParameters} on a {@link HttpClientSecurityContext}
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
index 93c28aa1f..e60e3cd88 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ChainingTrustEngine.java
@@ -31,8 +31,8 @@ import net.shibboleth.shared.annotation.ParameterName;
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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Evaluate a token in sequence using a chain of subordinate trust engines. If the token may be established as trusted
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitKeyTrustEngine.java b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitKeyTrustEngine.java
index 543a6ca5b..cb9b50652 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitKeyTrustEngine.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitKeyTrustEngine.java
@@ -28,9 +28,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Trust engine that evaluates a credential's key against key(s) expressed within a set of trusted credentials obtained
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitX509CertificateTrustEngine.java b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitX509CertificateTrustEngine.java
index 2e3aff377..6f0ffd1fc 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitX509CertificateTrustEngine.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/trust/impl/ExplicitX509CertificateTrustEngine.java
@@ -29,9 +29,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Trust engine that evaluates a credential's X.509 certificate against certificates expressed within a set of trusted
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
index 692917ede..5d36fde01 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/BasicX509CredentialNameEvaluator.java
@@ -31,7 +31,7 @@ import javax.security.auth.x500.X500Principal;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.security.SecurityException;
import org.opensaml.security.x509.InternalX500DNHandler;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/CertPathPKIXTrustEvaluator.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/CertPathPKIXTrustEvaluator.java
index 8deb6b5bc..ebc5d45ff 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/CertPathPKIXTrustEvaluator.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/CertPathPKIXTrustEvaluator.java
@@ -53,7 +53,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An implementation of {@link PKIXTrustEvaluator} that is based on the Java CertPath API.
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/KeyStoreX509CredentialAdapter.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/KeyStoreX509CredentialAdapter.java
index 983d6411e..1ff5ca527 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/KeyStoreX509CredentialAdapter.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/KeyStoreX509CredentialAdapter.java
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** A wrapper that changes a {@link KeyStore} in to a {@link X509Credential}. */
public class KeyStoreX509CredentialAdapter extends AbstractCredential implements X509Credential {
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/PKIXX509CredentialTrustEngine.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/PKIXX509CredentialTrustEngine.java
index c85f1d3dc..55b1a5af8 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/PKIXX509CredentialTrustEngine.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/PKIXX509CredentialTrustEngine.java
@@ -32,9 +32,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Trust engine implementation which evaluates an {@link X509Credential} token based on PKIX validation processing using
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/X509KeyManagerX509CredentialAdapter.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/X509KeyManagerX509CredentialAdapter.java
index 8f06e7240..4e7d801f5 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/X509KeyManagerX509CredentialAdapter.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/impl/X509KeyManagerX509CredentialAdapter.java
@@ -35,8 +35,8 @@ import org.opensaml.security.credential.UsageType;
import org.opensaml.security.x509.X509Credential;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/** A class that wraps a {@link X509KeyManager} and exposes it as an {@link X509Credential}. */
public class X509KeyManagerX509CredentialAdapter extends AbstractCredential implements X509Credential {
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolver.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolver.java
index bf269e7b2..cfa5792df 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolver.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolver.java
@@ -23,9 +23,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.trust.TrustEngine;
import org.opensaml.security.x509.X509Credential;
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/StaticX509CredentialKeyManager.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/StaticX509CredentialKeyManager.java
index c20e4621e..1ae0665eb 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/StaticX509CredentialKeyManager.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/StaticX509CredentialKeyManager.java
@@ -25,12 +25,12 @@ import java.util.Collection;
import javax.net.ssl.X509KeyManager;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.security.x509.X509Credential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* An implementation of {@link X509KeyManager} based on a single statically configured
* private key and certificate chain, supplied either directly or via an instance of
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509CredentialContext.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509CredentialContext.java
index 1765809e6..ca1f68476 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509CredentialContext.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509CredentialContext.java
@@ -20,10 +20,10 @@ package org.opensaml.security.x509.tls.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.security.x509.X509Credential;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Class which holds and makes available an instance of {@link X509Credential} via ThreadLocal storage,
* typically used for client TLS authentication via {@link ThreadLocalX509CredentialKeyManager}.
diff --git a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509TrustEngineContext.java b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509TrustEngineContext.java
index 28a3b8e3a..f94c67a09 100644
--- a/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509TrustEngineContext.java
+++ b/opensaml-security-impl/src/main/java/org/opensaml/security/x509/tls/impl/ThreadLocalX509TrustEngineContext.java
@@ -23,8 +23,8 @@ import javax.annotation.Nullable;
import org.opensaml.security.trust.TrustEngine;
import org.opensaml.security.x509.X509Credential;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Class which holds and makes available instances of
diff --git a/opensaml-security-impl/src/test/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandlerTest.java b/opensaml-security-impl/src/test/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandlerTest.java
index c5aabbe7d..f78b23277 100644
--- a/opensaml-security-impl/src/test/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandlerTest.java
+++ b/opensaml-security-impl/src/test/java/org/opensaml/security/messaging/impl/PopulateHttpClientSecurityParametersHandlerTest.java
@@ -44,10 +44,10 @@ import org.testng.annotations.Test;
import com.google.common.base.Predicates;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/** Unit test for {@link PopulateHttpClientSecurityParametersHandler}. */
public class PopulateHttpClientSecurityParametersHandlerTest extends OpenSAMLInitBaseTestCase {
diff --git a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
index 4fa04cde8..b2682919b 100644
--- a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
+++ b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/ChainingTrustEngineTest.java
@@ -20,8 +20,8 @@ package org.opensaml.security.trust.impl;
import java.util.ArrayList;
import java.util.List;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.security.SecurityException;
diff --git a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/InMemoryDirectory.java b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/InMemoryDirectory.java
index dd2a06c93..4665a4830 100644
--- a/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/InMemoryDirectory.java
+++ b/opensaml-security-impl/src/test/java/org/opensaml/security/trust/impl/InMemoryDirectory.java
@@ -32,7 +32,7 @@ import com.unboundid.ldif.LDIFReader;
import com.unboundid.util.ssl.KeyStoreKeyManager;
import com.unboundid.util.ssl.SSLUtil;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Manages an instance of the in-memory directory server.
diff --git a/opensaml-security-impl/src/test/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolverTest.java b/opensaml-security-impl/src/test/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolverTest.java
index 102a4cc86..5ec5b2635 100644
--- a/opensaml-security-impl/src/test/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolverTest.java
+++ b/opensaml-security-impl/src/test/java/org/opensaml/security/x509/tls/impl/BasicClientTLSValidationParametersResolverTest.java
@@ -20,9 +20,9 @@ package org.opensaml.security.x509.tls.impl;
import java.util.ArrayList;
import java.util.Iterator;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialResolver;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
index bd3ac9473..4c26315e6 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/AbstractPipelineHttpSOAPClient.java
@@ -61,8 +61,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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* SOAP client that is based on {@link HttpClientMessagePipeline}.
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
index d48c6b6e3..2624c8cf4 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/HttpSOAPClient.java
@@ -62,10 +62,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.logic.Constraint;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* SOAP client that uses HTTP as the underlying transport and POST as the binding.
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.java
index 9050d5f39..560470cf0 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/http/PipelineFactoryHttpSOAPClient.java
@@ -32,7 +32,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* SOAP client that is based on {@link HttpClientMessagePipeline}, produced at runtime from an instance of
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
index b4f861953..c2d5aee77 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingFunction.java
@@ -33,7 +33,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Function implementation which resolves a delegate function based on the
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
index f1ac4e9a9..f800836ff 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/messaging/SOAPClientPipelineNameMappingPredicate.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Predicate implementation which resolves a delegate predicate based on the
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
index 766a8e2c5..cf0315c72 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/client/security/SOAPClientSecurityProfileIdLookupFunction.java
@@ -28,7 +28,7 @@ import org.opensaml.messaging.context.navigate.ChildContextLookup;
import org.opensaml.messaging.context.navigate.ContextDataLookupFunction;
import org.opensaml.messaging.context.navigate.RecursiveTypedParentContextLookup;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Function to resolve SOAP client security profile ID from message context.
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java
index 9aa91c3a1..9def41b32 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/messaging/SOAPMessagingSupport.java
@@ -29,7 +29,7 @@ import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import net.shibboleth.shared.collection.LazyList;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
index da0de06d6..ccf423cae 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPSupport.java
@@ -28,9 +28,9 @@ import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.collection.LazyList;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.XMLConstants;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.AttributeExtensibleXMLObject;
import org.opensaml.core.xml.XMLObject;
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/AbstractToken.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/AbstractToken.java
index 59b06cd1e..68bba3525 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/AbstractToken.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/AbstractToken.java
@@ -19,7 +19,7 @@ package org.opensaml.soap.wssecurity.messaging;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Base abstract implementation of {@link Token}.
diff --git a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/WSSecurityMessagingSupport.java b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/WSSecurityMessagingSupport.java
index 396d53e13..f1349ef0e 100644
--- a/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/WSSecurityMessagingSupport.java
+++ b/opensaml-soap-api/src/main/java/org/opensaml/soap/wssecurity/messaging/WSSecurityMessagingSupport.java
@@ -23,14 +23,14 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.util.XMLObjectSupport;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.soap.messaging.SOAPMessagingSupport;
import org.opensaml.soap.wssecurity.Security;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Helper methods for working with WS-Security messaging.
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
index 5905b5e5e..066038887 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/messaging/impl/SOAP11FaultContextDecoratingErrorHandler.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.error.TypedMessageErrorHandler;
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
index 46774f138..19c05cb75 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFault.java
@@ -44,8 +44,8 @@ import com.google.common.base.Predicates;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that resolves or builds a SOAP 1.1 {@link Fault} object, and stores it in the outbound message context.
diff --git a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFaultTest.java b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFaultTest.java
index 4cdf85ec1..377ae2153 100644
--- a/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFaultTest.java
+++ b/opensaml-soap-impl/src/test/java/org/opensaml/soap/soap11/profile/impl/AddSOAPFaultTest.java
@@ -20,7 +20,7 @@ package org.opensaml.soap.soap11.profile.impl;
import java.util.Collections;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.core.xml.mock.SimpleXMLObject;
diff --git a/opensaml-soap-impl/src/test/java/org/opensaml/soap/wssecurity/messaging/impl/AddTimestampHandlerTest.java b/opensaml-soap-impl/src/test/java/org/opensaml/soap/wssecurity/messaging/impl/AddTimestampHandlerTest.java
index 760701b2a..43bb10a64 100644
--- a/opensaml-soap-impl/src/test/java/org/opensaml/soap/wssecurity/messaging/impl/AddTimestampHandlerTest.java
+++ b/opensaml-soap-impl/src/test/java/org/opensaml/soap/wssecurity/messaging/impl/AddTimestampHandlerTest.java
@@ -22,7 +22,7 @@ import java.time.Instant;
import java.time.temporal.ChronoUnit;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.shared.logic.FunctionSupport;
import org.opensaml.messaging.handler.MessageHandlerException;
import org.opensaml.soap.messaging.SOAPMessagingSupport;
diff --git a/opensaml-spring/src/main/java/org/opensaml/spring/credential/AbstractBasicCredentialFactoryBean.java b/opensaml-spring/src/main/java/org/opensaml/spring/credential/AbstractBasicCredentialFactoryBean.java
index 100115f24..670fc0624 100644
--- a/opensaml-spring/src/main/java/org/opensaml/spring/credential/AbstractBasicCredentialFactoryBean.java
+++ b/opensaml-spring/src/main/java/org/opensaml/spring/credential/AbstractBasicCredentialFactoryBean.java
@@ -25,8 +25,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.crypto.SecretKey;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.util.encoders.Hex;
diff --git a/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingSignatureTrustEngineFactoryBean.java b/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingSignatureTrustEngineFactoryBean.java
index 9d4501a2d..614af8114 100644
--- a/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingSignatureTrustEngineFactoryBean.java
+++ b/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingSignatureTrustEngineFactoryBean.java
@@ -22,8 +22,8 @@ import java.util.List;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.spring.factory.AbstractComponentAwareFactoryBean;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
import org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine;
diff --git a/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingTrustEngineFactoryBean.java b/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingTrustEngineFactoryBean.java
index 5dde10c21..a3b3ee71a 100644
--- a/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingTrustEngineFactoryBean.java
+++ b/opensaml-spring/src/main/java/org/opensaml/spring/trust/ChainingTrustEngineFactoryBean.java
@@ -22,8 +22,8 @@ import java.util.List;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.spring.factory.AbstractComponentAwareFactoryBean;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.trust.TrustEngine;
import org.opensaml.security.trust.impl.ChainingTrustEngine;
diff --git a/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java b/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
index 665debd2d..6a9e1ac69 100644
--- a/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
+++ b/opensaml-storage-api/src/main/java/org/opensaml/storage/AbstractStorageService.java
@@ -31,8 +31,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.Positive;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.TimerSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Abstract base class for {@link StorageService} implementations.
diff --git a/opensaml-storage-api/src/main/java/org/opensaml/storage/StorageRecord.java b/opensaml-storage-api/src/main/java/org/opensaml/storage/StorageRecord.java
index 29032bd05..e2e223895 100644
--- a/opensaml-storage-api/src/main/java/org/opensaml/storage/StorageRecord.java
+++ b/opensaml-storage-api/src/main/java/org/opensaml/storage/StorageRecord.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import javax.annotation.concurrent.NotThreadSafe;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Represents a versioned record in a {@link StorageService}.
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceReplayCache.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceReplayCache.java
index 26d1b7251..999cd50ab 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceReplayCache.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceReplayCache.java
@@ -37,7 +37,7 @@ import net.shibboleth.shared.codec.StringDigester;
import net.shibboleth.shared.codec.StringDigester.OutputFormat;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* {@link ReplayCache} implementation backed by a {@link StorageService}.
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceRevocationCache.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceRevocationCache.java
index 09464a974..e036bc0d9 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceRevocationCache.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/StorageServiceRevocationCache.java
@@ -38,7 +38,7 @@ import net.shibboleth.shared.annotation.constraint.Positive;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Stores and checks for revocation entries via a {@link StorageService}.
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/AbstractClientStorageServiceStore.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/AbstractClientStorageServiceStore.java
index 6add6a4af..2c2e596a1 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/AbstractClientStorageServiceStore.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/AbstractClientStorageServiceStore.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Base class for the storage and reconstitution of data for a {@link ClientStorageService}.
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
index bc477a4d8..0bbd38396 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageService.java
@@ -52,14 +52,14 @@ import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.net.CookieManager;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.security.DataExpiredException;
import net.shibboleth.shared.security.DataSealer;
import net.shibboleth.shared.security.DataSealerException;
import net.shibboleth.shared.security.DataSealerKeyStrategy;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/**
* Implementation of {@link org.opensaml.storage.StorageService} that stores data in-memory in a
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageServiceOperation.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageServiceOperation.java
index f16ddf5c6..dced95fb5 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageServiceOperation.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/ClientStorageServiceOperation.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import org.opensaml.storage.impl.client.ClientStorageService.ClientStorageSource;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A wrapper for a storage operation to capture the current or intended state of the data for
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
index b09ba0dde..10d4a94fd 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/LoadClientStorageServices.java
@@ -42,8 +42,8 @@ import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.URISupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An action that loads any number of {@link ClientStorageService} instances from a POST submission
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
index 30e2f38dc..aedae64f0 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageLoadContext.java
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An action that creates and populates a {@link ClientStorageLoadContext} with any storage keys identified
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
index 3ada45378..a031c8db4 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/PopulateClientStorageSaveContext.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An action that creates and populates a {@link ClientStorageSaveContext} with any storage operations
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
index 7ff052319..ea68e0e0c 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/SaveCookieBackedClientStorageServices.java
@@ -38,7 +38,7 @@ import com.google.common.escape.Escaper;
import com.google.common.net.UrlEscapers;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An action that performs any number of {@link ClientStorageServiceOperation} instances sourced from
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/XMLClientStorageServiceStore.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/XMLClientStorageServiceStore.java
index e8457d4ed..73a530c99 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/XMLClientStorageServiceStore.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/client/XMLClientStorageServiceStore.java
@@ -39,13 +39,13 @@ import com.google.common.base.Strings;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.DataSealerException;
import net.shibboleth.shared.xml.ElementSupport;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.SerializeSupport;
import net.shibboleth.shared.xml.XMLParserException;
import net.shibboleth.shared.xml.impl.BasicParserPool;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* XML-based storage for {@link ClientStorageService}.
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageCapabilities.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageCapabilities.java
index 5cbe07dfa..63dfe8837 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageCapabilities.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageCapabilities.java
@@ -18,7 +18,8 @@
package org.opensaml.storage.impl.memcached;
import net.shibboleth.shared.annotation.constraint.Positive;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
+
import org.opensaml.storage.StorageCapabilities;
/**
diff --git a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageService.java b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageService.java
index 0d9cc441e..20e2df550 100644
--- a/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageService.java
+++ b/opensaml-storage-impl/src/main/java/org/opensaml/storage/impl/memcached/MemcachedStorageService.java
@@ -21,8 +21,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.Positive;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import net.spy.memcached.CASResponse;
import net.spy.memcached.CASValue;
import net.spy.memcached.MemcachedClient;
diff --git a/opensaml-storage-impl/src/test/java/org/opensaml/storage/impl/StorageServiceRevocationCacheTest.java b/opensaml-storage-impl/src/test/java/org/opensaml/storage/impl/StorageServiceRevocationCacheTest.java
index da80bdb03..3581a82f6 100644
--- a/opensaml-storage-impl/src/test/java/org/opensaml/storage/impl/StorageServiceRevocationCacheTest.java
+++ b/opensaml-storage-impl/src/test/java/org/opensaml/storage/impl/StorageServiceRevocationCacheTest.java
@@ -29,7 +29,7 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import org.testng.annotations.BeforeMethod;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/KeyTransportAlgorithmPredicate.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/KeyTransportAlgorithmPredicate.java
index b3c7b8ba9..3170f25f5 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/KeyTransportAlgorithmPredicate.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/KeyTransportAlgorithmPredicate.java
@@ -22,10 +22,10 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.security.credential.Credential;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* An interface for predicates which allow evaluation of a candidate key transport algorithm relative to
* a candidate data encryption algorithm and/or a candidate key transport credential.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/agreement/KeyAgreementProcessorRegistry.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/agreement/KeyAgreementProcessorRegistry.java
index bdb34aa9e..900363a06 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/agreement/KeyAgreementProcessorRegistry.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/agreement/KeyAgreementProcessorRegistry.java
@@ -24,8 +24,8 @@ import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A component which provides access to registered instances of {@link KeyAgreementProcessor}.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/algorithm/AlgorithmRegistry.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/algorithm/AlgorithmRegistry.java
index 916215652..243d9e214 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/algorithm/AlgorithmRegistry.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/algorithm/AlgorithmRegistry.java
@@ -38,8 +38,8 @@ import javax.crypto.NoSuchPaddingException;
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.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.algorithm.AlgorithmDescriptor.AlgorithmType;
import org.opensaml.xmlsec.encryption.support.EncryptionConstants;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/config/DecryptionParserPool.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/config/DecryptionParserPool.java
index 9cf7de77d..40357a509 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/config/DecryptionParserPool.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/config/DecryptionParserPool.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
import org.opensaml.core.config.ConfigurationService;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.xml.ParserPool;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A wrapper bean containing an instance of {@link ParserPool} used with XML decryption
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
index d1a3c2ab7..388231dc1 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/DecryptionConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.DecryptionConfiguration;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
index 408ad78d1..2109005fa 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/EncryptionConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.EncryptionConfiguration;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/KeyInfoGenerationProfileCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/KeyInfoGenerationProfileCriterion.java
index a2ae594ae..9dfb30080 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/KeyInfoGenerationProfileCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/KeyInfoGenerationProfileCriterion.java
@@ -20,9 +20,9 @@ package org.opensaml.xmlsec.criterion;
import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* {@link Criterion} representing an a KeyInfo generation "profile" name used
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
index b9f4f72da..a063062d6 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureSigningConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureSigningConfiguration;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
index a9df43245..17986f7c5 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/criterion/SignatureValidationConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureValidationConfiguration;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/derivation/KeyDerivationSupport.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/derivation/KeyDerivationSupport.java
index 44c7e273a..d87a1d2fe 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/derivation/KeyDerivationSupport.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/derivation/KeyDerivationSupport.java
@@ -22,7 +22,7 @@ import javax.annotation.Nullable;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Support key derivation operations.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/AbstractEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/AbstractEncryptedKeyResolver.java
index f7c6620f5..5b708d1e5 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/AbstractEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/AbstractEncryptedKeyResolver.java
@@ -27,8 +27,8 @@ import javax.annotation.Nullable;
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.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.encryption.DataReference;
import org.opensaml.xmlsec.encryption.EncryptedData;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
index 16cae2a88..ec1d8acda 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/ChainingEncryptedKeyResolver.java
@@ -35,7 +35,7 @@ import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* An implementation of {@link EncryptedKeyResolver} which chains multiple other resolver implementations together,
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java
index 9c6fe06d7..4a6817aad 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java
@@ -20,12 +20,12 @@ package org.opensaml.xmlsec.encryption.support;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.security.credential.Credential;
import org.opensaml.xmlsec.EncryptionParameters;
import org.opensaml.xmlsec.keyinfo.KeyInfoGenerator;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Parameters for encrypting XMLObjects.
*/
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Decrypter.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Decrypter.java
index d4c327d3b..b6222a49c 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Decrypter.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Decrypter.java
@@ -29,6 +29,7 @@ import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Criterion;
@@ -36,7 +37,6 @@ import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.xml.ParserPool;
import net.shibboleth.shared.xml.QNameSupport;
import net.shibboleth.shared.xml.XMLParserException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.apache.xml.security.Init;
import org.apache.xml.security.encryption.XMLCipher;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Encrypter.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Encrypter.java
index 07076c44e..cdbbb15df 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Encrypter.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/Encrypter.java
@@ -31,7 +31,7 @@ import javax.crypto.SecretKey;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.apache.xml.security.Init;
import org.apache.xml.security.encryption.XMLCipher;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolver.java
index a1c505858..bb5a7be9d 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/InlineEncryptedKeyResolver.java
@@ -25,11 +25,11 @@ import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Implementation of {@link EncryptedKeyResolver} which finds {@link EncryptedKey} elements
* within the {@link org.opensaml.xmlsec.signature.KeyInfo} of the {@link EncryptedData} context.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java
index c3dbb765b..e143e8f4e 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java
@@ -19,10 +19,10 @@ package org.opensaml.xmlsec.encryption.support;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.xmlsec.EncryptionParameters;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Parameters for encrypting keys.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolver.java
index df728ecc4..16c600888 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleKeyInfoReferenceEncryptedKeyResolver.java
@@ -25,8 +25,6 @@ import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
@@ -35,6 +33,8 @@ import org.opensaml.xmlsec.signature.KeyInfoReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Implementation of {@link EncryptedKeyResolver} which finds {@link EncryptedKey} elements by dereferencing
* {@link KeyInfoReference} children of the {@link org.opensaml.xmlsec.signature.KeyInfo} of the {@link EncryptedData}
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolver.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolver.java
index e5de97561..b73b85bf3 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolver.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/SimpleRetrievalMethodEncryptedKeyResolver.java
@@ -26,8 +26,6 @@ import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.core.xml.XMLObject;
import org.opensaml.xmlsec.encryption.EncryptedData;
import org.opensaml.xmlsec.encryption.EncryptedKey;
@@ -37,6 +35,8 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Implementation of {@link EncryptedKeyResolver} which finds {@link EncryptedKey} elements by dereferencing
* {@link RetrievalMethod} children of the {@link org.opensaml.xmlsec.signature.KeyInfo} of the {@link EncryptedData}
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoCredentialResolutionMode.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoCredentialResolutionMode.java
index d2d252574..9c939f93c 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoCredentialResolutionMode.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoCredentialResolutionMode.java
@@ -28,8 +28,8 @@ import org.opensaml.xmlsec.signature.KeyInfo;
import com.google.common.base.MoreObjects;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* An implementation of {@link Criterion} which specifies criteria
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoGeneratorManager.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoGeneratorManager.java
index f1868e3cf..9c0241f8b 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoGeneratorManager.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoGeneratorManager.java
@@ -25,10 +25,10 @@ import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.security.credential.Credential;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A manager for {@link KeyInfoGeneratorFactory} instances. Factories are uniquely indexed according to the
* value returned by {@link KeyInfoGeneratorFactory#getCredentialType()}.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoSupport.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoSupport.java
index 0b2548350..a9a722541 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoSupport.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/keyinfo/KeyInfoSupport.java
@@ -95,7 +95,7 @@ import com.google.common.base.Strings;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.codec.EncodingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Utility class for working with data inside a KeyInfo object.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureSupport.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureSupport.java
index e7a622196..9a09a6383 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureSupport.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureSupport.java
@@ -38,8 +38,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Helper methods for working with XML Signature.
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureValidationParametersCriterion.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureValidationParametersCriterion.java
index 36336d516..b64cecfab 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureValidationParametersCriterion.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignatureValidationParametersCriterion.java
@@ -20,8 +20,8 @@ package org.opensaml.xmlsec.signature.support;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureValidationParameters;
diff --git a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/URIContentReference.java b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/URIContentReference.java
index 6ae0b4e3a..e7b368b5c 100644
--- a/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/URIContentReference.java
+++ b/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/URIContentReference.java
@@ -30,8 +30,8 @@ import org.apache.xml.security.transforms.Transforms;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A generic content reference that uses a URI to reference the content to be signed.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/BasicKeyAgreementCredential.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/BasicKeyAgreementCredential.java
index a74b75c9e..2a616b82d 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/BasicKeyAgreementCredential.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/BasicKeyAgreementCredential.java
@@ -25,8 +25,8 @@ import org.opensaml.security.credential.Credential;
import org.opensaml.xmlsec.agreement.KeyAgreementCredential;
import org.opensaml.xmlsec.agreement.KeyAgreementParameters;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Basic implementation of {@link KeyAgreementCredential}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/DigestMethod.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/DigestMethod.java
index 37dafb15b..a7226263f 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/DigestMethod.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/DigestMethod.java
@@ -29,8 +29,8 @@ import org.opensaml.xmlsec.agreement.XMLExpressableKeyAgreementParameter;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Key agreement parameter to support use of {@link org.opensaml.xmlsec.signature.DigestMethod} values.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KANonce.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KANonce.java
index 946b3a553..4e6827b8b 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KANonce.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KANonce.java
@@ -36,8 +36,8 @@ import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Key agreement parameter to support use of {@link org.opensaml.xmlsec.encryption.KANonce} values.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeyAgreementParametersParser.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeyAgreementParametersParser.java
index 0a91dc474..c35c0fdc7 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeyAgreementParametersParser.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeyAgreementParametersParser.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A component which parses an instance of {@link AgreementMethod} and produces a new instance
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeySize.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeySize.java
index 30e67d60a..98bd8bccf 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeySize.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/KeySize.java
@@ -21,7 +21,7 @@ import javax.annotation.Nonnull;
import org.opensaml.xmlsec.agreement.KeyAgreementParameter;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Key agreement parameter used to explicitly represent the size of the derived key.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/PrivateCredential.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/PrivateCredential.java
index 203f51211..4af80d251 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/PrivateCredential.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/agreement/impl/PrivateCredential.java
@@ -24,7 +24,7 @@ import javax.annotation.Nonnull;
import org.opensaml.security.credential.Credential;
import org.opensaml.xmlsec.agreement.KeyAgreementParameter;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Key agreement parameter used to pass a Credential holding a required private key.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/ConcatKDF.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/ConcatKDF.java
index 3bbdded39..208af3f33 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/ConcatKDF.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/ConcatKDF.java
@@ -57,8 +57,8 @@ import com.google.common.primitives.Bytes;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Implementation of ConcatKDF key derivation as defined in XML Encryption 1.1.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/DHLegacyKDF.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/DHLegacyKDF.java
index 31fc98803..4de751c0e 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/DHLegacyKDF.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/DHLegacyKDF.java
@@ -38,8 +38,8 @@ import com.google.common.primitives.Bytes;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Implementation of the key derivation function used with Diffie-Hellman Key Agreement With Legacy Key Derivation
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/PBKDF2.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/PBKDF2.java
index 68c2c4a0d..fa70c2e70 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/PBKDF2.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/derivation/impl/PBKDF2.java
@@ -59,8 +59,8 @@ import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.codec.EncodingException;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Implementation of PBKDF2 key derivation as defined in XML Encryption 1.1.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolver.java
index cbfe2cab5..25ab0343a 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolver.java
@@ -28,9 +28,9 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Resolver;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialSupport;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicate.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicate.java
index 94cd7f1da..a7115201c 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicate.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/AlgorithmRuntimeSupportedPredicate.java
@@ -21,10 +21,10 @@ import java.util.function.Predicate;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.opensaml.xmlsec.algorithm.AlgorithmRegistry;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* A predicate which evaluates whether a cryptographic algorithm URI is effectively supported by
* the runtime environment, as determined by {@link AlgorithmRegistry#isRuntimeSupported(String)}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfiguration.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfiguration.java
index 9162a27f8..874ba163e 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfiguration.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfiguration.java
@@ -29,8 +29,8 @@ import org.opensaml.xmlsec.AlgorithmPolicyConfiguration;
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.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Basic implementation of {@link AlgorithmPolicyConfiguration}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolver.java
index 60165ca00..9e15c4533 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolver.java
@@ -22,9 +22,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.DecryptionConfiguration;
import org.opensaml.xmlsec.DecryptionParameters;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
index a873db87d..4766f19ab 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolver.java
@@ -52,10 +52,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
/**
* Basic implementation of {@link EncryptionParametersResolver}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java
index ec8dcb9ba..f4e53c155 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolver.java
@@ -27,10 +27,10 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialSupport;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolver.java
index f8cf8704f..b57a6665b 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolver.java
@@ -22,9 +22,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureValidationConfiguration;
import org.opensaml.xmlsec.SignatureValidationParameters;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfiguration.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfiguration.java
index 2b958ca9b..88e515ba3 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfiguration.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfiguration.java
@@ -28,9 +28,9 @@ import org.opensaml.xmlsec.WhitelistBlacklistConfiguration;
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.logic.Constraint;
import net.shibboleth.shared.primitive.DeprecationSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Basic implementation of {@link WhitelistBlacklistConfiguration}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicate.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicate.java
index f27e7c724..b83dbfb94 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicate.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicate.java
@@ -25,7 +25,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Predicate which implements an algorithm URI exclusion policy.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicate.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicate.java
index 76bf0b960..0b209ec0a 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicate.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicate.java
@@ -25,7 +25,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Predicate which implements an algorithm URI inclusion policy.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticDecryptionParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticDecryptionParametersResolver.java
index 150edb28a..7c158358e 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticDecryptionParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticDecryptionParametersResolver.java
@@ -21,9 +21,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.DecryptionParameters;
import org.opensaml.xmlsec.DecryptionParametersResolver;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticEncryptionParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticEncryptionParametersResolver.java
index 39c88f27b..a994a22c0 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticEncryptionParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticEncryptionParametersResolver.java
@@ -21,9 +21,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.EncryptionParameters;
import org.opensaml.xmlsec.EncryptionParametersResolver;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureSigningParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureSigningParametersResolver.java
index 147ba2174..99041bc63 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureSigningParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureSigningParametersResolver.java
@@ -21,9 +21,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureSigningParameters;
import org.opensaml.xmlsec.SignatureSigningParametersResolver;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureValidationParametersResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureValidationParametersResolver.java
index 7e795b390..2c7a463e7 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureValidationParametersResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/impl/StaticSignatureValidationParametersResolver.java
@@ -21,9 +21,9 @@ import java.util.Collections;
import javax.annotation.Nonnull;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureValidationParameters;
import org.opensaml.xmlsec.SignatureValidationParametersResolver;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolver.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolver.java
index c21910b5c..d818c1490 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolver.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/LocalKeyInfoCredentialResolver.java
@@ -35,9 +35,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* A simple specialization of {@link BasicProviderKeyInfoCredentialResolver}
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGenerator.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGenerator.java
index f4fcf9571..982d16846 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGenerator.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/StaticKeyInfoGenerator.java
@@ -32,7 +32,7 @@ import org.opensaml.xmlsec.signature.KeyInfo;
import org.w3c.dom.Element;
import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* Implementation of {@link KeyInfoGenerator} which always returns static {@link KeyInfo} data.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorFactory.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorFactory.java
index 298f8d919..54db85c5f 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorFactory.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/X509KeyInfoGeneratorFactory.java
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
import net.shibboleth.shared.collection.LazySet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
/**
* A factory implementation which produces instances of {@link KeyInfoGenerator} capable of
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/provider/InlineX509DataProvider.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/provider/InlineX509DataProvider.java
index d65f33807..c47d059fe 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/provider/InlineX509DataProvider.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/keyinfo/impl/provider/InlineX509DataProvider.java
@@ -34,8 +34,8 @@ import javax.security.auth.x500.X500Principal;
import net.shibboleth.shared.codec.Base64Support;
import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.collection.LazySet;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.security.SecurityException;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandler.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandler.java
index 46d220b7a..7d44482a3 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandler.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandler.java
@@ -38,9 +38,9 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Handler that resolves and populates {@link SignatureValidationParameters} on a {@link SecurityParametersContext}
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/BaseSignatureTrustEngine.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/BaseSignatureTrustEngine.java
index dce10609f..7db42bc84 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/BaseSignatureTrustEngine.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/BaseSignatureTrustEngine.java
@@ -20,9 +20,9 @@ package org.opensaml.xmlsec.signature.support.impl;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
index 3ce87a2e5..4dec99f90 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java
@@ -23,7 +23,7 @@ import javax.annotation.Nonnull;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
import org.opensaml.xmlsec.signature.Signature;
import org.opensaml.xmlsec.signature.support.SignatureException;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
index 8eba21d9f..331ecdfa1 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngine.java
@@ -26,8 +26,8 @@ import net.shibboleth.shared.annotation.ParameterName;
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.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngine.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngine.java
index 2988f6af1..7d717201e 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngine.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ExplicitKeySignatureTrustEngine.java
@@ -21,9 +21,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngine.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngine.java
index c58cbcb3b..8fc1cdd8e 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngine.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/PKIXSignatureTrustEngine.java
@@ -24,9 +24,9 @@ import javax.annotation.Nullable;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.security.SecurityException;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java
index 5b93fb181..feace20ec 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java
@@ -26,10 +26,10 @@ import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.AttributeSupport;
import net.shibboleth.shared.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.SignatureValidationParameters;
import org.opensaml.xmlsec.algorithm.AlgorithmSupport;
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignatureValidationProviderImpl.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignatureValidationProviderImpl.java
index 3f2a07f4a..bb9bd1060 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignatureValidationProviderImpl.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignatureValidationProviderImpl.java
@@ -22,8 +22,6 @@ import java.security.Key;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.apache.xml.security.signature.XMLSignature;
import org.apache.xml.security.signature.XMLSignatureException;
import org.opensaml.security.credential.Credential;
@@ -35,6 +33,8 @@ import org.opensaml.xmlsec.signature.support.SignatureValidationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Implementation of {@link SignatureValidationProvider} which is based on the Apache Santuario library
* and is used with {@link Signature} instances which are instances of {@link SignatureImpl}.
diff --git a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignerProviderImpl.java b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignerProviderImpl.java
index 51ddcf9e1..212e1ae87 100644
--- a/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignerProviderImpl.java
+++ b/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/provider/ApacheSantuarioSignerProviderImpl.java
@@ -19,8 +19,6 @@ package org.opensaml.xmlsec.signature.support.impl.provider;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-
import org.apache.xml.security.Init;
import org.apache.xml.security.exceptions.XMLSecurityException;
import org.apache.xml.security.signature.XMLSignature;
@@ -32,6 +30,8 @@ import org.opensaml.xmlsec.signature.support.SignerProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import net.shibboleth.shared.logic.Constraint;
+
/**
* Implementation of {@link SignerProvider} which is based on the Apache Santuario library
* and is used with {@link Signature} instances which are instances of {@link SignatureImpl}.
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/agreement/impl/PrivateCredentialTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/agreement/impl/PrivateCredentialTest.java
index e772d772c..f7707517e 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/agreement/impl/PrivateCredentialTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/agreement/impl/PrivateCredentialTest.java
@@ -29,7 +29,7 @@ import org.opensaml.security.crypto.KeySupport;
import org.testng.Assert;
import org.testng.annotations.Test;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
/**
*
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
index 3462b0043..28fdd71b4 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AbstractSecurityParametersResolverTest.java
@@ -32,9 +32,9 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
index c5df68ca3..5c41ee9e8 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/AlgorithmPolicyConfigurationCriterion.java
@@ -25,8 +25,8 @@ 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.logic.Constraint;
import net.shibboleth.shared.resolver.Criterion;
-import net.shibboleth.utilities.java.support.logic.Constraint;
import org.opensaml.xmlsec.AlgorithmPolicyConfiguration;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
index 8b466352c..9bbf8bbcc 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicAlgorithmPolicyConfigurationTest.java
@@ -22,12 +22,12 @@ import static org.testng.Assert.*;
import java.util.Arrays;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.opensaml.xmlsec.AlgorithmPolicyConfiguration.Precedence;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
public class BasicAlgorithmPolicyConfigurationTest {
private BasicAlgorithmPolicyConfiguration config;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
index 64d0185ad..4e4531ac1 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicDecryptionParametersResolverTest.java
@@ -21,9 +21,9 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.xmlsec.DecryptionParameters;
import org.opensaml.xmlsec.criterion.DecryptionConfigurationCriterion;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
index e761d2b7c..c4e4bbe6f 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicEncryptionParametersResolverTest.java
@@ -35,9 +35,9 @@ import java.util.Set;
import javax.annotation.Nullable;
import javax.crypto.SecretKey;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
index f099ee370..d26bbad6b 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureSigningParametersResolverTest.java
@@ -29,9 +29,9 @@ import java.util.List;
import javax.crypto.SecretKey;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.security.credential.Credential;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
index 9f200ecec..62de57da3 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicSignatureValidationParametersResolverTest.java
@@ -23,9 +23,9 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.security.credential.Credential;
import org.opensaml.security.credential.CredentialResolver;
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfigurationTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfigurationTest.java
index a9ec8350a..d261c4abb 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfigurationTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/BasicWhitelistBlacklistConfigurationTest.java
@@ -23,12 +23,12 @@ import static org.testng.Assert.*;
import java.util.Arrays;
import java.util.List;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.opensaml.xmlsec.WhitelistBlacklistConfiguration.Precedence;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
@SuppressWarnings("removal")
public class BasicWhitelistBlacklistConfigurationTest {
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
index b10f94298..b50e28df8 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/ExcludedAlgorithmsPredicateTest.java
@@ -19,11 +19,11 @@ package org.opensaml.xmlsec.impl;
import java.util.List;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
public class ExcludedAlgorithmsPredicateTest {
@Test
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
index 0161b23d1..6d15646fd 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/impl/IncludedAlgorithmsPredicateTest.java
@@ -19,11 +19,11 @@ package org.opensaml.xmlsec.impl;
import java.util.List;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+
/**
*
*/
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandlerTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandlerTest.java
index 4d687c5df..8feba48fd 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandlerTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/messaging/impl/PopulateSignatureValidationParametersHandlerTest.java
@@ -31,10 +31,10 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
/** Unit test for {@link PopulateSignatureValidationParametersHandler}. */
public class PopulateSignatureValidationParametersHandlerTest extends OpenSAMLInitBaseTestCase {
diff --git a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
index fea54f371..61b7276ca 100644
--- a/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
+++ b/opensaml-xmlsec-impl/src/test/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignatureTrustEngineTest.java
@@ -23,8 +23,8 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.shared.logic.ConstraintViolationException;
import net.shibboleth.shared.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list