[java-identity-provider] branch master updated: IDP-1489 - Promote CAS profile config into API

Scott Cantor cantor.2 at osu.edu
Tue Dec 17 13:18:33 EST 2019


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

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=940f03a756095b8ed724646c84eb9c87637d375e

The following commit(s) were added to refs/heads/master by this push:
       new  940f03a   IDP-1489 - Promote CAS profile config into API
940f03a is described below

commit 940f03a756095b8ed724646c84eb9c87637d375e
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Dec 17 12:17:30 2019 -0600

    IDP-1489 - Promote CAS profile config into API
    
    https://issues.shibboleth.net/jira/browse/IDP-1489
---
 .../cas/config}/AbstractProtocolConfiguration.java |  4 +-
 .../idp/cas/config}/ConfigLookupFunction.java      |  2 +-
 .../idp/cas/config}/LoginConfiguration.java        |  2 +-
 .../idp/cas/config}/ProxyConfiguration.java        |  2 +-
 .../idp/cas/config}/ValidateConfiguration.java     |  6 +--
 .../shibboleth/idp/cas/config}/package-info.java   |  6 ++-
 .../idp/cas/service}/DefaultServiceComparator.java |  2 +-
 .../TicketIdentifierGenerationStrategy.java        | 12 ++---
 .../cas/service}/DefaultServiceComparatorTest.java |  2 +-
 .../PatternServiceRegistryTest.java}               |  2 +-
 .../TicketIdentifierGenerationStrategyTest.java    |  7 +--
 .../impl/BuildAuthenticationContextAction.java     |  4 +-
 .../idp/cas/flow/impl/GrantProxyTicketAction.java  |  5 +-
 .../cas/flow/impl/GrantServiceTicketAction.java    |  4 +-
 .../PrepareTicketValidationResponseAction.java     |  4 +-
 .../cas/flow/impl/ProcessSamlMessageAction.java    |  2 +-
 .../cas/flow/impl/ValidateProxyCallbackAction.java |  4 +-
 .../idp/cas/flow/impl/ValidateTicketAction.java    |  8 +--
 .../cas/proxy/impl/HttpClientProxyValidator.java   |  2 +-
 .../cas/service/impl/DefaultServiceComparator.java | 63 +++++-----------------
 .../cas/service/impl/MetadataServiceRegistry.java  |  6 +--
 .../idp/cas/ticket/impl/AbstractTicketService.java |  6 +--
 .../idp/cas/flow/impl/AbstractFlowActionTest.java  |  2 +-
 .../cas/flow/impl/BuildProxyChainActionTest.java   |  2 +-
 .../impl/BuildRelyingPartyContextActionTest.java   |  2 +-
 .../impl/BuildSAMLMetadataContextActionTest.java   |  2 +-
 .../impl/CheckProxyAuthorizationActionTest.java    |  2 +-
 .../cas/flow/impl/GrantProxyTicketActionTest.java  |  2 +-
 .../flow/impl/GrantServiceTicketActionTest.java    |  2 +-
 .../impl/PublishProtocolResponseActionTest.java    |  2 +-
 .../flow/impl/ValidateProxyCallbackActionTest.java |  2 +-
 .../idp/cas/flow/impl/ValidateRenewActionTest.java |  2 +-
 .../cas/flow/impl/ValidateTicketActionTest.java    |  2 +-
 .../cas/ticket/impl/EncodingTicketServiceTest.java |  1 +
 .../cas/ticket/impl/SimpleTicketServiceTest.java   |  1 +
 idp-conf/src/main/resources/conf/cas-protocol.xml  |  2 +-
 .../resources/system/conf/cas-protocol-system.xml  |  2 +-
 .../system/conf/relying-party-mddriven.xml         | 10 ++--
 .../resources/system/conf/relying-party-system.xml |  6 +--
 .../system/conf/session-manager-system.xml         |  2 +-
 .../system/flows/cas/login/login-beans.xml         |  6 +--
 .../system/flows/cas/proxy/proxy-beans.xml         |  2 +-
 .../system/flows/cas/validate-abstract-beans.xml   |  6 +--
 .../idp/test/flows/cas/LoginFlowTest.java          |  2 +-
 .../idp/test/flows/cas/ProxyFlowTest.java          |  2 +-
 .../idp/test/flows/cas/ProxyValidateFlowTest.java  |  2 +-
 46 files changed, 93 insertions(+), 128 deletions(-)

diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/AbstractProtocolConfiguration.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/AbstractProtocolConfiguration.java
similarity index 98%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/AbstractProtocolConfiguration.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/AbstractProtocolConfiguration.java
index a498209..15b4314 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/AbstractProtocolConfiguration.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/AbstractProtocolConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.config.impl;
+package net.shibboleth.idp.cas.config;
 
 import java.time.Duration;
 import java.util.function.Function;
@@ -24,7 +24,7 @@ import java.util.function.Predicate;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.idp.cas.ticket.impl.TicketIdentifierGenerationStrategy;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration;
 import net.shibboleth.idp.profile.config.SecurityConfiguration;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ConfigLookupFunction.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ConfigLookupFunction.java
similarity index 97%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ConfigLookupFunction.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ConfigLookupFunction.java
index 256cba5..f7af1aa 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ConfigLookupFunction.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ConfigLookupFunction.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.config.impl;
+package net.shibboleth.idp.cas.config;
 
 import java.util.function.Function;
 
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/LoginConfiguration.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/LoginConfiguration.java
similarity index 99%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/LoginConfiguration.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/LoginConfiguration.java
index 850460f..2f7e17d 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/LoginConfiguration.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/LoginConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.config.impl;
+package net.shibboleth.idp.cas.config;
 
 import java.security.Principal;
 import java.util.Collection;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ProxyConfiguration.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ProxyConfiguration.java
similarity index 97%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ProxyConfiguration.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ProxyConfiguration.java
index 01be4c6..485d577 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ProxyConfiguration.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ProxyConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.config.impl;
+package net.shibboleth.idp.cas.config;
 
 import javax.annotation.Nonnull;
 
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ValidateConfiguration.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ValidateConfiguration.java
similarity index 97%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ValidateConfiguration.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ValidateConfiguration.java
index 649daec..cd8b764 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/ValidateConfiguration.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/ValidateConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.config.impl;
+package net.shibboleth.idp.cas.config;
 
 import java.time.Duration;
 import java.util.Comparator;
@@ -26,8 +26,8 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
-import net.shibboleth.idp.cas.service.impl.DefaultServiceComparator;
-import net.shibboleth.idp.cas.ticket.impl.TicketIdentifierGenerationStrategy;
+import net.shibboleth.idp.cas.service.DefaultServiceComparator;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/package-info.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/package-info.java
similarity index 89%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/package-info.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/package-info.java
index 90b3d8c..b73d08d 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/config/impl/package-info.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/config/package-info.java
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
-/** CAS protocol configuration implementations. */
+/**
+ * CAS protocol configuration implementations.
+ */
 
-package net.shibboleth.idp.cas.config.impl;
\ No newline at end of file
+package net.shibboleth.idp.cas.config;
\ No newline at end of file
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/service/DefaultServiceComparator.java
similarity index 98%
copy from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java
copy to idp-cas-api/src/main/java/net/shibboleth/idp/cas/service/DefaultServiceComparator.java
index 0db9e6d..0b4bc5b 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/service/DefaultServiceComparator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.service.impl;
+package net.shibboleth.idp.cas.service;
 
 import java.net.URI;
 import java.net.URISyntaxException;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategy.java b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategy.java
