[java-identity-provider] 34/51: IDP-1121 sourceAttributeID is no more

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:43:05 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=80f651558c8f7abcec13bdca9395f6408c4605df

commit 80f651558c8f7abcec13bdca9395f6408c4605df
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jan 27 13:44:28 2019 +0000

    IDP-1121 sourceAttributeID is no more
    
    https://issues.shibboleth.net/jira/browse/IDP-1121
    
    This checkin removed them from Computed Data Connectors.
---
 .../dc/impl/ComputedIDDataConnectorTest.java       |  6 -----
 .../dc/impl/StoredIDDataConnectorTest.java         |  7 +++--
 .../dc/impl/BaseComputedIDDataConnectorParser.java |  9 -------
 .../dc/ComputedIDDataConnectorParserTest.java      | 19 ++++++-------
 .../impl/AbstractPersistentIdDataConnector.java    | 31 ++--------------------
 .../schema/shibboleth-attribute-resolver.xsd       | 15 -----------
 6 files changed, 13 insertions(+), 74 deletions(-)

diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
index 44f7a38..2d03a0f 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
@@ -125,7 +125,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         connector.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency(
                 TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR)));
         connector.setSalt(smallSalt);
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         connector.setGeneratedAttributeId(TEST_ATTRIBUTE_NAME);
         Assert.assertEquals(connector.getSalt(), smallSalt);
         testInit(connector, "Small salt");
@@ -153,7 +152,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency(
                 TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR)));
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         if (!noSalt) {
             connector.setSalt(salt);
         }
@@ -182,7 +180,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setAttributeDependencies(Collections.singleton(TestSources.makeAttributeDefinitionDependency(dependantOn)));
         connector.setSalt(salt);
-        connector.setSourceAttributeId(dependantOn);
 
         final SimpleAttributeDefinition simple = new SimpleAttributeDefinition();
         simple.setId(OUTPUT_ATTRIBUTE_NAME);
