[java-metadata-aggregator] branch main updated: MDA-274 - Port to Java 17 platform

Ian Young ian at iay.org.uk
Thu Jan 26 16:55:05 UTC 2023


This is an automated email from the git hooks/post-receive script.

iay pushed a commit to branch main
in repository java-metadata-aggregator.

View the commit online:
http://git.shibboleth.net/view/?p=java-metadata-aggregator.git;a=commit;h=56c30e91de6e91c572030612b0de1a10c0ec4a12

The following commit(s) were added to refs/heads/main by this push:
     new 56c30e9  MDA-274 - Port to Java 17 platform
56c30e9 is described below

commit 56c30e91de6e91c572030612b0de1a10c0ec4a12
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Thu Jan 26 16:54:57 2023 +0000

    MDA-274 - Port to Java 17 platform
    
    Adopt the replacements for java-support and spring-extensions.
    
    A large number of changes are just to referenced package names. In addition:
    
    - Ported in SimpleNamespaceContext implementation
    - Ported in FixedStringIdentifierGenerationStrategy
    - Removed intermediate Base classes whose function is available upstream
    
    https://shibboleth.atlassian.net/browse/MDA-274
---
 mda-distribution/pom.xml                           |   4 +-
 mda-framework/pom.xml                              |  24 ++--
 ...bstractCompositeItemIdentificationStrategy.java |   6 +-
 .../java/net/shibboleth/metadata/AbstractItem.java |   6 +-
 .../metadata/CollectionMergeStrategy.java          |   2 +-
 .../metadata/DeduplicatingItemIdMergeStrategy.java |   4 +-
 .../java/net/shibboleth/metadata/ErrorStatus.java  |   2 +-
 .../java/net/shibboleth/metadata/InfoStatus.java   |   2 +-
 .../main/java/net/shibboleth/metadata/Item.java    |   4 +-
 .../metadata/ItemCollectionSerializer.java         |   2 +-
 .../main/java/net/shibboleth/metadata/ItemId.java  |   6 +-
 .../main/java/net/shibboleth/metadata/ItemTag.java |   6 +-
 .../metadata/SimpleCollectionMergeStrategy.java    |   4 +-
 .../metadata/SimpleItemCollectionSerializer.java   |   2 +-
 .../net/shibboleth/metadata/StatusMetadata.java    |   6 +-
 .../net/shibboleth/metadata/WarningStatus.java     |   2 +-
 .../dom/AbstractAttributeValidationStage.java      |   8 +-
 .../metadata/dom/AbstractDOMTraversalStage.java    |   4 +-
 .../metadata/dom/AbstractDOMValidationStage.java   |   6 +-
 .../metadata/dom/AbstractElementVisitingStage.java |   6 +-
 .../AbstractElementVisitingValidationStage.java    |   8 +-
 .../dom/AbstractNamespacesStrippingStage.java      |   6 +-
 .../metadata/dom/AbstractXSLProcessingStage.java   |  12 +-
 .../net/shibboleth/metadata/dom/Container.java     |   4 +-
 .../shibboleth/metadata/dom/DOMElementItem.java    |   4 +-
 .../metadata/dom/DOMElementSerializer.java         |   2 +-
 .../metadata/dom/DOMFilesystemSourceStage.java     |  12 +-
 .../metadata/dom/DOMResourceSourceStage.java       |  12 +-
 .../net/shibboleth/metadata/dom/ElementMaker.java  |   2 +-
 .../shibboleth/metadata/dom/ElementMatcher.java    |   4 +-
 .../metadata/dom/ElementStrippingStage.java        |  10 +-
 .../metadata/dom/ElementsStrippingStage.java       |  14 +--
 .../metadata/dom/EmptyContainerStrippingStage.java |  12 +-
 .../dom/MultiOutputXSLTransformationStage.java     |   4 +-
 .../metadata/dom/NamespaceStrippingStage.java      |  10 +-
 .../metadata/dom/NamespacesStrippingStage.java     |   4 +-
 .../metadata/dom/SimpleNamespaceContext.java       | 132 +++++++++++++++++++++
 .../metadata/dom/XMLSchemaValidationStage.java     |  12 +-
 .../metadata/dom/XMLSignatureSigningStage.java     |  10 +-
 .../metadata/dom/XMLSignatureValidationStage.java  |  12 +-
 .../metadata/dom/XPathFilteringStage.java          |  13 +-
 .../metadata/dom/XPathItemSelectionStrategy.java   |   3 +-
 .../metadata/dom/XSLTransformationStage.java       |   2 +-
 .../metadata/dom/XSLValidationStage.java           |   2 +-
 .../metadata/dom/ds/X509ValidationStage.java       |   8 +-
 .../metadata/dom/impl/XMLSignatureSigner.java      |  12 +-
 .../metadata/dom/impl/XMLSignatureValidator.java   |  10 +-
 .../metadata/dom/saml/AttributeElementMaker.java   |   2 +-
 .../metadata/dom/saml/AttributeElementMatcher.java |   2 +-
 .../dom/saml/AttributeValueElementMaker.java       |   2 +-
 .../dom/saml/AttributeValueElementMatcher.java     |   2 +-
 .../dom/saml/ContactPersonFilterStage.java         |  14 +--
 .../dom/saml/DiscoFeedCollectionSerializer.java    |   8 +-
 .../dom/saml/EntitiesDescriptorAssemblerStage.java |  12 +-
 .../saml/EntitiesDescriptorDisassemblerStage.java  |   6 +-
 .../EntityDescriptorItemIdPopulationStage.java     |   2 +-
 .../metadata/dom/saml/EntityFilterStage.java       |   6 +-
 .../metadata/dom/saml/EntityRoleFilterStage.java   |  10 +-
 .../metadata/dom/saml/GenerateIdStage.java         |   8 +-
 .../dom/saml/PullUpCacheDurationStage.java         |   6 +-
 .../metadata/dom/saml/PullUpValidUntilStage.java   |   6 +-
 .../metadata/dom/saml/RemoveOrganizationStage.java |   2 +-
 .../metadata/dom/saml/SAMLMetadataSupport.java     |   4 +-
 .../dom/saml/SAMLStringElementCheckingStage.java   |   2 +-
 .../metadata/dom/saml/SetCacheDurationStage.java   |   8 +-
 .../metadata/dom/saml/SetValidUntilStage.java      |   8 +-
 .../metadata/dom/saml/ValidateValidUntilStage.java |   4 +-
 .../dom/saml/mdattr/AbstractExactValueMatcher.java |   2 +-
 .../saml/mdattr/EntityAttributeAddingStage.java    |   8 +-
 .../saml/mdattr/EntityAttributeFilteringStage.java |   8 +-
 .../dom/saml/mdattr/MultiPredicateMatcher.java     |   2 +-
 .../EntityRegistrationAuthorityFilterStage.java    |   8 +-
 .../dom/saml/mdrpi/RegistrationAuthority.java      |   6 +-
 ...trationAuthorityItemIdentificationStrategy.java |   4 +-
 .../RegistrationAuthorityPopulationStage.java      |   4 +-
 .../dom/saml/mdui/IPHintValidationStage.java       |   4 +-
 .../metadata/pipeline/AbstractFilteringStage.java  |   2 +-
 .../AbstractItemMetadataSelectionStage.java        |   8 +-
 .../metadata/pipeline/AbstractIteratingStage.java  |   2 +-
 .../metadata/pipeline/AbstractStage.java           |   8 +-
 .../metadata/pipeline/CompositeStage.java          |   4 +-
 .../FilesInDirectoryMultiOutputStrategy.java       |  10 +-
 .../metadata/pipeline/ItemIdTransformStage.java    |   4 +-
 .../metadata/pipeline/ItemMetadataAddingStage.java |   6 +-
 .../metadata/pipeline/ItemMetadataFilterStage.java |   4 +-
 .../pipeline/ItemMetadataTerminationStage.java     |   4 +-
 .../metadata/pipeline/ItemOrderingStage.java       |   4 +-
 .../metadata/pipeline/ItemOrderingStrategy.java    |   4 +-
 .../pipeline/MultiOutputSerializationStage.java    |   6 +-
 .../net/shibboleth/metadata/pipeline/Pipeline.java |  10 +-
 .../metadata/pipeline/PipelineCallable.java        |   4 +-
 .../pipeline/PipelineDemultiplexerStage.java       |  10 +-
 .../metadata/pipeline/PipelineMergeStage.java      |   8 +-
 .../metadata/pipeline/ScriptletStage.java          |  14 +--
 .../metadata/pipeline/SerializationStage.java      |   8 +-
 .../metadata/pipeline/SimplePipeline.java          |  10 +-
 .../metadata/pipeline/SplitMergeStage.java         |   6 +-
 .../net/shibboleth/metadata/pipeline/Stage.java    |   8 +-
 .../metadata/pipeline/StaticItemSourceStage.java   |   4 +-
 .../pipeline/StatusMetadataLoggingStage.java       |   4 +-
 .../BaseIdentifiableInitializableComponent.java    |  87 --------------
 .../pipeline/impl/BaseInitializableComponent.java  |  81 -------------
 .../pipeline/impl/NoOpItemOrderingStrategy.java    |   4 +-
 .../FixedStringIdentifierGenerationStrategy.java   |  58 +++++++++
 .../shibboleth/metadata/util/RegexFileFilter.java  |   6 +-
 .../metadata/validate/BaseValidator.java           |   6 +-
 .../shibboleth/metadata/validate/Validator.java    |   6 +-
 .../metadata/validate/ValidatorSequence.java       |   6 +-
 .../validate/string/BaseStringRegexValidator.java  |   4 +-
 .../validate/string/BaseStringValueValidator.java  |   4 +-
 .../validate/x509/X509RSAExponentValidator.java    |   2 +-
 .../x509/X509RSAOpenSSLBlacklistValidator.java     |   6 +-
 .../net/shibboleth/metadata/AssertSupport.java     |   4 +-
 .../java/net/shibboleth/metadata/ItemIdTest.java   |   2 +-
 .../java/net/shibboleth/metadata/ItemTagTest.java  |   2 +-
 .../java/net/shibboleth/metadata/MockItemTest.java |   2 +-
 .../java/net/shibboleth/metadata/TestMarker.java   |   6 +-
 .../net/shibboleth/metadata/dom/BaseDOMTest.java   |  16 +--
 .../metadata/dom/DOMElementItemTest.java           |   2 +-
 .../metadata/dom/DOMFilesystemSourceStageTest.java |   6 +-
 .../metadata/dom/DOMResourceSourceStageTest.java   |   2 +-
 .../metadata/dom/ElementStrippingStageTest.java    |   2 +-
 .../dom/ElementWhitespaceTrimmingStageTest.java    |   4 +-
 .../metadata/dom/ElementsStrippingStageTest.java   |   2 +-
 .../dom/MultiOutputXSLTransformationStageTest.java |   2 +-
 .../metadata/dom/NamespaceStrippingStageTest.java  |   2 +-
 .../dom/StringAttributeValidationStageTest.java    |   4 +-
 .../dom/StringElementValidationStageTest.java      |   2 +-
 .../dom/WhitespaceTrimmingVisitorTest.java         |   4 +-
 .../metadata/dom/XMLSignatureSigningStageTest.java |   8 +-
 .../dom/XMLSignatureValidationStageTest.java       |   2 +-
 .../metadata/dom/XPathFilteringStageTest.java      |   3 +-
 .../dom/XPathItemSelectionStrategyTest.java        |   2 -
 .../metadata/dom/XSLTtransformationStageTest.java  |   4 +-
 .../metadata/dom/XSLValidationStageTest.java       |   2 +-
 .../metadata/dom/ds/X509ValidationStageTest.java   |   4 +-
 .../dom/saml/AttributeElementMatcherTest.java      |   2 +-
 .../dom/saml/AttributeValueElementMatcherTest.java |   2 +-
 .../metadata/dom/saml/CRDetectionStageTest.java    |   2 +-
 .../dom/saml/ContactPersonFilterStageTest.java     |   8 +-
 .../saml/DiscoFeedCollectionSerializerTest.java    |   2 +-
 .../metadata/dom/saml/EntityFilterStageTest.java   |   2 +-
 .../dom/saml/EntityRoleFilterStageTest.java        |   2 +-
 .../metadata/dom/saml/GenerateIdStageTest.java     |   6 +-
 .../dom/saml/PullUpCacheDurationStageTest.java     |   4 +-
 .../dom/saml/PullUpValidUntilStageTest.java        |   4 +-
 .../dom/saml/RemoveOrganizationStageTest.java      |   2 +-
 .../dom/saml/SetCacheDurationStageTest.java        |   8 +-
 .../metadata/dom/saml/SetValidUntilStageTest.java  |   8 +-
 .../dom/saml/ValidateValidUntilStageTest.java      |   2 +-
 ...EntityRegistrationAuthorityFilterStageTest.java |   2 +-
 .../RegistrationAuthorityPopulationStageTest.java  |   6 +-
 .../dom/saml/mdui/IPHintValidationStageTest.java   |   2 +-
 .../pipeline/PipelineDemultiplexerStageTest.java   |   4 +-
 .../metadata/pipeline/ScriptletStageTest.java      |   8 +-
 .../metadata/pipeline/SerializationStageTest.java  |   2 +-
 .../metadata/pipeline/SimplePipelineTest.java      |   4 +-
 .../metadata/pipeline/SplitMergeStageTest.java     |   2 +-
 ...BaseIdentifiableInitializableComponentTest.java |  64 ----------
 .../impl/BaseInitializableComponentTest.java       |  58 ---------
 .../string/AcceptStringRegexValidatorTest.java     |   2 +-
 .../string/AcceptStringValueValidatorTest.java     |   2 +-
 .../string/RejectStringRegexValidatorTest.java     |   2 +-
 .../string/RejectStringValueValidatorTest.java     |   2 +-
 .../validate/testing/CollectingValidator.java      |   2 +-
 .../x509/X509RSAExponentValidatorTest.java         |   2 +-
 .../x509/X509RSAOpenSSLBlacklistValidatorTest.java |   2 +-
 .../SetCacheDurationStageSpringTest-config.xml     |  10 +-
 .../saml/SetValidUntilStageSpringTest-config.xml   |  10 +-
 mda-keylists-rsa/pom.xml                           |   4 +-
 pom.xml                                            |  36 ++----
 171 files changed, 639 insertions(+), 754 deletions(-)