similarity index 90%
rename from idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategy.java
rename to idp-cas-api/src/main/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategy.java
index 1f67564..5c7a5c7 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategy.java
+++ b/idp-cas-api/src/main/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.ticket.impl;
+package net.shibboleth.idp.cas.ticket;
 
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
@@ -72,11 +72,9 @@ public class TicketIdentifierGenerationStrategy implements IdentifierGenerationS
     public TicketIdentifierGenerationStrategy(
             @Nonnull @NotEmpty @ParameterName(name="prefix") final String prefix,
             @Positive @ParameterName(name="randomLength") final int randomLength) {
-        ticketLength = (int) Constraint.isGreaterThan(0, randomLength, "Random length must be positive");
+        ticketLength = Constraint.isGreaterThan(0, randomLength, "Random length must be positive");
         ticketPrefix = Constraint.isNotNull(StringSupport.trimOrNull(prefix), "Prefix cannot be null or empty");
-        if (!isUrlSafe(this.ticketPrefix)) {
-            throw new IllegalArgumentException("Unsupported prefix " + this.ticketPrefix);
-        }
+        Constraint.isTrue(isUrlSafe(ticketPrefix), "Unsupported prefix " + ticketPrefix);
         idGenerator = new RandomIdGenerator(ticketLength);
     }
 
@@ -88,9 +86,7 @@ public class TicketIdentifierGenerationStrategy implements IdentifierGenerationS
     public void setSuffix(@Nullable final String suffix) {
         final String s = StringSupport.trimOrNull(suffix);
         if (s != null) {
-            if (!isUrlSafe(s)) {
-                throw new IllegalArgumentException("Unsupported suffix " + s);
-            }
+            Constraint.isTrue(isUrlSafe(s), "Unsupported suffix " + s);
             ticketSuffix = s;
         }
     }
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparatorTest.java b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/DefaultServiceComparatorTest.java
similarity index 98%
rename from idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparatorTest.java
rename to idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/DefaultServiceComparatorTest.java
index fbb46d4..53fceb5 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparatorTest.java
+++ b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/DefaultServiceComparatorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.service.impl;
+package net.shibboleth.idp.cas.service;
 
 import org.testng.annotations.Test;
 
diff --git a/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/PatternServiceRegistryTest.java
similarity index 98%
rename from idp-cas-api/src/test/java/net/shibboleth/idp/cas/service
rename to idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/PatternServiceRegistryTest.java
index 4663e69..1796c57 100644
--- a/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service
+++ b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/service/PatternServiceRegistryTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.service.impl;
+package net.shibboleth.idp.cas.service;
 
 import java.util.Arrays;
 import java.util.List;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategyTest.java b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategyTest.java
similarity index 95%
rename from idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategyTest.java
rename to idp-cas-api/src/test/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategyTest.java
index 3d08445..61351ae 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/TicketIdentifierGenerationStrategyTest.java
+++ b/idp-cas-api/src/test/java/net/shibboleth/idp/cas/ticket/TicketIdentifierGenerationStrategyTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.cas.ticket.impl;
+package net.shibboleth.idp.cas.ticket;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -31,6 +31,8 @@ import java.util.regex.Pattern;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
+import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
@@ -85,8 +87,7 @@ public class TicketIdentifierGenerationStrategyTest {
         }
     }
 
-    @Test(dataProvider = "url-safety",
-          expectedExceptions = IllegalArgumentException.class)
+    @Test(dataProvider = "url-safety", expectedExceptions = ConstraintViolationException.class)
     public void testUrlSafety(final String prefix, final String suffix) {
         new TicketIdentifierGenerationStrategy(prefix, 10).setSuffix(suffix);
     }
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildAuthenticationContextAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildAuthenticationContextAction.java
index 3e98888..5a2161c 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildAuthenticationContextAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/BuildAuthenticationContextAction.java
@@ -21,8 +21,8 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
 import net.shibboleth.idp.cas.protocol.ServiceTicketResponse;
 
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketAction.java
index 1815709..f043488 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketAction.java
@@ -24,8 +24,9 @@ import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import com.google.common.base.Predicates;
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
+
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.ProxyTicketRequest;
 import net.shibboleth.idp.cas.protocol.ProxyTicketResponse;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketAction.java
index 13dc4b9..3003fff 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketAction.java
@@ -28,8 +28,8 @@ import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFunction;
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
 import net.shibboleth.idp.cas.protocol.ServiceTicketResponse;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
