[java-identity-provider] 11/51: IDP-1121 Remove the AbstractWarningFilterParser

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:42:42 EST 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=f15b02229f78fc3a85974f30654a6c1523d5c93d

commit f15b02229f78fc3a85974f30654a6c1523d5c93d
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Nov 28 16:01:29 2018 +0000

    IDP-1121 Remove the AbstractWarningFilterParser
    
    https://issues.shibboleth.net/jira/browse/IDP-1121
---
 .../filter/spring/basic/impl/AndMatcherParser.java |  8 +----
 .../filter/spring/basic/impl/AnyParser.java        | 16 +++-------
 .../filter/spring/basic/impl/NotMatcherParser.java |  7 +----
 .../filter/spring/basic/impl/OrMatcherParser.java  |  8 +----
 .../spring/basic/impl/ScriptedMatcherParser.java   | 22 +++++--------
 .../spring/impl/AbstractWarningFilterParser.java   | 36 ----------------------
 .../matcher/BaseAttributeValueMatcherParser.java   | 12 ++++----
 .../matcher/impl/AttributeScopeMatcherParser.java  |  5 ---
 .../impl/AttributeScopeRegexMatcherParser.java     |  5 ---
 .../impl/AttributeValueRegexMatcherParser.java     |  5 ---
 .../impl/AttributeValueStringMatcherParser.java    |  5 ---
 .../spring/policyrule/BasePolicyRuleParser.java    | 10 +++---
 .../impl/AttributeIssuerRegexRuleParser.java       |  5 ---
 .../policyrule/impl/AttributeIssuerRuleParser.java |  6 ----
 .../impl/AttributeRequesterRegexRuleParser.java    |  5 ---
 .../impl/AttributeRequesterRuleParser.java         |  5 ---
 .../impl/AuthenticationMethodRegexRuleParser.java  |  5 ---
 .../impl/AuthenticationMethodRuleParser.java       |  5 ---
 .../impl/NumOfAttributeValuesRuleParser.java       |  5 ---
 .../policyrule/impl/PredicateRuleParser.java       |  5 ---
 .../impl/PrincipalNameRegexRuleParser.java         |  5 ---
 .../policyrule/impl/PrincipalNameRuleParser.java   |  6 ----
 .../impl/ProxiedRequesterRegexRuleParser.java      |  5 ---
 .../impl/ProxiedRequesterRuleParser.java           |  5 ---
 .../saml/impl/AttributeInMetadataRuleParser.java   |  5 ---
 ...uteRequesterEntityAttributeExactRuleParser.java |  5 ---
 ...uteRequesterEntityAttributeRegexRuleParser.java |  5 ---
 .../AttributeRequesterInEntityGroupRuleParser.java |  5 ---
 .../AttributeRequesterNameIdFormatRuleParser.java  |  5 ---
 .../impl/MappedAttributeInMetadataRuleParser.java  |  5 ---
 .../saml/impl/RegistrationAuthorityRuleParser.java |  5 ---
 31 files changed, 27 insertions(+), 209 deletions(-)

diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
index 711215b..5e46128 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
@@ -30,7 +30,6 @@ import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.AndMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.AndPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
 /**
@@ -38,17 +37,12 @@ import net.shibboleth.utilities.java.support.xml.ElementSupport;
  * These both take as a constructor a list of {@link net.shibboleth.idp.attribute.filter.Matcher} or
  * {@link net.shibboleth.idp.attribute.filter.PolicyRequirementRule} so the parsing code is common.
  */