diff --git a/mda-distribution/pom.xml b/mda-distribution/pom.xml
index dae341e..4ce53d2 100644
--- a/mda-distribution/pom.xml
+++ b/mda-distribution/pom.xml
@@ -44,8 +44,8 @@
             <scope>runtime</scope>
         </dependency>
         <dependency>
-            <groupId>net.shibboleth.ext</groupId>
-            <artifactId>spring-extensions</artifactId>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-spring</artifactId>
             <scope>runtime</scope>
         </dependency>
         <dependency>
diff --git a/mda-framework/pom.xml b/mda-framework/pom.xml
index 256515c..776f602 100644
--- a/mda-framework/pom.xml
+++ b/mda-framework/pom.xml
@@ -38,10 +38,20 @@
             <groupId>org.cryptacular</groupId>
             <artifactId>cryptacular</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-support</artifactId>
+        </dependency>
         <dependency>
-            <groupId>net.shibboleth.utilities</groupId>
-            <artifactId>java-support</artifactId>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-networking</artifactId>
         </dependency>
+        <dependency>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-security</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.santuario</groupId>
             <artifactId>xmlsec</artifactId>
@@ -67,14 +77,8 @@
 
         <!-- Test Dependencies -->
         <dependency>
-            <groupId>net.shibboleth.ext</groupId>
-            <artifactId>spring-extensions</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>net.shibboleth.utilities</groupId>
-            <artifactId>java-support</artifactId>
-            <type>test-jar</type>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-spring</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
index a0d95d4..6bc1c54 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractCompositeItemIdentificationStrategy.java
@@ -22,9 +22,9 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * Abstract class implementing a generic two-part strategy for item identification.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractItem.java b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractItem.java
index d58ce7e..ca42bf0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/AbstractItem.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/AbstractItem.java
@@ -20,9 +20,9 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.NotThreadSafe;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Base implementation of an {@link Item}.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/CollectionMergeStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/CollectionMergeStrategy.java
index 36d9b35..e0f1db5 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/CollectionMergeStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/CollectionMergeStrategy.java
@@ -24,7 +24,7 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.pipeline.PipelineMergeStage;
 import net.shibboleth.metadata.pipeline.SplitMergeStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * Strategy used to merge the a number of source item collections into a target item collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
index d10f4bf..94f81f1 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/DeduplicatingItemIdMergeStrategy.java
@@ -23,8 +23,8 @@ import java.util.List;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A merge strategy that adds source items to the target collection if none of the Items in the target collection have
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/ErrorStatus.java b/mda-framework/src/main/java/net/shibboleth/metadata/ErrorStatus.java
index dd311f0..4715f81 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/ErrorStatus.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/ErrorStatus.java
@@ -20,7 +20,7 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /** A type of {@link StatusMetadata} that indicates something is definitely wrong with the Item. */
 @Immutable
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/InfoStatus.java b/mda-framework/src/main/java/net/shibboleth/metadata/InfoStatus.java
index 7d7ff6f..d4e4273 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/InfoStatus.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/InfoStatus.java
@@ -20,7 +20,7 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
  * A type of {@link StatusMetadata} that carries informational messages. These messages should never be used to carry
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/Item.java b/mda-framework/src/main/java/net/shibboleth/metadata/Item.java
index 2e03adf..993e2ce 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/Item.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/Item.java
@@ -19,8 +19,8 @@ package net.shibboleth.metadata;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
 
 // Checkstyle: LineLength OFF
 /**
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/ItemCollectionSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/ItemCollectionSerializer.java
index 5d05467..363bcb7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/ItemCollectionSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/ItemCollectionSerializer.java
@@ -23,7 +23,7 @@ import java.util.Collection;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * Item collection serializers convert a {@link Collection} of {@link Item}s into an octet stream.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/ItemId.java b/mda-framework/src/main/java/net/shibboleth/metadata/ItemId.java
index 2157133..414cb90 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/ItemId.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/ItemId.java
@@ -22,9 +22,9 @@ import java.util.Objects;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * Carries a unique identifier for the data carried by an {@link net.shibboleth.metadata.Item}.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/ItemTag.java b/mda-framework/src/main/java/net/shibboleth/metadata/ItemTag.java
index c3c22a8..a7adbc9 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/ItemTag.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/ItemTag.java
@@ -20,9 +20,9 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /** A {@link ItemMetadata} that associates a tag with a given {@link Item}. */
 @Immutable
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/SimpleCollectionMergeStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/SimpleCollectionMergeStrategy.java
index ce8419e..96079f1 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/SimpleCollectionMergeStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/SimpleCollectionMergeStrategy.java
@@ -23,8 +23,8 @@ import java.util.List;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A {@link CollectionMergeStrategy} that adds the Item from each source, in order, by means of the
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/SimpleItemCollectionSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/SimpleItemCollectionSerializer.java
index 920b419..2634b54 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/SimpleItemCollectionSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/SimpleItemCollectionSerializer.java
@@ -24,7 +24,7 @@ import java.util.Collection;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * A simple {@link ItemCollectionSerializer} which just serializes each {@link Item}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/StatusMetadata.java b/mda-framework/src/main/java/net/shibboleth/metadata/StatusMetadata.java
index cb3ea3b..8cbcb46 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/StatusMetadata.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/StatusMetadata.java
@@ -20,9 +20,9 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /** A {@link ItemMetadata} implementation that carries status information about an {@link Item}. */
 @Immutable
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/WarningStatus.java b/mda-framework/src/main/java/net/shibboleth/metadata/WarningStatus.java
index ce239ca..b1036a2 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/WarningStatus.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/WarningStatus.java
@@ -20,7 +20,7 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
  * A type of {@link StatusMetadata} that indicates something may be "off" about the {@link Item}. This warning message
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
index 5969072..e7b8a7b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractAttributeValidationStage.java
@@ -29,10 +29,10 @@ import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Abstract base class allowing a selected subset of XML attributes in a DOM document
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
index 6fb1d57..6ef878a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMTraversalStage.java
@@ -29,8 +29,8 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * An abstract DOM traversal class using the template method pattern.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMValidationStage.java
index df9d623..3420c49 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractDOMValidationStage.java
@@ -25,9 +25,9 @@ import javax.annotation.concurrent.ThreadSafe;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.ValidatorSequence;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * An abstract stage extending {@link AbstractDOMTraversalStage} to manage a collection of
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
index 5c9fbe8..3d31d97 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingStage.java
@@ -28,9 +28,9 @@ import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Abstract parent class for stages which visit {@link Element}s named by a
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
index 2300abd..8dfb14a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractElementVisitingValidationStage.java
@@ -28,10 +28,10 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Abstract parent class for validation of DOM nodes within a DOM traversal.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
index 74787dd..fb3809e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractNamespacesStrippingStage.java
@@ -35,9 +35,9 @@ import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * An abstract stage which removes all evidence of given XML namespaces from each metadata item.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
index 75a2cea..4b0b328 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/AbstractXSLProcessingStage.java
@@ -48,12 +48,12 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
 import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * An abstract stage which applies an XSL transformation to each element in the {@link DOMElementItem} collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