index 7f7b1db..f14c492 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/PrepareTicketValidationResponseAction.java
@@ -37,8 +37,8 @@ import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
 import net.shibboleth.idp.attribute.transcoding.TranscodingRule;
 import net.shibboleth.idp.cas.attribute.Attribute;
 import net.shibboleth.idp.cas.attribute.transcoding.impl.CASStringAttributeTranscoder;
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
index f2bb25b..2ea47a6 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ProcessSamlMessageAction.java
@@ -19,7 +19,7 @@ package net.shibboleth.idp.cas.flow.impl;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.ProtocolParam;
 import net.shibboleth.idp.cas.protocol.SamlParam;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackAction.java
index be95b35..5e4cfbb 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackAction.java
@@ -32,8 +32,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.ProtocolParam;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketAction.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketAction.java
index b46804e..e534f9f 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketAction.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketAction.java
@@ -22,10 +22,10 @@ import java.time.Instant;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.idp.cas.config.impl.ConfigLookupFunction;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ConfigLookupFunction;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
index 1087ec9..fc4614b 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/proxy/impl/HttpClientProxyValidator.java
@@ -33,7 +33,7 @@ import javax.net.ssl.SSLPeerUnverifiedException;
 import javax.security.auth.login.CredentialException;
 import javax.security.auth.login.FailedLoginException;
 
-import net.shibboleth.idp.cas.config.impl.AbstractProtocolConfiguration;
+import net.shibboleth.idp.cas.config.AbstractProtocolConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolContext;
 import net.shibboleth.idp.cas.proxy.ProxyValidator;
 import net.shibboleth.idp.cas.service.Service;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java
index 0db9e6d..4be4887 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/DefaultServiceComparator.java
@@ -17,35 +17,26 @@
 
 package net.shibboleth.idp.cas.service.impl;
 
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Comparator;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 import javax.annotation.Nonnull;
 
-import net.shibboleth.utilities.java.support.logic.Constraint;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 
 /**
  * Default comparator implementation for comparing CAS service URLs. URL comparison is case-insensitive and supports
  * ignoring predefined URL path parameters. The common session marker <em>;jessionid=value</em> is ignored by default.
  *
  * @author Marvin S. Addison
+ * 
+ * @deprecated
  */
-public class DefaultServiceComparator implements Comparator<String> {
-
-    /** Class logger. */
-    private final Logger log = LoggerFactory.getLogger(DefaultServiceComparator.class);
-
-    /** Ignored patterns in path part of URL. */
-    private final Pattern[] ignoredPatterns;
+ at Deprecated(forRemoval=true, since="4.0.0")
+public class DefaultServiceComparator extends net.shibboleth.idp.cas.service.DefaultServiceComparator {
 
     /** Creates a new instance that ignores <em>;jsessionid=value</em>. */
     public DefaultServiceComparator() {
-        this("jsessionid");
+        DeprecationSupport.warn(ObjectType.CLASS, getClass().getName(), "cas-protocol.xml",
+                "net.shibboleth.idp.cas.service.DefaultServiceComparator");
     }
 
     /**
@@ -54,37 +45,9 @@ public class DefaultServiceComparator implements Comparator<String> {
      * @param  parameterNames  List of path parameter names to ignore.
      */
     public DefaultServiceComparator(@Nonnull final String ... parameterNames) {
-        Constraint.isNotNull(parameterNames, "Parameters names cannot be null");
-        ignoredPatterns = new Pattern[parameterNames.length];
-        for (int i = 0; i < parameterNames.length; i++) {
-            ignoredPatterns[i] = Pattern.compile(";" + parameterNames[i] + "(?:=[^;/]+)?", Pattern.CASE_INSENSITIVE);
-        }
-    }
-
-    @Override
-    public int compare(final String a, final String b) {
-        return stripPathParameters(a).compareToIgnoreCase(stripPathParameters(b));
-    }
-
-    /**
-     * Strips any of the named path parameters (and any associated values) from the given URI.
-     *
-     * @param uriString String form of URI from which to strip named path parameters.
-     *
-     * @return URI with named path parameters and any associated values removed.
-     */
-    private String stripPathParameters(final String uriString) {
-        try {
-            final URI uri = new URI(uriString);
-            String path = uri.getPath();
-            for (final Pattern pattern : ignoredPatterns) {
-                final Matcher m = pattern.matcher(path);
-                path = m.replaceAll("");
-            }
-            return new URI(uri.getScheme(), uri.getAuthority(), path, uri.getQuery(), uri.getFragment()).toString();
-        } catch (final URISyntaxException e) {
-            log.warn("Error parsing {}", uriString);
-            return uriString;
-        }
+        super(parameterNames);
+        DeprecationSupport.warn(ObjectType.CLASS, getClass().getName(), "cas-protocol.xml",
+                "net.shibboleth.idp.cas.service.DefaultServiceComparator");
     }
-}
+    
+}
\ No newline at end of file
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistry.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistry.java
index 28dbf84..31d0ca5 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistry.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistry.java
@@ -22,9 +22,9 @@ import java.util.function.Predicate;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.idp.cas.config.impl.AbstractProtocolConfiguration;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
+import net.shibboleth.idp.cas.config.AbstractProtocolConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
 import net.shibboleth.idp.cas.service.Service;
 import net.shibboleth.idp.cas.service.ServiceRegistry;
 import net.shibboleth.utilities.java.support.annotation.ParameterName;
