[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