@@ -260,7 +257,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
     @Test public void attributeFails() throws ComponentInitializationException, ResolutionException {
         AttributeResolver resolver = constructResolver(3);
 
-        connectorFromResolver(resolver).setSourceAttributeId(/*TestSources.STATIC_ATTRIBUTE_NAME + */ "1");
         connectorFromResolver(resolver).initialize();
         ComponentSupport.initialize(resolver);
 
@@ -350,7 +346,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         final ComputedIDDataConnector connector = new ComputedIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setDataConnectorDependencies(Collections.singleton(depend));
-        connector.setSourceAttributeId(ResolverTestSupport.EPA_ATTRIB_ID);
         connector.setSalt(salt);
         connector.setGeneratedAttributeId("wibble");
         connector.initialize();
@@ -380,7 +375,6 @@ public class ComputedIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         final ComputedIDDataConnector connector = new ComputedIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setDataConnectorDependencies(Collections.singleton(depend));
-        connector.setSourceAttributeId(ResolverTestSupport.EPA_ATTRIB_ID);
         connector.setSalt(salt);
         connector.setGeneratedAttributeId("wibble");
         connector.initialize();
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StoredIDDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StoredIDDataConnectorTest.java
index d58f186..7ffb811 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StoredIDDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StoredIDDataConnectorTest.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.attribute.resolver.dc.impl;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.sql.SQLException;
+import java.util.Collections;
 import java.util.List;
 
 import javax.sql.DataSource;
@@ -28,6 +29,7 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.resolver.AttributeResolver;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.saml.attribute.resolver.impl.StoredIDDataConnector;
 import net.shibboleth.idp.saml.impl.TestSources;
@@ -89,19 +91,16 @@ public class StoredIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
 
         StoredIDDataConnector connector = new StoredIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         connector.setGeneratedAttributeId(TEST_ATTRIBUTE_NAME);
 
         tryInitialize(connector, "No DataSource");
         connector = new StoredIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         connector.setGeneratedAttributeId(TEST_ATTRIBUTE_NAME);
         connector.setDataSource(testSource);
 
         connector = new StoredIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         connector.setGeneratedAttributeId(TEST_ATTRIBUTE_NAME);
         connector.setDataSource(testSource);
         connector.setSalt(ComputedIDDataConnectorTest.smallSalt);
@@ -109,7 +108,6 @@ public class StoredIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
 
         connector = new StoredIDDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
-        connector.setSourceAttributeId(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
         connector.setGeneratedAttributeId(TEST_ATTRIBUTE_NAME);
         connector.setDataSource(testSource);
         connector.setSalt(ComputedIDDataConnectorTest.smallSalt);
@@ -125,6 +123,7 @@ public class StoredIDDataConnectorTest extends OpenSAMLInitBaseTestCase {
         } catch (final UninitializedComponentException e) {
             // OK
         }
+        connector.setAttributeDependencies(Collections.singleton(new ResolverAttributeDefinitionDependency("id")));
 
         connector.initialize();
         try {
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/BaseComputedIDDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/BaseComputedIDDataConnectorParser.java
index cfb298b..a61f123 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/BaseComputedIDDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/BaseComputedIDDataConnectorParser.java
@@ -100,15 +100,6 @@ public abstract class BaseComputedIDDataConnectorParser extends BaseResolverPlug
             builder.addPropertyValue("encoding", config.getAttributeNS(null, "encoding"));
         }
 
-        if (config.hasAttributeNS(null, "sourceAttributeID")) {
-            final String sourceAttribute = StringSupport.trimOrNull(config.getAttributeNS(null, "sourceAttributeID"));
-            builder.addPropertyValue("sourceAttributeId", sourceAttribute);
-            DeprecationSupport.warnOnce(ObjectType.ATTRIBUTE, "sourceAttributeID",
-                    parserContext.getReaderContext().getResource().getDescription(),
-                    InputAttributeDefinitionParser.ELEMENT_NAME.getLocalPart() + " or "
-                            + InputDataConnectorParser.ELEMENT_NAME.getLocalPart());
-        }
-
         final String salt;
         if (AttributeSupport.hasAttribute(config, new QName("salt"))) {
             salt = config.getAttributeNS(null, "salt");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
index 270c9a3..b26a967 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
@@ -17,15 +17,6 @@
 
 package net.shibboleth.idp.attribute.resolver.spring.dc;
 
-import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
-import net.shibboleth.idp.attribute.resolver.spring.dc.impl.ComputedIDDataConnectorParser;
-import net.shibboleth.idp.saml.attribute.resolver.impl.ComputedIDDataConnector;
-import net.shibboleth.idp.saml.nameid.impl.ComputedPersistentIdGenerationStrategy.Encoding;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
 import org.springframework.core.env.MutablePropertySources;
@@ -34,6 +25,14 @@ import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
+import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
+import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
+import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
+import net.shibboleth.idp.attribute.resolver.spring.dc.impl.ComputedIDDataConnectorParser;
+import net.shibboleth.idp.saml.attribute.resolver.impl.ComputedIDDataConnector;
+import net.shibboleth.idp.saml.nameid.impl.ComputedPersistentIdGenerationStrategy.Encoding;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+
 /**
  * test for {@link ComputedIDDataConnectorParser}
  */
@@ -44,7 +43,6 @@ public class ComputedIDDataConnectorParserTest extends BaseAttributeDefinitionPa
         final ComputedIDDataConnector connector = getDataConnector("resolver/computed.xml", ComputedIDDataConnector.class);
         
         Assert.assertEquals(connector.getId(), "computed");
-        Assert.assertNull(connector.getSourceAttributeId());
         Assert.assertEquals(connector.getGeneratedAttributeId(), "jenny");
         Assert.assertEquals(connector.getSalt(), "abcdefghijklmnopqrst ".getBytes());
         Assert.assertEquals(connector.getSourceAttributeInformation(), "theSourceRemainsTheSame");
@@ -58,7 +56,6 @@ public class ComputedIDDataConnectorParserTest extends BaseAttributeDefinitionPa
         final ComputedIDDataConnector connector = getDataConnector("resolver/computedDataConnector.xml", ComputedIDDataConnector.class);
 
         Assert.assertEquals(connector.getId(), "computed");
-        Assert.assertNull(connector.getSourceAttributeId());
         Assert.assertEquals(connector.getGeneratedAttributeId(), "jenny");
         Assert.assertEquals(connector.getSalt(), "abcdefghijklmnopqrst ".getBytes());
         Assert.assertEquals(connector.getSourceAttributeInformation(), "DC/theSourceRemainsTheSame");
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java
index 46c347e..aeda4d8 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/attribute/resolver/impl/AbstractPersistentIdDataConnector.java
@@ -53,22 +53,10 @@ public abstract class AbstractPersistentIdDataConnector extends AbstractDataConn
     /** ID of the attribute generated by this data connector. */
     @NonnullAfterInit private String generatedAttribute;
 
-    /** ID of the attribute whose first value is used when generating the computed ID. */
-    @NonnullAfterInit private String sourceAttribute;
-
     /** Information about the dependency. */
     @NonnullAfterInit private String sourceInformation;
 
     /**
-     * Get the ID of the attribute whose first value is used when generating the computed ID.
-     * 
-     * @return ID of the attribute whose first value is used when generating the computed ID
-     */
-    @Nullable @Deprecated public String getSourceAttributeId() {
-        return sourceAttribute;
-    }
-    
-    /**
      * Get Information about the attribute whose first value is used when generating the computed ID.
      * This is derived from the sourceID (if present) and/or the dependencies.  
      * Public purely as an aid to testing.
@@ -81,16 +69,6 @@ public abstract class AbstractPersistentIdDataConnector extends AbstractDataConn
     }
 
     /**
-     * Set the ID of the attribute whose first value is used when generating the computed ID.
-     * 
-     * @param newAttributeId what to set.
-     */
-    public void setSourceAttributeId(@Nullable final String newAttributeId) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        sourceAttribute = StringSupport.trimOrNull(newAttributeId);
-    }
-
-    /**
      * Get the ID of the attribute generated by this connector.
      * 
      * @return ID of the attribute generated by this connector
@@ -150,13 +128,8 @@ public abstract class AbstractPersistentIdDataConnector extends AbstractDataConn
         }
         
         if (!seenAttribute) {
-            if (null == getSourceAttributeId()) {
-                throw new ComponentInitializationException(getLogPrefix() + " No source attribute present.");
-            } else {
-                log.warn("{} source Attribute {} present, but not declared as a dependency", getLogPrefix(), 
-                        getSourceAttributeId());
-                dependencyInformation.append(getSourceAttributeId());
-            }
+            throw new ComponentInitializationException(getLogPrefix() +
+                    " No source attribute present in the supplied Dependencies");
         }
         sourceInformation = dependencyInformation.toString();
         log.debug("{} Source for definition: {}", getLogPrefix(), sourceInformation);
diff --git a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index 9687ccd..1fb60e0 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -736,14 +736,6 @@
                         </documentation>
                     </annotation>
                 </attribute>
-                <attribute name="sourceAttributeID" type="string" >
-                    <annotation>
-                        <documentation>
-                            The name of the attribute which should be used to as input to the computed ID.
-                            Legacy only.  Use InputAttributeDefinition or InputDataConnector
-                        </documentation>
-                    </annotation>
-                </attribute>
                 <attribute name="salt" type="string" use="required">
                     <annotation>
                         <documentation>
@@ -1458,13 +1450,6 @@
                         </documentation>
                     </annotation>
                 </attribute>
-                <attribute name="sourceAttributeID" type="string" >
-                    <annotation>
-                        <documentation>
-                            The name of the attribute which should be used to as input to the computed ID.
-                        </documentation>
-                    </annotation>
-                </attribute>
                 <attribute name="salt" type="string">
                     <annotation>
                         <documentation>

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


More information about the commits mailing list