diff --git a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTicketService.java b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTicketService.java
index db6afed..308adf4 100644
--- a/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTicketService.java
+++ b/idp-cas-impl/src/main/java/net/shibboleth/idp/cas/ticket/impl/AbstractTicketService.java
@@ -25,9 +25,9 @@ import java.util.Map;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
index 05d8e6f..587edbb 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
@@ -25,9 +25,9 @@ import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.cas.ticket.TicketService;
 import net.shibboleth.idp.cas.ticket.TicketState;
-import net.shibboleth.idp.cas.ticket.impl.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.spring.IdPPropertiesApplicationContextInitializer;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
index 44c5862..5ca14d0 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildRelyingPartyContextActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildRelyingPartyContextActionTest.java
index 99f36a1..26459ae 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildRelyingPartyContextActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildRelyingPartyContextActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ProxyTicketRequest;
 import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
index 2644443..3ffafd0 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
@@ -20,7 +20,7 @@ package net.shibboleth.idp.cas.flow.impl;
 import java.util.List;
 import java.util.function.Function;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.service.Service;
 import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
 import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
index 509a11b..9a5699e 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.service.Service;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
index 1a60b5c..9be13bc 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.ProxyConfiguration;
+import net.shibboleth.idp.cas.config.ProxyConfiguration;
 import net.shibboleth.idp.cas.protocol.ProxyTicketRequest;
 import net.shibboleth.idp.cas.protocol.ProxyTicketResponse;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
index dded5b5..e5c5b20 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
@@ -19,7 +19,7 @@ package net.shibboleth.idp.cas.flow.impl;
 
 import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
 import net.shibboleth.idp.cas.protocol.ServiceTicketResponse;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/PublishProtocolResponseActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/PublishProtocolResponseActionTest.java
index 64de31f..eda1f86 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/PublishProtocolResponseActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/PublishProtocolResponseActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
 import net.shibboleth.idp.cas.protocol.ServiceTicketResponse;
 import org.springframework.webflow.execution.RequestContext;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
index a669931..ec056a6 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
@@ -21,7 +21,7 @@ import java.net.URI;
 import java.security.cert.CertificateException;
 import java.time.Instant;
 
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
index 208dd3d..953f226 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
index 5b4fd85..11848bc 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
@@ -17,7 +17,7 @@
 
 package net.shibboleth.idp.cas.flow.impl;
 
-import net.shibboleth.idp.cas.config.impl.ValidateConfiguration;
+import net.shibboleth.idp.cas.config.ValidateConfiguration;
 import net.shibboleth.idp.cas.protocol.ProtocolError;
 import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
index 0d34ca7..f55dbe1 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
@@ -26,6 +26,7 @@ import net.shibboleth.ext.spring.resource.ResourceHelper;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.cas.ticket.TicketState;
 import net.shibboleth.utilities.java.support.security.DataSealer;
 import net.shibboleth.utilities.java.support.security.IdentifierGenerationStrategy;
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
index 71357f7..d41c5e5 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.cas.ticket.impl;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.cas.ticket.TicketState;
 import org.opensaml.storage.impl.MemoryStorageService;
 import org.testng.annotations.BeforeTest;
