[java-shib-attribute] 02/06: JSATTR-5 Remove Deprecations https://shibboleth.atlassian.net/browse/JSATTR-5
Rod Widdowson
rdw at steadingsoftware.com
Thu Nov 24 11:02:02 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-shib-attribute.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=a04b6236389cda315604b0251daec0167ef374c5
commit a04b6236389cda315604b0251daec0167ef374c5
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Nov 21 16:53:17 2022 +0000
JSATTR-5 Remove Deprecations
https://shibboleth.atlassian.net/browse/JSATTR-5
Expunge exportAllAttributes from the data connectors
---
.../attribute/resolver/AbstractDataConnector.java | 21 ---------------------
.../idp/attribute/resolver/DataConnector.java | 10 ----------
.../attribute/resolver/ResolvedDataConnector.java | 10 ----------
.../resolver/AbstractDataConnectorTest.java | 4 ----
.../resolver/impl/AttributeResolverImpl.java | 8 +++-----
.../resolver/impl/AttributeResolverImplTest.java | 22 ++++++++--------------
.../spring/dc/AbstractDataConnectorParser.java | 17 +----------------
.../schema/shibboleth-attribute-resolver.xsd | 5 -----
.../dc/http/impl/HTTPDataConnectorParserTest.java | 2 --
.../dc/impl/ComputedIdDataConnectorParserTest.java | 4 +---
.../dc/impl/StaticDataConnectorParserTest.java | 6 +-----
.../spring/dc/resolver/staticAttributesRef.xml | 1 -
12 files changed, 14 insertions(+), 96 deletions(-)
diff --git a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
index 18ad04a41..8cf77c452 100644
--- a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
+++ b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
@@ -63,10 +63,6 @@ public abstract class AbstractDataConnector extends AbstractResolverPlugin<Map<S
/** How long to wait until we declare the connector live again. */
@Nonnull private Duration noRetryDelay;
- /** Do we release all attributes?. */
- @Deprecated(since = "4.1.0", forRemoval = true)
- private boolean exportAllAttributes;
-
/** Which named attributes do we release?. */
@Nonnull @NonnullElements @Unmodifiable private Collection<String> exportAttributes;
@@ -149,23 +145,6 @@ public abstract class AbstractDataConnector extends AbstractResolverPlugin<Map<S
return noRetryDelay;
}
- /**
- * Set whether we export all attributes.
- *
- * @param what whether we export all attributes
- */
- @Deprecated(since = "4.1.0", forRemoval = true)
- public void setExportAllAttributes(final boolean what) {
- checkSetterPreconditions();
- exportAllAttributes = what;
- }
-
- /** {@inheritDoc} */
- @Deprecated(since = "4.1.0", forRemoval = true)
- public boolean isExportAllAttributes() {
- return exportAllAttributes;
- }
-
/**
* Sets the list of attribute names to export during resolution.
*
diff --git a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
index df25bcddb..4179b71f2 100644
--- a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
+++ b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
@@ -73,16 +73,6 @@ public interface DataConnector extends ResolverPlugin<Map<String, IdPAttribute>>
*/
@Nullable String getFailoverDataConnectorId();
- /**
- * Gets whether we export all attributes during resolution.
- * <p>
- * If this returns false then {@link #getExportAttributes()} returns the
- * list of attributes to return.
- *
- * @return whether we export all attributes
- */
- boolean isExportAllAttributes();
-
/**
* Gets the list of attribute names to export during resolution.
*
diff --git a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnector.java b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnector.java
index 82f2ce247..f5772a743 100644
--- a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnector.java
+++ b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnector.java
@@ -130,16 +130,6 @@ public final class ResolvedDataConnector extends AbstractDataConnector {
return resolvedConnector.toString();
}
- /** {@inheritDoc} */
- @Override public void setExportAllAttributes(final boolean what) {
- checkSetterPreconditions();
- }
-
- /** {@inheritDoc} */
- @Override public boolean isExportAllAttributes() {
- return resolvedConnector.isExportAllAttributes();
- }
-
/** {@inheritDoc} */
@Override public void setExportAttributes(@Nonnull final Collection<String> what) {
checkSetterPreconditions();
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
index b108a7dde..6d800f173 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.attribute.resolver;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
@@ -98,10 +97,7 @@ public class AbstractDataConnectorTest {
@Test public void testExports() {
final AbstractDataConnector connector = new MockBaseDataConnector("foo", null);
- assertFalse(connector.isExportAllAttributes());
assertTrue(connector.getExportAttributes().isEmpty());
- connector.setExportAllAttributes(true);
- assertTrue(connector.isExportAllAttributes());
connector.setExportAttributes(List.of("bar", "foo", "bar", "foo"));
assertEquals(connector.getExportAttributes().size(), 2);
}
diff --git a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
index f8d2c4fa6..c5df50535 100644
--- a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
+++ b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
@@ -211,8 +211,7 @@ public class AttributeResolverImpl extends AbstractServiceableComponent<Attribut
boolean hasExportingDataConnector = false;
for (final Entry<String, DataConnector> dataConnectorEntry : dataConnectors.entrySet()) {
- if (dataConnectorEntry.getValue().isExportAllAttributes() ||
- !dataConnectorEntry.getValue().getExportAttributes().isEmpty()) {
+ if (!dataConnectorEntry.getValue().getExportAttributes().isEmpty()) {
hasExportingDataConnector = true;
resolveDataConnector(dataConnectorEntry.getKey(), resolutionContext);
}
@@ -524,7 +523,7 @@ public class AttributeResolverImpl extends AbstractServiceableComponent<Attribut
for (final ResolvedDataConnector dataConnector: workContext.getResolvedDataConnectors().values()) {
- if (!dataConnector.isExportAllAttributes() && dataConnector.getExportAttributes().isEmpty()) {
+ if (dataConnector.getExportAttributes().isEmpty()) {
continue;
}
@@ -534,8 +533,7 @@ public class AttributeResolverImpl extends AbstractServiceableComponent<Attribut
}
for (final IdPAttribute attribute:resolved.values()) {
- if (!dataConnector.isExportAllAttributes() &&
- !dataConnector.getExportAttributes().contains(attribute.getId())) {
+ if (!dataConnector.getExportAttributes().contains(attribute.getId())) {
continue;
}
if (resolvedAttributes.get(attribute.getId()) != null) {
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
index 2de98237a..f18baf1c5 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
@@ -190,7 +190,6 @@ public class AttributeResolverImplTest {
assertEquals(context.getResolvedIdPAttributes().get("ad1"), attribute);
}
- @SuppressWarnings("removal")
@Test public void resolveWithExports() throws Exception {
final IdPAttribute attribute1 = new IdPAttribute("ad1");
@@ -202,13 +201,8 @@ public class AttributeResolverImplTest {
final IdPAttribute attribute4 = new IdPAttribute("ad4");
attribute4.setValues(Collections.singletonList(new StringAttributeValue("value3")));
- // Connector1 contributes attribute1 and attribute2
- final StaticDataConnector connector1 = new StaticDataConnector();
- connector1.setId("dc1");
- connector1.setValues(List.of(attribute1, attribute2));
- connector1.setExportAllAttributes(true);
-
- // Connector1 contributes attribute2 and attribute3 (but not 4 or 1)
+ // Connector2 contributes attribute2, attribute3 attribute4 (but not 1)
+ // Connector2 exports 2 & 3 (and would export 1 if it created it)
final StaticDataConnector connector2 = new StaticDataConnector();
connector2.setId("dc2");
connector2.setValues(List.of(attribute2, attribute3, attribute4));
@@ -219,7 +213,8 @@ public class AttributeResolverImplTest {
connector3.setId("dc3");
connector3.setValues(List.of(attribute4));
- final AttributeResolverImpl resolver = newAttributeResolverImpl("foo", null, List.of(connector1, connector2, connector3));
+ final AttributeResolverImpl resolver = newAttributeResolverImpl("foo", null, List.of(connector2, connector3));
+
for (DataConnector connector : resolver.getDataConnectors().values()) {
connector.initialize();
}
@@ -228,9 +223,8 @@ public class AttributeResolverImplTest {
final AttributeResolutionContext context = new AttributeResolutionContext();
resolver.resolveAttributes(context);
- // should have resolved 1, 2 and 3
- assertEquals(context.getResolvedIdPAttributes().size(), 3);
- assertEquals(context.getResolvedIdPAttributes().get(attribute1.getId()), attribute1);
+ // should have resolved 2, 3
+ assertEquals(context.getResolvedIdPAttributes().size(), 2);
assertEquals(context.getResolvedIdPAttributes().get(attribute2.getId()), attribute2);
assertEquals(context.getResolvedIdPAttributes().get(attribute3.getId()), attribute3);
}
@@ -1025,8 +1019,8 @@ public class AttributeResolverImplTest {
final AttributeResolverImpl result = new AttributeResolverImpl();
result.setId(resolverId);
- result.setAttributeDefinitions(definitions == null ? Collections.EMPTY_LIST : definitions);
- result.setDataConnectors(connectors == null ? Collections.EMPTY_LIST : connectors);
+ result.setAttributeDefinitions(definitions == null ? Collections.emptyList() : definitions);
+ result.setDataConnectors(connectors == null ? Collections.emptyList() : connectors);
result.setApplicationContext(new MockApplicationContext());
return result;
}
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index 1dce785dd..9bce00782 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -31,8 +31,6 @@ import org.w3c.dom.Element;
import net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.primitive.DeprecationSupport;
-import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.util.SpringSupport;
import net.shibboleth.shared.xml.ElementSupport;
@@ -53,11 +51,6 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
/** Delay in retrying failed connector. */
@Nonnull @NotEmpty public static final String ATTR_NORETRYDELAY = "noRetryDelay";
- /**
- * Whether to export all attributes.
- */
- @Nonnull @NotEmpty public static final String ATTR_EXPORT_ALL = "exportAllAttributes";
-
/**
* Which attributes to export.
*/
@@ -98,15 +91,7 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_NORETRYDELAY)));
}
- if (config.hasAttributeNS(null, ATTR_EXPORT_ALL)) {
- if (config.hasAttributeNS(null, ATTR_EXPORT_NAMES)) {
- log.warn("{} {} overrides {}", getLogPrefix(), ATTR_EXPORT_ALL, ATTR_EXPORT_NAMES);
- }
- DeprecationSupport.warnOnce(ObjectType.ATTRIBUTE, "exportAllAttributes", null,
- "exportAttributes=\"attr1, attr2,...\"");
- builder.addPropertyValue("exportAllAttributes",
- StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_EXPORT_ALL)));
- } else if (config.hasAttributeNS(null, ATTR_EXPORT_NAMES)) {
+ if (config.hasAttributeNS(null, ATTR_EXPORT_NAMES)) {
builder.addPropertyValue("exportAttributes",
SpringSupport.getAttributeValueAsList(config.getAttributeNodeNS(null, ATTR_EXPORT_NAMES)));
}
diff --git a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index bf176546d..c6f5a2a9c 100644
--- a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -147,11 +147,6 @@
<documentation>Time to bypass connector after a failure before trying it again.</documentation>
</annotation>
</attribute>
- <attribute name="exportAllAttributes" type="resolver:string">
- <annotation>
- <documentation>DEPRECATED: Whether all attributes from this data connected are to be exported by the resolution process.</documentation>
- </annotation>
- </attribute>
<attribute name="exportAttributes" type="resolver:string">
<annotation>
<documentation>A list of attribute names to be exported by the resolution process from this data connector.</documentation>
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParserTest.java
index c07d0db51..2773beb7e 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParserTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.attribute.resolver.spring.dc.http.impl;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
@@ -299,7 +298,6 @@ public class HTTPDataConnectorParserTest {
"net/shibboleth/idp/attribute/resolver/spring/dc/http/http-attribute-resolver-v2-hybrid.xml",
"net/shibboleth/idp/attribute/resolver/spring/dc/http/http-attribute-resolver-spring-context.xml");
assertNotNull(connector);
- assertFalse(connector.isExportAllAttributes());
assertEquals(connector.getExportAttributes().size(), 2);
assertTrue(connector.getExportAttributes().contains("foo"));
assertTrue(connector.getExportAttributes().contains("bar"));
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParserTest.java
index 94a9622ea..bb5560f0c 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParserTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.attribute.resolver.spring.dc.impl;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import java.util.Collection;
@@ -61,8 +60,7 @@ public class ComputedIdDataConnectorParserTest extends BaseAttributeDefinitionPa
@Test public void resolverDataConnector() throws ComponentInitializationException {
final PairwiseIdDataConnector connector = getDataConnector("resolver/computedDataConnector.xml", PairwiseIdDataConnector.class);
final ComputedPairwiseIdStore store = (ComputedPairwiseIdStore) connector.getPairwiseIdStore();
- assertFalse(connector.isExportAllAttributes());
-
+
final Collection<String> exports = connector.getExportAttributes();
assertEquals(exports.size(), 2);
assertTrue(exports.contains("Joe"));
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParserTest.java
index 2c67cbd39..0924203f9 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParserTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.attribute.resolver.spring.dc.impl;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import java.util.List;
@@ -40,7 +39,6 @@ public class StaticDataConnectorParserTest extends BaseAttributeDefinitionParser
@Test public void simple() {
final StaticDataConnector connector = getDataConnector("resolver/staticAttributes.xml", StaticDataConnector.class);
- assertFalse(connector.isExportAllAttributes());
assertEquals(connector.getExportAttributes().size(), 2);
assertTrue(connector.getExportAttributes().contains("foo"));
assertTrue(connector.getExportAttributes().contains("bar"));
@@ -59,8 +57,7 @@ public class StaticDataConnectorParserTest extends BaseAttributeDefinitionParser
@Test public void ref() {
final StaticDataConnector connector = getDataConnector("resolver/staticAttributesRef.xml", StaticDataConnector.class);
- assertTrue(connector.isExportAllAttributes());
-
+
assertEquals(connector.getAttributes().keySet().size(), 2);
final IdPAttribute epe = connector.getAttributes().get("eduPersonEntitlement");
List<IdPAttributeValue> values = epe.getValues();
@@ -77,7 +74,6 @@ public class StaticDataConnectorParserTest extends BaseAttributeDefinitionParser
@Test public void nativesimple() {
final StaticDataConnector connector = getDataConnector("staticAttributesNative.xml", StaticDataConnector.class);
- assertFalse(connector.isExportAllAttributes());
assertTrue(connector.getExportAttributes().isEmpty());
assertEquals(connector.getAttributes().keySet().size(), 2);
final IdPAttribute epe = connector.getAttributes().get("eduPersonEntitlement");
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticAttributesRef.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticAttributesRef.xml
index 6b76e1cf7..28fb63379 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticAttributesRef.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticAttributesRef.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DataConnector id="staticAttributes" xsi:type="Static"
- exportAllAttributes="true"
xmlns="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"
attributeListRef="StaticConnectorValues">
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list