[java-identity-provider] 06/10: IDP-1429 Deprecate ignoreCase for StringPolicyRule
Rod Widdowson
rdw at steadingsoftware.com
Thu Apr 11 08:59:58 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw 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=c6972312190e6e5a97af803910d48ff8e2847c13
commit c6972312190e6e5a97af803910d48ff8e2847c13
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Apr 10 11:17:38 2019 +0100
IDP-1429 Deprecate ignoreCase for StringPolicyRule
https://issues.shibboleth.net/jira/browse/IDP-1429
replacement is caseSensitive
---
.../impl/ProxiedRequesterPolicyRule.java | 8 ++--
.../policyrule/impl/AbstractStringPolicyRule.java | 46 ++++++++++++++++------
.../impl/AttributeIssuerPolicyRuleTest.java | 14 ++++++-
.../impl/AttributeRequesterPolicyRuleTest.java | 4 +-
.../impl/PrincipalNamePolicyRuleTest.java | 4 +-
.../impl/ProxiedRequesterPolicyRuleTest.java | 4 +-
6 files changed, 57 insertions(+), 23 deletions(-)
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRule.java
index da7ada5..f69636c 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRule.java
@@ -53,16 +53,16 @@ public class ProxiedRequesterPolicyRule extends AbstractStringPolicyRule {
return Tristate.FALSE;
}
- if (isIgnoreCase()) {
+ if (isCaseSensitive()) {
+ return ctx.getRequesters().contains(getMatchString()) ? Tristate.TRUE : Tristate.FALSE;
+ } else {
for (final String requester : ctx.getRequesters()) {
if (stringCompare(requester) == Tristate.TRUE) {
return Tristate.TRUE;
}
}
return Tristate.FALSE;
- } else {
- return ctx.getRequesters().contains(getMatchString()) ? Tristate.TRUE : Tristate.FALSE;
- }
+ }
}
}
\ No newline at end of file
diff --git a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/impl/AbstractStringPolicyRule.java b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/impl/AbstractStringPolicyRule.java
index 1ea2cd8..fa403ec 100644
--- a/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/impl/AbstractStringPolicyRule.java
+++ b/idp-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/policyrule/impl/AbstractStringPolicyRule.java
@@ -21,6 +21,8 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
/**
* General {@link PolicyRequirementRule} for {@link String} comparison of strings in Attribute Filters.
@@ -31,7 +33,7 @@ public abstract class AbstractStringPolicyRule extends AbstractPolicyRule implem
private String matchString;
/** Whether the match evaluation is case sensitive. */
- private boolean ignoreCase;
+ private boolean caseSensitive = true;
/**
* Gets the string to match for a positive evaluation.
@@ -52,21 +54,43 @@ public abstract class AbstractStringPolicyRule extends AbstractPolicyRule implem
}
/**
- * Gets whether the match evaluation is case insensitive.
+ * Gets whether the policy evaluation is case insensitive.
*
- * @return whether the match evaluation is case insensitive
+ * @return whether the policy evaluation is case insensitive
+ * @deprecated in V4: Use isCaseSensitive
*/
public boolean isIgnoreCase() {
- return ignoreCase;
+ DeprecationSupport.warnOnce(ObjectType.METHOD, "isIgnoreCase", null, "isCaseSensitive");
+ return !isCaseSensitive();
}
/**
- * Sets whether the match evaluation is case sensitive.
+ * Sets whether the policy evaluation is case insensitive.
*
- * @param isIgnoreCase whether the match evaluation is case sensitive
+ * @param isCaseInsensitive whether the policy evaluation is case insensitive
+ * @deprecated in V4: Use setCaseSensitive
*/
- public void setIgnoreCase(final boolean isIgnoreCase) {
- ignoreCase = isIgnoreCase;
+ public void setIgnoreCase(final boolean isCaseInsensitive) {
+ DeprecationSupport.warnOnce(ObjectType.METHOD, "setIgnoreCase", null, "setCaseSensitive");
+ setCaseSensitive(!isCaseInsensitive);
+ }
+
+ /**
+ * Gets whether the policy evaluation is case sensitive.
+ *
+ * @return whether the policy evaluation is case sensitive
+ */
+ public boolean isCaseSensitive() {
+ return caseSensitive;
+ }
+
+ /**
+ * Sets whether the policy evaluation is case sensitive.
+ *
+ * @param isCaseSensitive whether the policy evaluation is case sensitive
+ */
+ public void setCaseSensitive(final boolean isCaseSensitive) {
+ caseSensitive = isCaseSensitive;
}
/**
@@ -82,10 +106,10 @@ public abstract class AbstractStringPolicyRule extends AbstractPolicyRule implem
final boolean result;
if (value == null) {
result = matchString == null;
- } else if (ignoreCase) {
- result = value.equalsIgnoreCase(matchString);
+ } else if (isCaseSensitive()) {
+ result = value.equals(matchString);
} else {
- result = value.equals(matchString);
+ result = value.equalsIgnoreCase(matchString);
}
if (result) {
return Tristate.TRUE;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeIssuerPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeIssuerPolicyRuleTest.java
index 8fae726..e81a94b 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeIssuerPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeIssuerPolicyRuleTest.java
@@ -18,6 +18,8 @@
package net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import org.testng.annotations.Test;
@@ -36,10 +38,10 @@ public class AttributeIssuerPolicyRuleTest {
return getMatcher(true);
}
- private AttributeIssuerPolicyRule getMatcher(boolean caseSensitive) throws ComponentInitializationException {
+ private AttributeIssuerPolicyRule getMatcher(final boolean caseSensitive) throws ComponentInitializationException {
final AttributeIssuerPolicyRule matcher = new AttributeIssuerPolicyRule();
matcher.setMatchString("issuer");
- matcher.setIgnoreCase(!caseSensitive);
+ matcher.setCaseSensitive(caseSensitive);
matcher.setId("Test");
matcher.initialize();
return matcher;
@@ -59,6 +61,13 @@ public class AttributeIssuerPolicyRuleTest {
throws ComponentInitializationException {
assertEquals(getMatcher().matches(DataSources.unPopulatedFilterContext()), Tristate.FAIL);
}
+
+ @SuppressWarnings("deprecation")
+ @Test public void testDefault() {
+ final AttributeIssuerPolicyRule matcher = new AttributeIssuerPolicyRule();
+ assertFalse(matcher.isIgnoreCase());
+ assertTrue(matcher.isCaseSensitive());
+ }
@Test public void testNoIssuer()
throws ComponentInitializationException {
@@ -68,6 +77,7 @@ public class AttributeIssuerPolicyRuleTest {
@Test public void testCaseSensitive() throws ComponentInitializationException {
final AttributeIssuerPolicyRule matcher = getMatcher();
+ assertTrue(matcher.isCaseSensitive());
assertEquals(matcher.matches(DataSources.populatedFilterContext(null, "wibble", null)), Tristate.FALSE);
assertEquals(matcher.matches(DataSources.populatedFilterContext(null, "ISSUER", null)), Tristate.FALSE);
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeRequesterPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeRequesterPolicyRuleTest.java
index 7f17eb5..3b548d3 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeRequesterPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/AttributeRequesterPolicyRuleTest.java
@@ -32,10 +32,10 @@ import net.shibboleth.utilities.java.support.component.UninitializedComponentExc
*/
public class AttributeRequesterPolicyRuleTest {
- private AttributeRequesterPolicyRule getMatcher(boolean caseSensitive) throws ComponentInitializationException {
+ private AttributeRequesterPolicyRule getMatcher(final boolean caseSensitive) throws ComponentInitializationException {
AttributeRequesterPolicyRule matcher = new AttributeRequesterPolicyRule();
matcher.setMatchString("requester");
- matcher.setIgnoreCase(!caseSensitive);
+ matcher.setCaseSensitive(caseSensitive);
matcher.setId("Test");
matcher.initialize();
return matcher;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PrincipalNamePolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PrincipalNamePolicyRuleTest.java
index 026681d..8c4319f 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PrincipalNamePolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PrincipalNamePolicyRuleTest.java
@@ -33,10 +33,10 @@ import net.shibboleth.utilities.java.support.component.UninitializedComponentExc
*/
public class PrincipalNamePolicyRuleTest {
- private PrincipalNamePolicyRule getMatcher(boolean b) throws ComponentInitializationException {
+ private PrincipalNamePolicyRule getMatcher(final boolean caseSensitive) throws ComponentInitializationException {
PrincipalNamePolicyRule matcher = new PrincipalNamePolicyRule();
matcher.setMatchString("principal");
- matcher.setIgnoreCase(!b);
+ matcher.setCaseSensitive(caseSensitive);
matcher.setId("Test");
matcher.initialize();
return matcher;
diff --git a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
index e0251b3..4488dca 100644
--- a/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
+++ b/idp-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
@@ -37,10 +37,10 @@ import net.shibboleth.utilities.java.support.component.UninitializedComponentExc
*/
public class ProxiedRequesterPolicyRuleTest {
- private ProxiedRequesterPolicyRule getMatcher(boolean caseSensitive) throws ComponentInitializationException {
+ private ProxiedRequesterPolicyRule getMatcher(final boolean caseSensitive) throws ComponentInitializationException {
final ProxiedRequesterPolicyRule matcher = new ProxiedRequesterPolicyRule();
matcher.setMatchString("requester");
- matcher.setIgnoreCase(!caseSensitive);
+ matcher.setCaseSensitive(caseSensitive);
matcher.setId("Test");
matcher.initialize();
return matcher;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list