diff --git a/idp-conf/src/main/resources/conf/cas-protocol.xml b/idp-conf/src/main/resources/conf/cas-protocol.xml
index 92eb65c..2eb1733 100644
--- a/idp-conf/src/main/resources/conf/cas-protocol.xml
+++ b/idp-conf/src/main/resources/conf/cas-protocol.xml
@@ -81,7 +81,7 @@
        | Those sorts of URLs are commonly emitted by Java servlet-based web applications.
        -->
     <!--<bean id="shibboleth.CASServiceComparator"
-          class="net.shibboleth.idp.cas.service.impl.DefaultServiceComparator"
+          class="net.shibboleth.idp.cas.service.DefaultServiceComparator"
           c:parameterNames="[a-z]+sessionid" />-->
 
     <!--
diff --git a/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml b/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml
index 0ddf0d1..6ff1a36 100644
--- a/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml
+++ b/idp-conf/src/main/resources/system/conf/cas-protocol-system.xml
@@ -63,7 +63,7 @@
     <bean id="shibboleth.DefaultCASProxyValidateIdPSessionPredicate" parent="shibboleth.Conditions.FALSE" />
 
     <bean id="shibboleth.DefaultCASServiceComparator"
-          class="net.shibboleth.idp.cas.service.impl.DefaultServiceComparator" />
+          class="net.shibboleth.idp.cas.service.DefaultServiceComparator" />
 
     <util:list id="shibboleth.DefaultCASServiceRegistries">
         <ref bean="shibboleth.CASMetadataServiceRegistry" />
diff --git a/idp-conf/src/main/resources/system/conf/relying-party-mddriven.xml b/idp-conf/src/main/resources/system/conf/relying-party-mddriven.xml
index 74049a8..80e5f60 100644
--- a/idp-conf/src/main/resources/system/conf/relying-party-mddriven.xml
+++ b/idp-conf/src/main/resources/system/conf/relying-party-mddriven.xml
@@ -217,7 +217,7 @@
             <bean parent="shibboleth.MDDrivenDurationProperty" p:propertyName="ticketValidityPeriod">
                 <property name="defaultValue">
                     <util:constant
-                        static-field="net.shibboleth.idp.cas.config.impl.AbstractProtocolConfiguration.DEFAULT_TICKET_VALIDITY_PERIOD" />
+                        static-field="net.shibboleth.idp.cas.config.AbstractProtocolConfiguration.DEFAULT_TICKET_VALIDITY_PERIOD" />
                 </property>
             </bean>
         </property>
@@ -634,7 +634,7 @@
     </bean>
 
     <bean id="CAS.LoginConfiguration.MDDriven" parent="AbstractMDDrivenCASProfile" lazy-init="true"
-            class="net.shibboleth.idp.cas.config.impl.LoginConfiguration">
+            class="net.shibboleth.idp.cas.config.LoginConfiguration">
         <property name="defaultAuthenticationMethodsLookupStrategy">
             <bean parent="shibboleth.MDDrivenListProperty" p:propertyName="defaultAuthenticationMethods"
                 p:propertyType="#{T(net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal)}" />
@@ -659,15 +659,15 @@
     </bean>
 
     <bean id="CAS.ProxyConfiguration.MDDriven" parent="AbstractMDDrivenCASProfile" lazy-init="true"
-        class="net.shibboleth.idp.cas.config.impl.ProxyConfiguration" />
+        class="net.shibboleth.idp.cas.config.ProxyConfiguration" />
 
     <bean id="CAS.ValidateConfiguration.MDDriven" parent="AbstractMDDrivenCASProfile" lazy-init="true"
-            class="net.shibboleth.idp.cas.config.impl.ValidateConfiguration">
+            class="net.shibboleth.idp.cas.config.ValidateConfiguration">
         <property name="ticketValidityPeriodLookupStrategy">
             <bean parent="shibboleth.MDDrivenDurationProperty" p:propertyName="ticketValidityPeriod">
                 <property name="defaultValue">
                     <util:constant