-public class AndMatcherParser extends AbstractWarningFilterParser {
+public class AndMatcherParser extends BaseFilterParser {
 
     /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AND");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
         if (isPolicyRule(element)) {
             return AndPolicyRule.class;
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
index bf2b3fa..52a0a6c 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
@@ -20,29 +20,23 @@ package net.shibboleth.idp.attribute.filter.spring.basic.impl;
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.idp.attribute.filter.Matcher;
-import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
-
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
+import net.shibboleth.idp.attribute.filter.Matcher;
+import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
+import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
+
 /**
  * Bean definition parser for {@link PolicyRequirementRule#MATCHES_ALL} objects.
  */
-public class AnyParser extends AbstractWarningFilterParser {
+public class AnyParser extends BaseFilterParser {
 
     /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ANY");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
         if (isPolicyRule(element)) {
             return PolicyRequirementRule.MATCHES_ALL.getClass();
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
index 058d6a5..640c229 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
@@ -30,22 +30,17 @@ import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.NotMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.NotPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
 /**
  * Bean definition parser for {@link NotMatcher} or {@link NotPolicyRule} objects.
  */
-public class NotMatcherParser extends AbstractWarningFilterParser {
+public class NotMatcherParser extends BaseFilterParser {
 
     /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NOT");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
     /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
         if (isPolicyRule(element)) {
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
index 5efb217..36f410a 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
@@ -30,7 +30,6 @@ import net.shibboleth.ext.spring.util.SpringSupport;
 import net.shibboleth.idp.attribute.filter.matcher.logic.impl.OrMatcher;
 import net.shibboleth.idp.attribute.filter.policyrule.logic.impl.OrPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
 
 /**
@@ -38,17 +37,12 @@ import net.shibboleth.utilities.java.support.xml.ElementSupport;
  * These both take as a constructor a list of {@link net.shibboleth.idp.attribute.filter.Matcher} or
  * {@link net.shibboleth.idp.attribute.filter.PolicyRequirementRule} so the parsing code is common.
  */
-public class OrMatcherParser extends AbstractWarningFilterParser {
+public class OrMatcherParser extends BaseFilterParser {
 
     /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "OR");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
         if (isPolicyRule(element)) {
             return OrPolicyRule.class;
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
index 2f5a9ea..128697d 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
@@ -22,14 +22,6 @@ import java.util.List;
 import javax.annotation.Nonnull;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.ext.spring.factory.EvaluableScriptFactoryBean;
-import net.shibboleth.idp.attribute.filter.matcher.impl.ScriptedMatcher;
-import net.shibboleth.idp.attribute.filter.policyrule.impl.ScriptedPolicyRule;
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.BeanCreationException;
@@ -37,10 +29,17 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
+import net.shibboleth.ext.spring.factory.EvaluableScriptFactoryBean;
+import net.shibboleth.idp.attribute.filter.matcher.impl.ScriptedMatcher;
+import net.shibboleth.idp.attribute.filter.policyrule.impl.ScriptedPolicyRule;
+import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.ElementSupport;
+
 /**
  * Bean definition parser for {@link ScriptedPolicyRule} or {@link ScriptedMatcher} objects.
  */
-public class ScriptedMatcherParser extends AbstractWarningFilterParser {
+public class ScriptedMatcherParser extends BaseFilterParser {
 
     /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Script");
@@ -55,11 +54,6 @@ public class ScriptedMatcherParser extends AbstractWarningFilterParser {
     private final Logger log = LoggerFactory.getLogger(ScriptedMatcherParser.class);
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
         if (isPolicyRule(element)) {
             return ScriptedPolicyRule.class;
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java
deleted file mode 100644
index 041cfa7..0000000
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AbstractWarningFilterParser.java
+++ /dev/null
@@ -1,36 +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.idp.attribute.filter.spring.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
-
-/**
- * A special case version of {@link BaseFilterParser} which warns if the legacy name is used.
- */
-public abstract class AbstractWarningFilterParser extends BaseFilterParser {
-
-    /**
-     * Helper function to assist rewrite from old to new QName.
-     * 
-     * @return the "new" type
-     */
-    protected abstract QName getAFPName();
-
-}
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
index 84fe1db..4035068 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
@@ -19,15 +19,15 @@ package net.shibboleth.idp.attribute.filter.spring.matcher;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.idp.attribute.filter.MatcherFromPolicy;
-import net.shibboleth.idp.attribute.filter.PolicyFromMatcher;
-import net.shibboleth.idp.attribute.filter.PolicyFromMatcherId;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
-
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
+import net.shibboleth.idp.attribute.filter.MatcherFromPolicy;
+import net.shibboleth.idp.attribute.filter.PolicyFromMatcher;
+import net.shibboleth.idp.attribute.filter.PolicyFromMatcherId;
+import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
+
 /**
  * Base function for all Attribute Value matchers. <br/>
  * 
@@ -52,7 +52,7 @@ import org.w3c.dom.Element;
  * </tr>
  * </table>
  */
-public abstract class BaseAttributeValueMatcherParser extends AbstractWarningFilterParser {
+public abstract class BaseAttributeValueMatcherParser extends BaseFilterParser {
     
     /** ATTRIBUTE ID string. */
     public static final String ATTRIBUTE_ID = "attributeID";
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
index 3de62ba..0cf70e1 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
@@ -33,11 +33,6 @@ public class AttributeScopeMatcherParser extends AbstractStringMatcherParser {
             "Scope");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override
     @Nonnull protected Class<?> getNativeBeanClass() {
         return AttributeScopeStringMatcher.class;
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
index cdfe554..02dd74c 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
@@ -32,11 +32,6 @@ public class AttributeScopeRegexMatcherParser extends AbstractRegexMatcherParser
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ScopeRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getNativeBeanClass() {
         return AttributeScopeRegexpMatcher.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
index 6add4b5..2761469 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
@@ -32,11 +32,6 @@ public class AttributeValueRegexMatcherParser extends AbstractRegexMatcherParser
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ValueRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getNativeBeanClass() {
         return AttributeValueRegexpMatcher.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
index 062ce81..919ed75 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
@@ -32,11 +32,6 @@ public class AttributeValueStringMatcherParser extends AbstractStringMatcherPars
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Value");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<?> getNativeBeanClass() {
         return AttributeValueStringMatcher.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
index 66b5650..4734364 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
@@ -19,14 +19,14 @@ package net.shibboleth.idp.attribute.filter.spring.policyrule;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.idp.attribute.filter.MatcherFromPolicy;
-import net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser;
-import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatcherParser;
-
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
+import net.shibboleth.idp.attribute.filter.MatcherFromPolicy;
+import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
+import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatcherParser;
+
 /**
  * Base function for all natural policy rules. <br/>
  * This function takes care of the bean nesting needed to convert the bean (which is a natural policy rule) into the
@@ -42,7 +42,7 @@ import org.w3c.dom.Element;
  * </tr>
  * </table>
  */
-public abstract class BasePolicyRuleParser extends AbstractWarningFilterParser {
+public abstract class BasePolicyRuleParser extends BaseFilterParser {
 
     /**
      * Helper function to determine if the Attribute Matcher has the attribute Id Specified.
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
index cf160c8..0cfaba6 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRegexRuleParser.java
@@ -32,11 +32,6 @@ public class AttributeIssuerRegexRuleParser extends AbstractRegexPolicyRuleParse
     @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "IssuerRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeIssuerRegexpPolicyRule> getNativeBeanClass() {
         return AttributeIssuerRegexpPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
index 64e616f..84a5742 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeIssuerRuleParser.java
@@ -35,10 +35,4 @@ public class AttributeIssuerRuleParser extends AbstractStringPolicyRuleParser {
     @Override @Nonnull protected Class<AttributeIssuerPolicyRule> getNativeBeanClass() {
         return AttributeIssuerPolicyRule.class;
     }
-
-    /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
 }
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
index 2576fa0..15ccffd 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
@@ -32,11 +32,6 @@ public class AttributeRequesterRegexRuleParser extends AbstractRegexPolicyRulePa
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "RequesterRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeRequesterRegexpPolicyRule> getNativeBeanClass() {
         return AttributeRequesterRegexpPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
index 739c84d..0763701 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
@@ -32,11 +32,6 @@ public class AttributeRequesterRuleParser extends AbstractStringPolicyRuleParser
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Requester");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeRequesterPolicyRule> getNativeBeanClass() {
         return AttributeRequesterPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
index fe306c4..21071c6 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRegexRuleParser.java
@@ -38,11 +38,6 @@ public class AuthenticationMethodRegexRuleParser extends AbstractRegexPolicyRule
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethodRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AuthenticationMethodRegexpPolicyRule> getNativeBeanClass() {
         return AuthenticationMethodRegexpPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
index 2da641d..ed94ce7 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AuthenticationMethodRuleParser.java
@@ -38,11 +38,6 @@ public class AuthenticationMethodRuleParser extends AbstractStringPolicyRulePars
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AuthenticationMethod");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AuthenticationMethodPolicyRule> getNativeBeanClass() {
         return AuthenticationMethodPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
index b7def05..c7fd595 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
@@ -38,11 +38,6 @@ public class NumOfAttributeValuesRuleParser extends BasePolicyRuleParser {
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NumberOfAttributeValues");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<NumOfAttributeValuesPolicyRule> getNativeBeanClass() {
         return NumOfAttributeValuesPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
index 695c622..c4a4e08 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
@@ -38,11 +38,6 @@ public class PredicateRuleParser extends BasePolicyRuleParser {
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Predicate");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<PredicatePolicyRule> getNativeBeanClass() {
         return PredicatePolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
index 36df8da..f4e786a 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
@@ -32,11 +32,6 @@ public class PrincipalNameRegexRuleParser extends AbstractRegexPolicyRuleParser
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalNameRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<PrincipalNameRegexpPolicyRule> getNativeBeanClass() {
         return PrincipalNameRegexpPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
index 4aff2f1..14d834e 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
@@ -29,15 +29,9 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
 public class PrincipalNameRuleParser extends AbstractStringPolicyRuleParser {
 
     /** Schema type. */
-    /** Schema type. */
     public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalName");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<PrincipalNamePolicyRule> getNativeBeanClass() {
         return PrincipalNamePolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
index a4f74c5..ff036ae 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRegexRuleParser.java
@@ -32,11 +32,6 @@ public class ProxiedRequesterRegexRuleParser extends AbstractRegexPolicyRulePars
     @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequesterRegex");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<ProxiedRequesterRegexpPolicyRule> getNativeBeanClass() {
         return ProxiedRequesterRegexpPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
index 470f0d6..9aa9ee5 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProxiedRequesterRuleParser.java
@@ -32,11 +32,6 @@ public class ProxiedRequesterRuleParser extends AbstractStringPolicyRuleParser {
     @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequester");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<ProxiedRequesterPolicyRule> getNativeBeanClass() {
         return ProxiedRequesterPolicyRule.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
index df0a49d..eacbc9d 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
@@ -39,11 +39,6 @@ public class AttributeInMetadataRuleParser extends BaseAttributeValueMatcherPars
             "AttributeInMetadata");
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override @Nonnull protected Class<AttributeInMetadataMatcher> getNativeBeanClass() {
         return AttributeInMetadataMatcher.class;
     }
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
index e58c42e..e40a5ea 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeExactRuleParser.java
@@ -42,11 +42,6 @@ public class AttributeRequesterEntityAttributeExactRuleParser extends AbstractEn
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
index 60fa12b..b92549f 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterEntityAttributeRegexRuleParser.java
@@ -43,11 +43,6 @@ public class AttributeRequesterEntityAttributeRegexRuleParser extends AbstractEn
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
index bcba5b4..a7b1d8b 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterInEntityGroupRuleParser.java
@@ -43,11 +43,6 @@ public class AttributeRequesterInEntityGroupRuleParser extends BasePolicyRulePar
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
 
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
index 1546232..50ddb07 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeRequesterNameIdFormatRuleParser.java
@@ -44,11 +44,6 @@ public class AttributeRequesterNameIdFormatRuleParser extends BasePolicyRulePars
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
 
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
index d83b6be..a73fe2f 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
@@ -44,11 +44,6 @@ public class MappedAttributeInMetadataRuleParser extends BaseAttributeValueMatch
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
         super.doParse(config, builder);
diff --git a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
index 9cd00ba..f27e050 100644
--- a/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
+++ b/idp-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RegistrationAuthorityRuleParser.java
@@ -56,11 +56,6 @@ public class RegistrationAuthorityRuleParser extends BasePolicyRuleParser {
     }
 
     /** {@inheritDoc} */
-    @Override protected QName getAFPName() {
-        return SCHEMA_TYPE;
-    }
-
-    /** {@inheritDoc} */
     @Override protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
             @Nonnull final BeanDefinitionBuilder builder) {
 

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


More information about the commits mailing list