index 59f1880..de8312d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/Container.java
@@ -25,8 +25,8 @@ import java.util.function.Predicate;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
index c71a7d4..57bdb96 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementItem.java
@@ -26,8 +26,8 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.AbstractItem;
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * A {@link Item} whose data is a DOM, version 3, {@link Element}.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
index 994aba3..13f23ac 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMElementSerializer.java
@@ -33,7 +33,7 @@ import javax.xml.transform.stream.StreamResult;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemCollectionSerializer;
 import net.shibboleth.metadata.ItemSerializer;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
index 0c40be6..c6d2447 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStage.java
@@ -36,12 +36,12 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.Live;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ParserPool;
+import net.shibboleth.shared.annotation.constraint.Live;
+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.xml.ParserPool;
 
 /**
  * A stage which reads XML information from the filesystem and places it in the given {@link DOMElementItem} collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java
index 8e02225..aa14283 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java
@@ -34,12 +34,12 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ParserPool;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+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.xml.ParserPool;
+import net.shibboleth.shared.xml.XMLParserException;
 
 /**
  * A pipeline stage which reads an XML document from an {@link Resource}, parses the document, and places the resultant
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
index b7989ce..486e796 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMaker.java
@@ -25,7 +25,7 @@ import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
 
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * Basic maker class for {@link Element}s for use with the {@link Container} system.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
index 3d3c96a..56886cd 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementMatcher.java
@@ -25,8 +25,8 @@ import javax.xml.namespace.QName;
 
 import org.w3c.dom.Element;
 
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * Basic matcher class for {@link Element}s for use with the {@link Container} system.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementStrippingStage.java
index 1125905..b2b3f42 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementStrippingStage.java
@@ -31,11 +31,11 @@ import org.w3c.dom.NodeList;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+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;
 
 /**
  * A stage which removes all instances of the specified element from DOM metadata.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
index 33df825..881b134 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ElementsStrippingStage.java
@@ -30,13 +30,13 @@ import javax.annotation.concurrent.ThreadSafe;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+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.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * A stage which removes all instances of the specified elements from DOM metadata.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
index 2e08578..5981e69 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/EmptyContainerStrippingStage.java
@@ -28,12 +28,12 @@ import org.w3c.dom.NodeList;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+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.shared.xml.ElementSupport;
 
 /**
  * A stage which removes all empty instances of the named container element from DOM metadata.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
index 6bc0aac..ad386e0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStage.java
@@ -33,8 +33,8 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * A pipeline stage which transforms each item in the {@link DOMElementItem} collection via an XSL transform. Each of
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
index 806935f..83e696c 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespaceStrippingStage.java
@@ -22,11 +22,11 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+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;
 
 /**
  * A stage which removes all evidence of a given XML namespace from each metadata item.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespacesStrippingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespacesStrippingStage.java
index 2672fb6..33c2425 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespacesStrippingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/NamespacesStrippingStage.java
@@ -25,8 +25,8 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * A stage which removes all evidence of a given collection of XML namespaces from each metadata item.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java
new file mode 100644
index 0000000..da5fa06
--- /dev/null
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/SimpleNamespaceContext.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.metadata.dom;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import javax.annotation.concurrent.ThreadSafe;
+import javax.xml.namespace.NamespaceContext;
+
+import net.shibboleth.shared.annotation.constraint.NullableElements;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.xml.XMLConstants;
+
+import com.google.common.collect.ImmutableBiMap;
+import com.google.common.collect.ImmutableBiMap.Builder;
+
+/**
+ * Simple implementation of {@link NamespaceContext} based on a map from prefix values to corresponding URIs. This
+ * implementation only supports a single mapping for a given prefix, that is {@link #getPrefixes(String)} will always
+ * contain at most 1 element.
+ * 
+ * @since 0.10.0
+ */
+ at ThreadSafe
+public class SimpleNamespaceContext implements NamespaceContext {
+
+    /** Mappings between namespace prefixes and namespace URIs. */
+    private final ImmutableBiMap<String, String> mappings;
+
+    /** Constructor. */
+    public SimpleNamespaceContext() {
+        mappings = getMappingsBuilder().build();
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param prefixToUriMappings Maps prefix values to the corresponding namespace URIs.
+     */
+    public SimpleNamespaceContext(@Nullable @NullableElements final Map<String, String> prefixToUriMappings) {
+        final Builder<String,String> mappingBuilder = getMappingsBuilder();
+
+        if (prefixToUriMappings == null || prefixToUriMappings.isEmpty()) {
+            mappings = mappingBuilder.build();
+            return;
+        }
+
+        String trimmedPrefix;
+        String trimmedUri;
+        for (final String key : prefixToUriMappings.keySet()) {
+            trimmedPrefix = StringSupport.trimOrNull(key);
+            if (trimmedPrefix == null) {
+                continue;
+            }
+
+            trimmedUri = StringSupport.trimOrNull(prefixToUriMappings.get(key));
+            if (trimmedUri != null) {
+                mappingBuilder.put(trimmedPrefix, trimmedUri);
+            }
+        }
+
+        mappings = mappingBuilder.build();
+    }
+
+    /** {@inheritDoc} */
+    @Nullable public String getNamespaceURI(final String prefix) {
+        if (prefix == null) {
+            throw new IllegalArgumentException("Prefix can not be null");
+        }
+
+        final String uri = mappings.get(prefix);
+        if (uri == null) {
+            return javax.xml.XMLConstants.NULL_NS_URI;
+        }
+        return uri;
+    }
+
+    /** {@inheritDoc} */
+    @Nullable public String getPrefix(final String namespaceURI) {
+        if (namespaceURI == null) {
+            throw new IllegalArgumentException("Namespace URI can not be null");
+        }
+
+        return mappings.inverse().get(namespaceURI);
+    }
+
+    /** {@inheritDoc} */
+    @Nonnull public Iterator<String> getPrefixes(final String namespaceURI) {
+        if (namespaceURI == null) {
+            throw new IllegalArgumentException("Namespace URI can not be null");
+        }
+
+        final String prefix = mappings.inverse().get(namespaceURI);
+        if (prefix == null) {
+            return Collections.<String> emptyList().iterator();
+        }
+        return Collections.singletonList(prefix).iterator();
+    }
+    
+    /**
+     * Build the initial set of mappings which contains entries for XML and XMLNS.
+     * 
+     * @return initial set of mappings
+     */
+    @Nonnull private Builder<String, String> getMappingsBuilder(){
+        final Builder<String,String> mappingBuilder = new Builder<>();
+        
+        mappingBuilder.put(XMLConstants.XML_PREFIX, XMLConstants.XML_NS);
+        mappingBuilder.put(XMLConstants.XMLNS_PREFIX, XMLConstants.XMLNS_NS);
+        
+        return mappingBuilder;
+    }
+}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSchemaValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSchemaValidationStage.java
index 56711a8..3df456e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSchemaValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSchemaValidationStage.java
@@ -40,12 +40,12 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.SchemaBuilder;
-import net.shibboleth.utilities.java.support.xml.SerializeSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.SchemaBuilder;
+import net.shibboleth.shared.xml.SerializeSupport;
 
 /**
  * A pipeline stage that XML schema validates the elements within the {@link DOMElementItem} collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
index 0f18132..c9bcb7d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureSigningStage.java
@@ -38,11 +38,11 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.impl.XMLSignatureSigner;
 import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A pipeline stage that creates, and adds, an enveloped signature for each element in the given {@link DOMElementItem}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureValidationStage.java
index 9fe87d6..635c367 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XMLSignatureValidationStage.java
@@ -39,12 +39,12 @@ import net.shibboleth.metadata.WarningStatus;
 import net.shibboleth.metadata.dom.impl.XMLSignatureValidator;
 import net.shibboleth.metadata.dom.impl.XMLSignatureValidator.ValidationException;
 import net.shibboleth.metadata.pipeline.AbstractStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.SerializeSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.SerializeSupport;
 
 /**
  * A pipeline stage which validates the XML digital signature found on DOM Elements.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathFilteringStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathFilteringStage.java
index f4b21ce..1af0b35 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathFilteringStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathFilteringStage.java
@@ -37,13 +37,12 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.SimpleNamespaceContext;
+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.primitive.StringSupport;
 
 /**
  * Pipeline stage which allows filtering of @{link DomElementItem}s according to an XPath expression. Each
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategy.java
index e8bc7c7..9df129b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategy.java
@@ -33,8 +33,7 @@ import org.slf4j.LoggerFactory;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.xml.SimpleNamespaceContext;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
  * Item selection strategy which selects items on the basis of a boolean XPath expression.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLTransformationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLTransformationStage.java
index 6b5c978..8f25e4f 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLTransformationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLTransformationStage.java
@@ -34,7 +34,7 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * A pipeline stage which transforms each item in the {@link DOMElementItem} collection via an XSL transform. Each item
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java
index 04c3dd5..1557a22 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/XSLValidationStage.java
@@ -31,7 +31,7 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * A pipeline which "validates" each element in the {@link DOMElementItem} collection via an XSL stylesheet. The results
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/X509ValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/X509ValidationStage.java
index a3ce6d1..45e062e 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/X509ValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/ds/X509ValidationStage.java
@@ -35,10 +35,10 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.AbstractDOMValidationStage;
 import net.shibboleth.metadata.dom.SimpleDOMTraversalContext;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.codec.Base64Support;
-import net.shibboleth.utilities.java.support.codec.DecodingException;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.codec.DecodingException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * Stage to apply a collection of validators to each X.509 certificate in items.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
index 3b6c626..f6d564b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureSigner.java
@@ -62,12 +62,12 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.XMLSignatureSigningStage;
 import net.shibboleth.metadata.dom.ds.XMLDSIGSupport;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.Live;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.QNameSupport;
+import net.shibboleth.shared.annotation.constraint.Live;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.xml.ElementSupport;
+import net.shibboleth.shared.xml.QNameSupport;
 
 /**
  * A class that encapsulates the various stages in signing an XML document.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureValidator.java
index 4b041d9..cd9c993 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/impl/XMLSignatureValidator.java
@@ -27,11 +27,11 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import net.shibboleth.metadata.dom.ds.XMLDSIGSupport;
-import net.shibboleth.utilities.java.support.codec.Base64Support;
-import net.shibboleth.utilities.java.support.codec.EncodingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.codec.Base64Support;
+import net.shibboleth.shared.codec.EncodingException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.signature.Reference;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
index ea9e3aa..05bf1bf 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMaker.java
@@ -24,7 +24,7 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.Container;
 import net.shibboleth.metadata.dom.ElementMaker;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A class for constructing SAML <code>Attribute</code> elements
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcher.java
index 5accfa3..dfd141f 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcher.java
@@ -23,7 +23,7 @@ import javax.annotation.concurrent.Immutable;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.ElementMatcher;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Match {@link java.util.function.Predicate} for SAML <code>Attribute</code> elements with specific
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMaker.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMaker.java
index 7758db7..5e32c35 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMaker.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMaker.java
@@ -24,7 +24,7 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.Container;
 import net.shibboleth.metadata.dom.ElementMaker;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A class for constructing SAML <code>AttributeValue</code> elements
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcher.java
index 3ccbac9..150e3bb 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcher.java
@@ -23,7 +23,7 @@ import javax.annotation.concurrent.Immutable;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.ElementMatcher;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Match {@link java.util.function.Predicate} for SAML <code>AttributeValue</code> elements with specific
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
index eedbe07..3cdddbe 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStage.java
@@ -33,13 +33,13 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.SerializeSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+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;
 
 /**
  * Filtering stage that removes ContactPerson elements from EntityDescriptors.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
index 6f74c86..55a08a4 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializer.java
@@ -37,9 +37,9 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemCollectionSerializer;
 import net.shibboleth.metadata.dom.saml.mdattr.MDAttrSupport;
 import net.shibboleth.metadata.dom.saml.mdui.MDUISupport;
-import net.shibboleth.metadata.pipeline.impl.BaseInitializableComponent;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.component.AbstractInitializableComponent;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * A collection serializer that generates an equivalent of the Shibboleth SP's discovery
@@ -47,7 +47,7 @@ import net.shibboleth.utilities.java.support.xml.ElementSupport;
  *
  * @since 0.10.0
  */
-public class DiscoFeedCollectionSerializer extends BaseInitializableComponent
+public class DiscoFeedCollectionSerializer extends AbstractInitializableComponent
     implements ItemCollectionSerializer<Element> {
 
     /** Whether to pretty-print the resulting JSON. Default: <code>false</code> */
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
index fba7c70..d93cacd 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorAssemblerStage.java
@@ -37,12 +37,12 @@ import net.shibboleth.metadata.pipeline.AbstractStage;
 import net.shibboleth.metadata.pipeline.ItemOrderingStrategy;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
 import net.shibboleth.metadata.pipeline.impl.NoOpItemOrderingStrategy;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.NamespaceSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+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.NamespaceSupport;
 
 /**
  * A {@link net.shibboleth.metadata.pipeline.Stage} capable of assembling a collection of EntityDescriptor elements in
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorDisassemblerStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorDisassemblerStage.java
index 45657a3..556399f 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorDisassemblerStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntitiesDescriptorDisassemblerStage.java
@@ -30,9 +30,9 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.DOMElementItem;
 import net.shibboleth.metadata.pipeline.AbstractStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.QNameSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.xml.ElementSupport;
+import net.shibboleth.shared.xml.QNameSupport;
 
 /**
  * A pipeline stage that replaces any SAML EntitiesDescriptor found in the Item collection with the EntityDescriptor
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
index 3b5f696..0667a75 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
@@ -26,7 +26,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemId;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /**
  * A stage which, for each EntityDescriptor collection element, adds an {@link ItemId}, with the entity's entity ID, to
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
index 09ac918..48190d6 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityFilterStage.java
@@ -32,9 +32,9 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractFilteringStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** A pipeline stage that will remove SAML EntityDescriptior elements which do meet specified filtering criteria. */
 @ThreadSafe
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
index cbb9029..274cdaf 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStage.java
@@ -34,11 +34,11 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractFilteringStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.QNameSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.xml.DOMTypeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
+import net.shibboleth.shared.xml.QNameSupport;
 
 /**
  * A pipeline stage that will filter SAML role descriptors from EntityDescriptors.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
index 9291620..5399c4a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/GenerateIdStage.java
@@ -27,10 +27,10 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.security.impl.Type4UUIDIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy;
+import net.shibboleth.shared.security.impl.Type4UUIDIdentifierGenerationStrategy;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /** A stage that populates the ID attribute of an EntitiesDescriptor or EntityDescriptor. */
 @ThreadSafe
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStage.java
index 090a6e3..b805831 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStage.java
@@ -31,9 +31,9 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * For each Item collection element that is a SAML EntitiesDescriptor this stage will scan all descendant
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStage.java
index f924c38..edfe906 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStage.java
@@ -32,9 +32,9 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * For each Item collection element that is a SAML EntitiesDescriptor this stage will scan all descendant
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
index 9a0b9a9..2c7a8a6 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStage.java
@@ -29,7 +29,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** Filtering stage that removes Organization elements from EntityDescriptors. */
 @ThreadSafe
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
index e44a8c8..e172339 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLMetadataSupport.java
@@ -28,8 +28,8 @@ import javax.xml.namespace.QName;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.ds.XMLDSIGSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** Helper class for dealing with SAML metadata. */
 @ThreadSafe
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLStringElementCheckingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLStringElementCheckingStage.java
index 407690c..f32135f 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLStringElementCheckingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SAMLStringElementCheckingStage.java
@@ -25,7 +25,7 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.dom.AbstractElementVisitingStage;
 import net.shibboleth.metadata.dom.DOMTraversalContext;
-import net.shibboleth.utilities.java.support.xml.QNameSupport;
+import net.shibboleth.shared.xml.QNameSupport;
 
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStage.java
index dbd530e..f4f2650 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStage.java
@@ -28,10 +28,10 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /**
  * Sets a cacheDuration attribute for every EntityDescriptor and EntitiesDescriptor element in the collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetValidUntilStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetValidUntilStage.java
index a0d0059..fecea09 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetValidUntilStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/SetValidUntilStage.java
@@ -29,10 +29,10 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /**
  * Sets a validUntil attribute for every EntityDescriptor and EntitiesDescriptor element in the collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStage.java
index e6809e1..6723621 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStage.java
@@ -30,8 +30,8 @@ import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /**
  * Checks that a SAML EntitiesDescriptor or EntityDescriptor's validUntil is (optionally) present and is within a given
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
index 1a0bfed..65703fd 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/AbstractExactValueMatcher.java
@@ -21,7 +21,7 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * An abstract entity attribute matcher implementation that matches an exact
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStage.java
index 161d850..3b9f838 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeAddingStage.java
@@ -37,10 +37,10 @@ import net.shibboleth.metadata.dom.saml.AttributeValueElementMatcher;
 import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.dom.saml.SAMLSupport;
 import net.shibboleth.metadata.pipeline.AbstractStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+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;
 
 /**
  * A stage which adds entity attribute values to entity definitions.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
index a039885..f728af7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/EntityAttributeFilteringStage.java
@@ -37,10 +37,10 @@ import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.dom.saml.SAMLSupport;
 import net.shibboleth.metadata.dom.saml.mdrpi.RegistrationAuthority;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * A stage which filters entity attributes from entity definitions according to a supplied
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MultiPredicateMatcher.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MultiPredicateMatcher.java
index f634c22..a9d3387 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MultiPredicateMatcher.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdattr/MultiPredicateMatcher.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * An entity attribute matcher implementation that delegates each
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
index 0075c38..91ade1f 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStage.java
@@ -33,10 +33,10 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.pipeline.AbstractFilteringStage;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** A pipeline stage that will filter EntityDescriptor or EntityDescriptors based on their registration authority. */
 @ThreadSafe
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthority.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthority.java
index 9ac0f63..ab83665 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthority.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthority.java
@@ -21,9 +21,9 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * Carries the registration authority URI for a SAML entity.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityItemIdentificationStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityItemIdentificationStrategy.java
index 8d9fab5..e447242 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityItemIdentificationStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityItemIdentificationStrategy.java
@@ -29,8 +29,8 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.FirstItemIdItemIdentificationStrategy;
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * Item identification strategy for interfederation use cases.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStage.java
index 6971fd1..6595db3 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStage.java
@@ -28,8 +28,8 @@ import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 /**
  * A stage which, for each EntityDescriptor collection element, adds a {@link RegistrationAuthority}, with
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStage.java
index 3f25ded..bb83cba 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStage.java
@@ -27,8 +27,8 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.AbstractDOMTraversalStage;
 import net.shibboleth.metadata.dom.DOMTraversalContext;
 import net.shibboleth.metadata.dom.SimpleDOMTraversalContext;
-import net.shibboleth.utilities.java.support.net.IPRange;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.net.IPRange;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /**
  * A stage which validates <code>mdui:IPHint</code> elements.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
index aab86f8..ec3e4e9 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractFilteringStage.java
@@ -24,7 +24,7 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * Base class for {@link Stage} implementations that iterate over each {@link Item} in a collection and do something,
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
index c09e402..ea80d78 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractItemMetadataSelectionStage.java
@@ -30,10 +30,10 @@ import net.shibboleth.metadata.FirstItemIdItemIdentificationStrategy;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemIdentificationStrategy;
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * An abstract {@link Stage} that selects {@link Item}s for further processing if they have a specific
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
index 6640160..8ae916a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractIteratingStage.java
@@ -23,7 +23,7 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
 
 /**
  * Base class for {@link Stage} implementations that iterate over each {@link Item} in a collection and do something.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractStage.java
index 9ee7562..8ebebdc 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/AbstractStage.java
@@ -27,9 +27,9 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.metadata.pipeline.impl.BaseIdentifiableInitializableComponent;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A base class for {@link Stage} implementations.
@@ -37,7 +37,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  * @param <T> type of item this stage operates upon
  */
 @ThreadSafe
-public abstract class AbstractStage<T> extends BaseIdentifiableInitializableComponent implements Stage<T> {
+public abstract class AbstractStage<T> extends AbstractIdentifiableInitializableComponent implements Stage<T> {
 
     /**
      * The {@link Predicate} applied to the supplied item collection to determine whether the stage will be executed.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
index 90e1443..2497a3b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/CompositeStage.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * A stage that is composed of other stages. This allows a collection of stages to be grouped together and for that
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
index 7f40f07..68dd910 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/FilesInDirectoryMultiOutputStrategy.java
@@ -35,10 +35,10 @@ import org.slf4j.LoggerFactory;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemId;
 import net.shibboleth.metadata.pipeline.MultiOutputSerializationStage.Destination;
-import net.shibboleth.metadata.pipeline.impl.BaseInitializableComponent;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+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;
 
 /**
  * An output strategy for use with the {@link MultiOutputSerializationStage} which generates
@@ -57,7 +57,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  * @since 0.9.2
  */
 @ThreadSafe
-public class FilesInDirectoryMultiOutputStrategy<T> extends BaseInitializableComponent
+public class FilesInDirectoryMultiOutputStrategy<T> extends AbstractInitializableComponent
     implements MultiOutputSerializationStage.OutputStrategy<T> {
     
     /** Class logger. */
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
index b0dea51..a3011fc 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemIdTransformStage.java
@@ -28,8 +28,8 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemId;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * A pipeline stage that, taking each {@link ItemId} associated with an {@link Item}, transforms its
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataAddingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataAddingStage.java
index 1dde75e..b296da7 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataAddingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataAddingStage.java
@@ -26,9 +26,9 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A pipeline stage that adds a collection of {@link ItemMetadata} objects to each {@link Item}'s item metadata.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataFilterStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataFilterStage.java
index b62336c..e08ec56 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataFilterStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataFilterStage.java
@@ -27,8 +27,8 @@ import org.slf4j.LoggerFactory;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
 
 /**
  * A {@link Stage} that filters out {@link Item} if they have a specific type of {@link ItemMetadata} attached to them.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataTerminationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataTerminationStage.java
index e9e7821..ee774a9 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataTerminationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemMetadataTerminationStage.java
@@ -27,8 +27,8 @@ import org.slf4j.LoggerFactory;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
 
 /**
  * A {@link Stage} that terminates pipeline processing if an {@link Item} has a specific type of {@link ItemMetadata}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStage.java
index 1580a50..52cf020 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStage.java
@@ -25,8 +25,8 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.impl.NoOpItemOrderingStrategy;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A {@link net.shibboleth.metadata.pipeline.Stage} capable of ordering a collection of {@link Item}s
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStrategy.java
index f04be70..23817f0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ItemOrderingStrategy.java
@@ -23,8 +23,8 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * A strategy that defines how to order a {@link net.shibboleth.metadata.Item} collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStage.java
index 0e24a3a..f0a2d66 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/MultiOutputSerializationStage.java
@@ -28,9 +28,9 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemSerializer;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A stage which writes the given item collection out to multiple destinations.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Pipeline.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Pipeline.java
index 55da845..8d235f6 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Pipeline.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Pipeline.java
@@ -23,11 +23,11 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.DestructableComponent;
-import net.shibboleth.utilities.java.support.component.IdentifiedComponent;
-import net.shibboleth.utilities.java.support.component.InitializableComponent;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.DestructableComponent;
+import net.shibboleth.shared.component.IdentifiedComponent;
+import net.shibboleth.shared.component.InitializableComponent;
 
 /**
  * A pipeline represents an ordered list of {@link Stage} that operate on a collection of {@link Item}. In general the
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineCallable.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineCallable.java
index ce415ad..33b6deb 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineCallable.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineCallable.java
@@ -27,8 +27,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A {@link Callable} that executes a {@link Pipeline} and returns the given item collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
index ada6fca..c13439d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStage.java
@@ -31,11 +31,11 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.SimpleItemCollectionFactory;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A stage which, given an item collection and a list of {@link Pipeline} and {@link Predicate} pairs, sends the
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineMergeStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineMergeStage.java
index 3d045ed..b693b18 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineMergeStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/PipelineMergeStage.java
@@ -32,10 +32,10 @@ import net.shibboleth.metadata.CollectionMergeStrategy;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.SimpleCollectionMergeStrategy;
 import net.shibboleth.metadata.SimpleItemCollectionFactory;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * This {@link Stage} allows the merging of multiple pipeline outputs into a single {@link List} that can then be
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ScriptletStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ScriptletStage.java
index 2316e1d..73190b9 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ScriptletStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/ScriptletStage.java
@@ -28,13 +28,13 @@ import javax.script.ScriptException;
 import javax.script.SimpleScriptContext;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.scripting.EvaluableScript;
+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.primitive.StringSupport;
+import net.shibboleth.shared.scripting.EvaluableScript;
 
 /**
  * A pipeline stage that computes that transforms the collection of {@link Item} via a script.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SerializationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SerializationStage.java
index 72ee0bb..4355202 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SerializationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SerializationStage.java
@@ -33,10 +33,10 @@ import org.slf4j.LoggerFactory;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemCollectionSerializer;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+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;
 
 /**
  * A stage which writes the given item collection out to a file using a provided
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SimplePipeline.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SimplePipeline.java
index 88fc878..4531d6a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SimplePipeline.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SimplePipeline.java
@@ -26,10 +26,10 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.metadata.pipeline.impl.BaseIdentifiableInitializableComponent;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * A very simple implementation of {@link Pipeline}.
@@ -37,7 +37,7 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
  * @param <T> the type of item upon which this stage operates
  */
 @ThreadSafe
-public class SimplePipeline<T> extends BaseIdentifiableInitializableComponent
+public class SimplePipeline<T> extends AbstractIdentifiableInitializableComponent
         implements Pipeline<T> {
 
     /** Stages for this pipeline. */
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SplitMergeStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SplitMergeStage.java
index 5daa60e..ed5a0db 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SplitMergeStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/SplitMergeStage.java
@@ -38,9 +38,9 @@ import net.shibboleth.metadata.CollectionMergeStrategy;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.SimpleCollectionMergeStrategy;
 import net.shibboleth.metadata.SimpleItemCollectionFactory;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * A stage which splits a given collection and passes selected items to one pipeline and non-selected items to another.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Stage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Stage.java
index 93c163e..371bfd0 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Stage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/Stage.java
@@ -23,10 +23,10 @@ import javax.annotation.Nonnull;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.component.DestructableComponent;
-import net.shibboleth.utilities.java.support.component.IdentifiedComponent;
-import net.shibboleth.utilities.java.support.component.InitializableComponent;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.component.DestructableComponent;
+import net.shibboleth.shared.component.IdentifiedComponent;
+import net.shibboleth.shared.component.InitializableComponent;
 
 /**
  * A stage in a {@link Pipeline} that operates upon a collection {@link Item} in a particular manner.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StaticItemSourceStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StaticItemSourceStage.java
index cb69b8d..5faec57 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StaticItemSourceStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StaticItemSourceStage.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * A stage which adds a static collection of Items to a {@link Item} collection.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StatusMetadataLoggingStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StatusMetadataLoggingStage.java
index 4061928..c0abd42 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StatusMetadataLoggingStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/StatusMetadataLoggingStage.java
@@ -30,8 +30,8 @@ import net.shibboleth.metadata.InfoStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.StatusMetadata;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
 
 /**
  * A {@link Stage} that logs {@link StatusMetadata} associated with an {@link Item}.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponent.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponent.java
deleted file mode 100644
index 1458c34..0000000
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponent.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.metadata.pipeline.impl;
-
-import javax.annotation.concurrent.ThreadSafe;
-
-import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
-import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
-import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-/**
- * Base class extending {@link AbstractIdentifiableInitializableComponent} with helper methods
- * assisting with lifecycle management.
- *
- * @since 0.10.0
- */
- at ThreadSafe
-public class BaseIdentifiableInitializableComponent extends AbstractIdentifiableInitializableComponent {
-
-    /**
-     * Checks if the component is destroyed and, if so, throws a {@link DestroyedComponentException}.
-     */
-    protected final void ifDestroyedThrowDestroyedComponentException() {
-        if (isDestroyed()) {
-            throw new DestroyedComponentException("Component '"
-                    + StringSupport.trimOrNull(getId())
-                    + "' has already been destroyed and can no longer be used.");
-        }
-    }
-
-    /**
-     * Checks if a component has not been initialized and, if so, throws a {@link UninitializedComponentException}.
-     */
-    protected final void ifNotInitializedThrowUninitializedComponentException() {
-        if (!isInitialized()) {
-            throw new UninitializedComponentException("Component '"
-                    + StringSupport.trimOrNull(getId())
-                    + "' has not yet been initialized and cannot be used.");
-        }
-    }
-
-    /**
-     * Checks if a component has been initialized and, if so, throws a {@link UnmodifiableComponentException}.
-     */
-    protected final void ifInitializedThrowUnmodifiabledComponentException() {
-        if (isInitialized()) {
-            throw new UnmodifiableComponentException("Component '"
-                    + StringSupport.trimOrNull(getId())
-                    + "' has already been initialized and can no longer be modified");
-        }
-    }
-
-    /**
-     * Helper for a setter method to check the standard preconditions.
-     */
-    protected final void checkSetterPreconditions() {
-        ifDestroyedThrowDestroyedComponentException();
-        ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-    /**
-     * Helper for any method to throw appropriate exceptions if we are either
-     * not initialized, or have been destroyed.
-     */
-    protected final void checkComponentActive() {
-        ifDestroyedThrowDestroyedComponentException();
-        ifNotInitializedThrowUninitializedComponentException();
-    }
-
-}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponent.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponent.java
deleted file mode 100644
index 5f278c6..0000000
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponent.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.metadata.pipeline.impl;
-
-import javax.annotation.concurrent.ThreadSafe;
-
-import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
-import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
-import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
-
-/**
- * Base class extending {@link AbstractInitializableComponent} with helper methods
- * assisting with lifecycle management.
- *
- * @since 0.10.0
- */
- at ThreadSafe
-public class BaseInitializableComponent extends AbstractInitializableComponent {
-
-    /**
-     * Checks if the component is destroyed and, if so, throws a {@link DestroyedComponentException}.
-     */
-    protected final void ifDestroyedThrowDestroyedComponentException() {
-        if (isDestroyed()) {
-            throw new DestroyedComponentException("Component has already been destroyed and can no longer be used");
-        }
-    }
-
-    /**
-     * Checks if a component has not been initialized and, if so, throws a {@link UninitializedComponentException}.
-     */
-    protected final void ifNotInitializedThrowUninitializedComponentException() {
-        if (!isInitialized()) {
-            throw new UninitializedComponentException("Component has not yet been initialized and cannot be used.");
-        }
-    }
-
-    /**
-     * Checks if a component has been initialized and, if so, throws a {@link UnmodifiableComponentException}.
-     */
-    protected final void ifInitializedThrowUnmodifiabledComponentException() {
-        if (isInitialized()) {
-            throw new UnmodifiableComponentException(
-                    "Component has already been initialized and can no longer be modified");
-        }
-    }
-
-    /**
-     * Helper for a setter method to check the standard preconditions.
-     */
-    protected final void checkSetterPreconditions() {
-        ifDestroyedThrowDestroyedComponentException();
-        ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-    /**
-     * Helper for any method to throw appropriate exceptions if we are either
-     * not initialized, or have been destroyed.
-     */
-    protected final void checkComponentActive() {
-        ifDestroyedThrowDestroyedComponentException();
-        ifNotInitializedThrowUninitializedComponentException();
-    }
-
-}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/NoOpItemOrderingStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/NoOpItemOrderingStrategy.java
index 4d24a53..eaa35d2 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/NoOpItemOrderingStrategy.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/pipeline/impl/NoOpItemOrderingStrategy.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.Immutable;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.ItemOrderingStrategy;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
 
 /**
  * An ordering strategy that simply returns the collection in whatever order it was already in.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/util/FixedStringIdentifierGenerationStrategy.java b/mda-framework/src/main/java/net/shibboleth/metadata/util/FixedStringIdentifierGenerationStrategy.java
new file mode 100644
index 0000000..b652d9b
--- /dev/null
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/util/FixedStringIdentifierGenerationStrategy.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.metadata.util;
+
+import javax.annotation.Nonnull;
+
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.security.IdentifierGenerationStrategy;
+
+/**
+ * Identifier generation strategy using a fixed identifier string.
+ *
+ * <p>This can be used in circumstances where there is no requirement that identifiers be
+ * different from each other.</p>
+ * 
+ * @since 0.10.0
+ */
+public class FixedStringIdentifierGenerationStrategy implements IdentifierGenerationStrategy {
+
+    /** Fixed identifier to use for all invocations. */
+    @Nonnull @NotEmpty private final String identifier;
+
+    /**
+     * Constructor.
+     *
+     * @param id fixed identifier to use for all invocations.
+     */
+    public FixedStringIdentifierGenerationStrategy(@Nonnull @NotEmpty final String id) {
+        identifier = Constraint.isNotEmpty(id, "identifier cannot be null or empty");
+    }
+
+    /** {@inheritDoc} */
+    @Nonnull @NotEmpty public String generateIdentifier() {
+        return identifier;
+    }
+
+    /** {@inheritDoc} */
+    @Nonnull @NotEmpty public String generateIdentifier(final boolean xmlSafe) {
+        return identifier;
+    }
+
+}
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java b/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
index c82afe6..a8547f2 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/util/RegexFileFilter.java
@@ -24,9 +24,9 @@ import java.util.regex.Pattern;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /**
  * A {@link FileFilter} implementation that selects files on the basis of a regular expression match against the file
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
index 695db05..81e1a7b 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/BaseValidator.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.ThreadSafe;
 import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.metadata.pipeline.impl.BaseIdentifiableInitializableComponent;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Base class for validator implementations.
@@ -36,7 +36,7 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
  * @since 0.9.0
  */
 @ThreadSafe
-public abstract class BaseValidator extends BaseIdentifiableInitializableComponent {
+public abstract class BaseValidator extends AbstractIdentifiableInitializableComponent {
 
     /**
      * Message format string.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/Validator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/Validator.java
index aedc11b..7e3cab2 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/Validator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/Validator.java
@@ -22,9 +22,9 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.component.DestructableComponent;
-import net.shibboleth.utilities.java.support.component.IdentifiableComponent;
-import net.shibboleth.utilities.java.support.component.InitializableComponent;
+import net.shibboleth.shared.component.DestructableComponent;
+import net.shibboleth.shared.component.IdentifiableComponent;
+import net.shibboleth.shared.component.InitializableComponent;
 
 /**
  * Interface for a validator to be applied to an object in the context of a given {@link Item}.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/ValidatorSequence.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/ValidatorSequence.java
index 0b00670..2b4f67a 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/ValidatorSequence.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/ValidatorSequence.java
@@ -25,9 +25,9 @@ import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
-import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * A {@link Validator} implementation which encapsulates the functionality of stepping
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringRegexValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringRegexValidator.java
index b3395c5..22ba086 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringRegexValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringRegexValidator.java
@@ -24,8 +24,8 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.validate.BaseValidator;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * A base class for <code>Validator</code>s that match {@link String} values against a regular expression.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringValueValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringValueValidator.java
index 8c6b0b2..1f914b4 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringValueValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/string/BaseStringValueValidator.java
@@ -22,8 +22,8 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.validate.BaseValidator;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * A base class for <code>Validator</code>s that match {@link String} values.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidator.java
index 0746250..5db825d 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidator.java
@@ -27,7 +27,7 @@ import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Validator class to check RSA public exponent values in X.509 certificates.
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidator.java b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidator.java
index d5da27c..b3b33ca 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidator.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidator.java
@@ -41,9 +41,9 @@ import org.springframework.core.io.Resource;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
 
 /**
  * Validator class to check RSA moduli in X.509 certificates against a OpenSSL-format
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/AssertSupport.java b/mda-framework/src/test/java/net/shibboleth/metadata/AssertSupport.java
index 8c3056d..b3414ec 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/AssertSupport.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/AssertSupport.java
@@ -20,8 +20,8 @@ package net.shibboleth.metadata;
 import java.util.List;
 
 import net.shibboleth.metadata.pipeline.ComponentInfo;
-import net.shibboleth.utilities.java.support.component.Component;
-import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.shared.component.Component;
+import net.shibboleth.shared.logic.Constraint;
 
 import org.testng.Assert;
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/ItemIdTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/ItemIdTest.java
index 4f6a12e..37916dc 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/ItemIdTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/ItemIdTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.metadata;
 
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/ItemTagTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/ItemTagTest.java
index ce34ab8..f67a0f4 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/ItemTagTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/ItemTagTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.metadata;
 
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/MockItemTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/MockItemTest.java
index 5090322..34317aa 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/MockItemTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/MockItemTest.java
@@ -3,7 +3,7 @@ package net.shibboleth.metadata;
 
 import org.testng.annotations.Test;
 
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 public class MockItemTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/TestMarker.java b/mda-framework/src/test/java/net/shibboleth/metadata/TestMarker.java
index 8104091..2060858 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/TestMarker.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/TestMarker.java
@@ -20,9 +20,9 @@ package net.shibboleth.metadata;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.Immutable;
 
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
 
 /** A {@link ItemMetadata} that can be used as a marker in tests. */
 @Immutable
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
index ec90f72..40257d2 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/BaseDOMTest.java
@@ -37,14 +37,14 @@ import net.shibboleth.metadata.BaseTest;
 import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
-import net.shibboleth.utilities.java.support.xml.ParserPool;
-import net.shibboleth.utilities.java.support.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
+import net.shibboleth.shared.xml.ParserPool;
+import net.shibboleth.shared.xml.SerializeSupport;
+import net.shibboleth.shared.xml.XMLParserException;
 
 /** A base class for DOM related tests. */
 public abstract class BaseDOMTest extends BaseTest {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
index 899ad8e..deb7869 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMElementItemTest.java
@@ -8,7 +8,7 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemId;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 public class DOMElementItemTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStageTest.java
index d6bef9a..e04b40f 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMFilesystemSourceStageTest.java
@@ -25,9 +25,9 @@ import java.util.ArrayList;
 import net.shibboleth.metadata.BaseTest;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
index cc886b4..da999f4 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceStageTest.java
@@ -34,7 +34,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.BaseTest;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
 
 public class DOMResourceSourceStageTest extends BaseTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementStrippingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementStrippingStageTest.java
index 241d631..abf28df 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementStrippingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementStrippingStageTest.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
index 87e6952..760f40f 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementWhitespaceTrimmingStageTest.java
@@ -30,8 +30,8 @@ import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 public class ElementWhitespaceTrimmingStageTest extends BaseDOMTest {
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementsStrippingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementsStrippingStageTest.java
index 3668c2b..231582c 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementsStrippingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ElementsStrippingStageTest.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStageTest.java
index 237cd07..8204581 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/MultiOutputXSLTransformationStageTest.java
@@ -32,7 +32,7 @@ import net.shibboleth.metadata.InfoStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.springframework.core.io.Resource;
 import org.testng.Assert;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/NamespaceStrippingStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/NamespaceStrippingStageTest.java
index 9626092..3a19f51 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/NamespaceStrippingStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/NamespaceStrippingStageTest.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import net.shibboleth.metadata.Item;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringAttributeValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringAttributeValidationStageTest.java
index 4558a3d..084f832 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringAttributeValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringAttributeValidationStageTest.java
@@ -17,8 +17,8 @@ import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.validate.RejectAllValidator;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.testing.CollectingValidator;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.XMLConstants;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.XMLConstants;
 
 public class StringAttributeValidationStageTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringElementValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringElementValidationStageTest.java
index 9d43ddd..5d68a3b 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringElementValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/StringElementValidationStageTest.java
@@ -17,7 +17,7 @@ import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
 import net.shibboleth.metadata.validate.RejectAllValidator;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.string.AcceptStringRegexValidator;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class StringElementValidationStageTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/WhitespaceTrimmingVisitorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/WhitespaceTrimmingVisitorTest.java
index 30e1236..551721f 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/WhitespaceTrimmingVisitorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/WhitespaceTrimmingVisitorTest.java
@@ -27,8 +27,8 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.saml.SAMLMetadataSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.ParserPool;
+import net.shibboleth.shared.xml.ElementSupport;
+import net.shibboleth.shared.xml.ParserPool;
 
 public class WhitespaceTrimmingVisitorTest extends BaseDOMTest {
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java
index 3182029..fcf6e31 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureSigningStageTest.java
@@ -40,10 +40,10 @@ import org.xmlunit.input.NormalizedSource;
 import net.shibboleth.metadata.AssertSupport;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.ds.XMLDSIGSupport;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import net.shibboleth.utilities.java.support.xml.SerializeSupport;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.xml.ElementSupport;
+import net.shibboleth.shared.xml.SerializeSupport;
+import net.shibboleth.shared.xml.XMLParserException;
 
 /** {@link XMLSignatureSigningStage} unit test. */
 public class XMLSignatureSigningStageTest extends BaseDOMTest {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java
index 9eaba0d..85cd1ca 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XMLSignatureValidationStageTest.java
@@ -28,7 +28,7 @@ import net.shibboleth.metadata.AssertSupport;
 import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.cryptacular.util.CertUtil;
 import org.testng.Assert;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathFilteringStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathFilteringStageTest.java
index 7560bd0..e8f570a 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathFilteringStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathFilteringStageTest.java
@@ -24,8 +24,7 @@ import java.util.Map;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.SimpleNamespaceContext;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategyTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategyTest.java
index 848c58b..b4f9de2 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategyTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XPathItemSelectionStrategyTest.java
@@ -20,8 +20,6 @@ package net.shibboleth.metadata.dom;
 import java.util.HashMap;
 import java.util.Map;
 
-import net.shibboleth.utilities.java.support.xml.SimpleNamespaceContext;
-
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java
index 213a26c..5bd9323 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLTtransformationStageTest.java
@@ -37,8 +37,8 @@ import net.shibboleth.metadata.InfoStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.springframework.core.io.Resource;
 import org.testng.Assert;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java
index b964d0b..f8ad7f0 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/XSLValidationStageTest.java
@@ -28,7 +28,7 @@ import net.shibboleth.metadata.InfoStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.WarningStatus;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.springframework.core.io.Resource;
 import org.testng.Assert;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ds/X509ValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ds/X509ValidationStageTest.java
index 799fab0..00d1efa 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/ds/X509ValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/ds/X509ValidationStageTest.java
@@ -30,8 +30,8 @@ import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.x509.X509RSAKeyLengthValidator;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcherTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcherTest.java
index 9d94b43..ce3abf5 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcherTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeElementMatcherTest.java
@@ -8,7 +8,7 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.BaseDOMTest;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 public class AttributeElementMatcherTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcherTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcherTest.java
index 1237275..13cceb2 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcherTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/AttributeValueElementMatcherTest.java
@@ -8,7 +8,7 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
 import net.shibboleth.metadata.dom.BaseDOMTest;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 public class AttributeValueElementMatcherTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
index 3dc6293..cd93214 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/CRDetectionStageTest.java
@@ -33,7 +33,7 @@ import net.shibboleth.metadata.InfoStatus;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.WarningStatus;
 import net.shibboleth.metadata.dom.BaseDOMTest;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
 
 public class CRDetectionStageTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
index f52d696..9cbf2be 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ContactPersonFilterStageTest.java
@@ -27,10 +27,10 @@ import javax.xml.namespace.QName;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.component.DestroyedComponentException;
+import net.shibboleth.shared.component.UnmodifiableComponentException;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
index 62b9e5d..9e947e8 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/DiscoFeedCollectionSerializerTest.java
@@ -19,7 +19,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemCollectionSerializer;
 import net.shibboleth.metadata.dom.BaseDOMTest;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 public class DiscoFeedCollectionSerializerTest extends BaseDOMTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
index 45fa589..fdea0d3 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityFilterStageTest.java
@@ -29,7 +29,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** Unit test for {@link EntityFilterStage}. */
 public class EntityFilterStageTest extends BaseDOMTest {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
index e16b26e..a7ed5e5 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityRoleFilterStageTest.java
@@ -27,7 +27,7 @@ import javax.xml.namespace.QName;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/GenerateIdStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/GenerateIdStageTest.java
index 385c5be..dd31089 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/GenerateIdStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/GenerateIdStageTest.java
@@ -30,9 +30,9 @@ import javax.xml.namespace.QName;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.security.impl.FixedStringIdentifierGenerationStrategy;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.metadata.util.FixedStringIdentifierGenerationStrategy;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStageTest.java
index 4a7bac7..9d11e57 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpCacheDurationStageTest.java
@@ -24,8 +24,8 @@ import java.util.List;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStageTest.java
index 7944bed..d88ed2c 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/PullUpValidUntilStageTest.java
@@ -25,8 +25,8 @@ import java.util.List;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStageTest.java
index 9d714b3..b84fa2a 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/RemoveOrganizationStageTest.java
@@ -23,7 +23,7 @@ import java.util.List;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStageTest.java
index 41982cb..c03bd49 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetCacheDurationStageTest.java
@@ -27,10 +27,10 @@ import javax.xml.datatype.DatatypeFactory;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetValidUntilStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetValidUntilStageTest.java
index fb59ca0..c07caf0 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetValidUntilStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/SetValidUntilStageTest.java
@@ -24,10 +24,10 @@ import java.util.ArrayList;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.logic.ConstraintViolationException;
+import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.impl.BasicParserPool;
+import net.shibboleth.shared.xml.ElementSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStageTest.java
index 89b16cc..9b195b6 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/ValidateValidUntilStageTest.java
@@ -20,7 +20,7 @@ package net.shibboleth.metadata.dom.saml;
 import net.shibboleth.metadata.ErrorStatus;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+import net.shibboleth.shared.xml.AttributeSupport;
 
 import java.time.Duration;
 import java.time.Instant;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
index 6c5566d..598b9dc 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/EntityRegistrationAuthorityFilterStageTest.java
@@ -29,7 +29,7 @@ import org.w3c.dom.Element;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
+import net.shibboleth.shared.xml.ElementSupport;
 
 /** Unit test for {@link EntityRegistrationAuthorityFilterStage}. */
 public class EntityRegistrationAuthorityFilterStageTest extends BaseDOMTest {
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStageTest.java
index 613cb9a..3f1f728 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdrpi/RegistrationAuthorityPopulationStageTest.java
@@ -26,9 +26,9 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.xml.XMLParserException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStageTest.java
index ed65f38..58c142e 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/mdui/IPHintValidationStageTest.java
@@ -9,7 +9,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemMetadata;
 import net.shibboleth.metadata.dom.BaseDOMTest;
 import net.shibboleth.metadata.dom.DOMElementItem;
-import net.shibboleth.utilities.java.support.collection.ClassToInstanceMultiMap;
+import net.shibboleth.shared.collection.ClassToInstanceMultiMap;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStageTest.java
index cd72bac..07c80d0 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/PipelineDemultiplexerStageTest.java
@@ -27,8 +27,8 @@ import java.util.function.Predicate;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.SimpleItemCollectionFactory;
-import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.collection.Pair;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ScriptletStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ScriptletStageTest.java
index 11ee1c4..f63f210 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ScriptletStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/ScriptletStageTest.java
@@ -9,13 +9,13 @@ import javax.script.ScriptEngineManager;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
-import net.shibboleth.ext.spring.resource.ResourceHelper;
+import net.shibboleth.shared.spring.resource.ResourceHelper;
 import net.shibboleth.metadata.BaseTest;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.TestMarker;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.scripting.EvaluableScript;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.scripting.EvaluableScript;
 
 public class ScriptletStageTest extends BaseTest {
 
@@ -49,7 +49,7 @@ public class ScriptletStageTest extends BaseTest {
     public void testJavascript() throws Exception {
         // pick up the script
         final var scriptResource = getClasspathResource("script.js");
-
+        
         final var script = new EvaluableScript();
         script.setScript(ResourceHelper.of(scriptResource));
         script.initialize();
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SerializationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SerializationStageTest.java
index e1f8de3..3e4de41 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SerializationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SerializationStageTest.java
@@ -15,7 +15,7 @@ import org.testng.annotations.Test;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.ItemCollectionSerializer;
 import net.shibboleth.metadata.MockItem;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class SerializationStageTest {
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SimplePipelineTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SimplePipelineTest.java
index 3713842..793eb58 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SimplePipelineTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SimplePipelineTest.java
@@ -22,8 +22,8 @@ import java.util.List;
 
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SplitMergeStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SplitMergeStageTest.java
index 3d89b77..2092508 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SplitMergeStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/SplitMergeStageTest.java
@@ -27,7 +27,7 @@ import java.util.function.Predicate;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.SimpleItemCollectionFactory;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponentTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponentTest.java
deleted file mode 100644
index 84408a7..0000000
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseIdentifiableInitializableComponentTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-
-package net.shibboleth.metadata.pipeline.impl;
-
-import org.testng.annotations.Test;
-
-import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
-import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
-
-public class BaseIdentifiableInitializableComponentTest {
-
-    private class TestClass extends BaseIdentifiableInitializableComponent {
-    }
-    
-    
-    @Test(expectedExceptions = {DestroyedComponentException.class})
-    public void ifDestroyedYes() throws Exception {
-        final var c = new TestClass();
-        c.setId("test");
-        c.initialize();
-        c.destroy();
-        c.ifDestroyedThrowDestroyedComponentException();
-    }
-
-    @Test
-    public void ifDestroyedNo() throws Exception {
-        final var c = new TestClass();
-        c.ifDestroyedThrowDestroyedComponentException();
-        c.setId("test");
-        c.initialize();
-        c.destroy();
-    }
-
-    @Test(expectedExceptions = {UninitializedComponentException.class})
-    public void ifNotInitializedYes() throws Exception {
-        final var c = new TestClass();
-        c.ifNotInitializedThrowUninitializedComponentException();
-    }
-
-    @Test
-    public void ifNotInitializedNo() throws Exception {
-        final var c = new TestClass();
-        c.setId("test");
-        c.initialize();
-        c.ifNotInitializedThrowUninitializedComponentException();
-        c.destroy();
-    }
-
-    @Test(expectedExceptions = {UnmodifiableComponentException.class})
-    public void ifInitializedYes() throws Exception {
-        final var c = new TestClass();
-        c.setId("test");
-        c.initialize();
-        c.ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-    @Test
-    public void ifInitializedNo() throws Exception {
-        final var c = new TestClass();
-        c.ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-
-}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponentTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponentTest.java
deleted file mode 100644
index ab65b79..0000000
--- a/mda-framework/src/test/java/net/shibboleth/metadata/pipeline/impl/BaseInitializableComponentTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-
-package net.shibboleth.metadata.pipeline.impl;
-
-import org.testng.annotations.Test;
-
-import net.shibboleth.utilities.java.support.component.DestroyedComponentException;
-import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
-import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
-
-public class BaseInitializableComponentTest {
-
-    private class TestClass extends BaseInitializableComponent {
-    }
-    
-    @Test(expectedExceptions = {DestroyedComponentException.class})
-    public void ifDestroyedYes() throws Exception {
-        final var c = new TestClass();
-        c.initialize();
-        c.destroy();
-        c.ifDestroyedThrowDestroyedComponentException();
-    }
-
-    @Test
-    public void ifDestroyedNo() throws Exception {
-        final var c = new TestClass();
-        c.initialize();
-        c.ifDestroyedThrowDestroyedComponentException();
-        c.destroy();
-    }
-
-    @Test(expectedExceptions = {UninitializedComponentException.class})
-    public void ifNotInitializedYes() throws Exception {
-        final var c = new TestClass();
-        c.ifNotInitializedThrowUninitializedComponentException();
-    }
-
-    @Test
-    public void ifNotInitializedNo() throws Exception {
-        final var c = new TestClass();
-        c.initialize();
-        c.ifNotInitializedThrowUninitializedComponentException();
-        c.destroy();
-    }
-
-    @Test(expectedExceptions = {UnmodifiableComponentException.class})
-    public void ifInitializedYes() throws Exception {
-        final var c = new TestClass();
-        c.initialize();
-        c.ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-    @Test
-    public void ifInitializedNo() throws Exception {
-        final var c = new TestClass();
-        c.ifInitializedThrowUnmodifiabledComponentException();
-    }
-
-}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringRegexValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringRegexValidatorTest.java
index 8ac8a28..f04eb47 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringRegexValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringRegexValidatorTest.java
@@ -11,7 +11,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.Validator.Action;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class AcceptStringRegexValidatorTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringValueValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringValueValidatorTest.java
index 062b287..5a9cd2d 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringValueValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/AcceptStringValueValidatorTest.java
@@ -11,7 +11,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.Validator.Action;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class AcceptStringValueValidatorTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringRegexValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringRegexValidatorTest.java
index cba100d..fc6cb93 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringRegexValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringRegexValidatorTest.java
@@ -11,7 +11,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.Validator.Action;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class RejectStringRegexValidatorTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringValueValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringValueValidatorTest.java
index f6f4cff..4563c69 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringValueValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/string/RejectStringValueValidatorTest.java
@@ -11,7 +11,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.validate.Validator;
 import net.shibboleth.metadata.validate.Validator.Action;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class RejectStringValueValidatorTest {
 
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/testing/CollectingValidator.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/testing/CollectingValidator.java
index 4b04803..61a6cd2 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/testing/CollectingValidator.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/testing/CollectingValidator.java
@@ -26,7 +26,7 @@ import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.pipeline.StageProcessingException;
 import net.shibboleth.metadata.validate.BaseValidator;
 import net.shibboleth.metadata.validate.Validator;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 /**
  * A {@link Validator} implementation which collects the values passed to it for
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidatorTest.java
index 6e368e0..c70d48b 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAExponentValidatorTest.java
@@ -25,7 +25,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import net.shibboleth.metadata.validate.Validator;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.shared.logic.ConstraintViolationException;
 
 public class X509RSAExponentValidatorTest extends BaseX509ValidatorTest {
     
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidatorTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidatorTest.java
index 1d79dab..444c1c6 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidatorTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/validate/x509/X509RSAOpenSSLBlacklistValidatorTest.java
@@ -27,7 +27,7 @@ import org.testng.annotations.Test;
 import net.shibboleth.metadata.Item;
 import net.shibboleth.metadata.MockItem;
 import net.shibboleth.metadata.validate.Validator;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.shared.component.ComponentInitializationException;
 
 public class X509RSAOpenSSLBlacklistValidatorTest extends BaseX509ValidatorTest {
     
diff --git a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetCacheDurationStageSpringTest-config.xml b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetCacheDurationStageSpringTest-config.xml
index 3e8f4f7..b3a8846 100644
--- a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetCacheDurationStageSpringTest-config.xml
+++ b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetCacheDurationStageSpringTest-config.xml
@@ -16,11 +16,11 @@
     <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
         <property name="converters">
             <set>
-                <bean class="net.shibboleth.ext.spring.config.BooleanToPredicateConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringBooleanToPredicateConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToDurationConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToIPRangeConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToResourceConverter" />
+                <bean class="net.shibboleth.shared.spring.config.BooleanToPredicateConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringBooleanToPredicateConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToDurationConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToIPRangeConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToResourceConverter" />
             </set>
         </property>
     </bean>
diff --git a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetValidUntilStageSpringTest-config.xml b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetValidUntilStageSpringTest-config.xml
index 72f41e8..07e3ce6 100644
--- a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetValidUntilStageSpringTest-config.xml
+++ b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/SetValidUntilStageSpringTest-config.xml
@@ -16,11 +16,11 @@
     <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
         <property name="converters">
             <set>
-                <bean class="net.shibboleth.ext.spring.config.BooleanToPredicateConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringBooleanToPredicateConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToDurationConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToIPRangeConverter" />
-                <bean class="net.shibboleth.ext.spring.config.StringToResourceConverter" />
+                <bean class="net.shibboleth.shared.spring.config.BooleanToPredicateConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringBooleanToPredicateConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToDurationConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToIPRangeConverter" />
+                <bean class="net.shibboleth.shared.spring.config.StringToResourceConverter" />
             </set>
         </property>
     </bean>
diff --git a/mda-keylists-rsa/pom.xml b/mda-keylists-rsa/pom.xml
index ed2cab6..95f261e 100644
--- a/mda-keylists-rsa/pom.xml
+++ b/mda-keylists-rsa/pom.xml
@@ -41,8 +41,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>net.shibboleth.utilities</groupId>
-            <artifactId>java-support</artifactId>
+            <groupId>net.shibboleth</groupId>
+            <artifactId>shib-support</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/pom.xml b/pom.xml
index c77c5f3..08fe186 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,8 +33,8 @@
     </modules>
 
     <properties>
-        <java-support.version>8.3.1</java-support.version>
-        <spring-extensions.version>6.2.0</spring-extensions.version>
+        <shib-shared.groupId>net.shibboleth</shib-shared.groupId>
+        <shib-shared.version>9.0.0-SNAPSHOT</shib-shared.version>
         <checkstyle.configLocation>${project.basedir}/resources/checkstyle/checkstyle.xml</checkstyle.configLocation>
         <aggregator-parent.site.url>${shibboleth.site.deploy.url}java-metadata-aggregator/${project.version}/</aggregator-parent.site.url>
         <aggregator-module.site.url>${aggregator-parent.site.url}${project.artifactId}</aggregator-module.site.url>
@@ -86,37 +86,23 @@
         used by all project modules. -->
     <dependencyManagement>
         <dependencies>
-            <!-- Compile Dependencies -->
-            <dependency>
-                <groupId>net.shibboleth.ext</groupId>
-                <artifactId>spring-extensions</artifactId>
-                <version>${spring-extensions.version}</version>
-            </dependency>
+
+            <!-- Import Dependencies:  Shared -->
             <dependency>
-                <groupId>net.shibboleth.utilities</groupId>
-                <artifactId>java-support</artifactId>
-                <version>${java-support.version}</version>
+            <groupId>${shib-shared.groupId}</groupId>
+                <artifactId>shib-shared-bom</artifactId>
+                <version>${shib-shared.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
             </dependency>
 
+            <!-- Compile Dependencies -->
+
             <!-- Provided Dependencies -->
 
             <!-- Runtime Dependencies -->
 
             <!-- Test Dependencies -->
-            <dependency>
-                <groupId>net.shibboleth.ext</groupId>
-                <artifactId>spring-extensions</artifactId>
-                <version>${spring-extensions.version}</version>
-                <type>test-jar</type>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>net.shibboleth.utilities</groupId>
-                <artifactId>java-support</artifactId>
-                <version>${java-support.version}</version>
-                <type>test-jar</type>
-                <scope>test</scope>
-            </dependency>
 
         </dependencies>
     </dependencyManagement>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list