-                        static-field="net.shibboleth.idp.cas.config.impl.ValidateConfiguration.DEFAULT_TICKET_VALIDITY_PERIOD" />
+                        static-field="net.shibboleth.idp.cas.config.ValidateConfiguration.DEFAULT_TICKET_VALIDITY_PERIOD" />
                 </property>
             </bean>
         </property>
diff --git a/idp-conf/src/main/resources/system/conf/relying-party-system.xml b/idp-conf/src/main/resources/system/conf/relying-party-system.xml
index 8eff3b2..a2f4b52 100644
--- a/idp-conf/src/main/resources/system/conf/relying-party-system.xml
+++ b/idp-conf/src/main/resources/system/conf/relying-party-system.xml
@@ -122,14 +122,14 @@
         p:encryptionOptionalPredicate="%{idp.encryption.optional:false}" />
 
     <bean id="CAS.LoginConfiguration" lazy-init="true"
-        class="net.shibboleth.idp.cas.config.impl.LoginConfiguration" />
+        class="net.shibboleth.idp.cas.config.LoginConfiguration" />
 
     <bean id="CAS.ProxyConfiguration" lazy-init="true"
-        class="net.shibboleth.idp.cas.config.impl.ProxyConfiguration" />
+        class="net.shibboleth.idp.cas.config.ProxyConfiguration" />
 
     <!-- Ticket validity period applies to proxy-granting tickets created upon successful proxy callback validation -->
     <bean id="CAS.ValidateConfiguration" lazy-init="true"
-        class="net.shibboleth.idp.cas.config.impl.ValidateConfiguration"
+        class="net.shibboleth.idp.cas.config.ValidateConfiguration"
         p:serviceComparator="#{getObject('shibboleth.CASServiceComparator') ?: getObject('shibboleth.DefaultCASServiceComparator')}" />
 
     <!-- Artifact Configuration Defaults -->
diff --git a/idp-conf/src/main/resources/system/conf/session-manager-system.xml b/idp-conf/src/main/resources/system/conf/session-manager-system.xml
index 7e53e67..2afbfe2 100644
--- a/idp-conf/src/main/resources/system/conf/session-manager-system.xml
+++ b/idp-conf/src/main/resources/system/conf/session-manager-system.xml
@@ -53,7 +53,7 @@
                     <util:constant static-field="org.opensaml.saml.common.xml.SAMLConstants.SAML20P_NS" />
                 </entry>
                 <entry key="#{T(net.shibboleth.idp.cas.session.impl.CASSPSession)}">
-                    <util:constant static-field="net.shibboleth.idp.cas.config.impl.AbstractProtocolConfiguration.PROTOCOL_URI" />
+                    <util:constant static-field="net.shibboleth.idp.cas.config.AbstractProtocolConfiguration.PROTOCOL_URI" />
                 </entry>
             </map>
         </property>
diff --git a/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml b/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml
index 73ff17a..b1c2bd1 100644
--- a/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/login/login-beans.xml
@@ -11,7 +11,7 @@
     <!-- Action beans -->
     <bean id="InitializeProfileRequestContext"
           class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext" scope="prototype"
-          p:profileId="#{T(net.shibboleth.idp.cas.config.impl.LoginConfiguration).PROFILE_ID}"
+          p:profileId="#{T(net.shibboleth.idp.cas.config.LoginConfiguration).PROFILE_ID}"
           p:loggingId="%{idp.service.logging.cas:SSO}"
           p:browserProfile="true" />
 
@@ -44,8 +44,8 @@
           p:sessionResolver-ref="shibboleth.SessionManager" />
 
     <bean id="LoginConfigLookup"
-          class="net.shibboleth.idp.cas.config.impl.ConfigLookupFunction" scope="prototype"
-          c:clazz="net.shibboleth.idp.cas.config.impl.LoginConfiguration" />
+          class="net.shibboleth.idp.cas.config.ConfigLookupFunction" scope="prototype"
+          c:clazz="net.shibboleth.idp.cas.config.LoginConfiguration" />
 
     <bean id="SubjectContextLookup"
           class="org.opensaml.messaging.context.navigate.ChildContextLookup" scope="prototype"
diff --git a/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-beans.xml b/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-beans.xml
index 8c7290f..b6a9a2a 100644
--- a/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/proxy/proxy-beans.xml
@@ -11,7 +11,7 @@
     <!-- Action beans -->
     <bean id="InitializeProfileRequestContext"
           class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext" scope="prototype"
-          p:profileId="#{T(net.shibboleth.idp.cas.config.impl.ProxyConfiguration).PROFILE_ID}"
+          p:profileId="#{T(net.shibboleth.idp.cas.config.ProxyConfiguration).PROFILE_ID}"
           p:loggingId="%{idp.service.logging.cas:SSO}"
           p:browserProfile="false" />
 
diff --git a/idp-conf/src/main/resources/system/flows/cas/validate-abstract-beans.xml b/idp-conf/src/main/resources/system/flows/cas/validate-abstract-beans.xml
index 480c69b..af2e5ab 100644
--- a/idp-conf/src/main/resources/system/flows/cas/validate-abstract-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/cas/validate-abstract-beans.xml
@@ -11,7 +11,7 @@
     <!-- Action beans -->
     <bean id="InitializeProfileRequestContext"
           class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext" scope="prototype"
-          p:profileId="#{T(net.shibboleth.idp.cas.config.impl.ValidateConfiguration).PROFILE_ID}"
+          p:profileId="#{T(net.shibboleth.idp.cas.config.ValidateConfiguration).PROFILE_ID}"
           p:loggingId="%{idp.service.logging.cas:SSO}"
           p:browserProfile="false" />
 
@@ -50,8 +50,8 @@
           p:fieldExtractors="#{getObject('shibboleth.CASValidationAuditExtractors') ?: getObject('shibboleth.DefaultCASValidationAuditExtractors')}" />
 
     <bean id="ValidateConfigLookup"
-          class="net.shibboleth.idp.cas.config.impl.ConfigLookupFunction"
-          c:clazz="net.shibboleth.idp.cas.config.impl.ValidateConfiguration" />
+          class="net.shibboleth.idp.cas.config.ConfigLookupFunction"
+          c:clazz="net.shibboleth.idp.cas.config.ValidateConfiguration" />
 
     <!-- Supplementary beans -->
     <bean id="PrincipalLookupFunction" class="net.shibboleth.idp.cas.ticket.TicketPrincipalLookupFunction" />
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
index 866d7ce..c246ef6 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/LoginFlowTest.java
@@ -24,7 +24,7 @@ import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
-import net.shibboleth.idp.cas.config.impl.LoginConfiguration;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
 import net.shibboleth.idp.cas.ticket.Ticket;
 import net.shibboleth.idp.cas.ticket.TicketService;
 import net.shibboleth.idp.consent.context.ConsentContext;
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyFlowTest.java
index 9f38ca8..226f775 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyFlowTest.java
@@ -19,9 +19,9 @@ package net.shibboleth.idp.test.flows.cas;
 
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.cas.ticket.TicketService;
 import net.shibboleth.idp.cas.ticket.TicketState;
-import net.shibboleth.idp.cas.ticket.impl.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SessionManager;
 import net.shibboleth.idp.test.flows.AbstractFlowTest;
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyValidateFlowTest.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyValidateFlowTest.java
index f5c7c61..13463a0 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyValidateFlowTest.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/cas/ProxyValidateFlowTest.java
@@ -22,9 +22,9 @@ import javax.annotation.Nonnull;
 import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
 import net.shibboleth.idp.cas.ticket.ProxyTicket;
 import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.cas.ticket.TicketService;
 import net.shibboleth.idp.cas.ticket.TicketState;
-import net.shibboleth.idp.cas.ticket.impl.TicketIdentifierGenerationStrategy;
 import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SessionManager;
 import net.shibboleth.idp.test.flows.AbstractFlowTest;

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


More information about the commits mailing list