[java-identity-provider] 02/06: IDP-1121 Remove legacy default template for TemplateAttributeDefinition
Rod Widdowson
rdw at steadingsoftware.com
Wed Apr 3 02:29:46 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=3df5a9f70e4ca5a211bdc03e200d4929c98b1828
commit 3df5a9f70e4ca5a211bdc03e200d4929c98b1828
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Apr 2 16:26:37 2019 +0100
IDP-1121 Remove legacy default template for TemplateAttributeDefinition
https://issues.shibboleth.net/jira/browse/IDP-1121
---
.../ad/impl/TemplateAttributeDefinition.java | 53 ++--------------------
.../resolver/ad/impl/TemplateAttributeTest.java | 3 +-
.../ad/impl/TemplateAttributeDefinitionParser.java | 4 +-
3 files changed, 6 insertions(+), 54 deletions(-)
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
index 881f154..dcd0a05 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeDefinition.java
@@ -19,12 +19,10 @@ package net.shibboleth.idp.attribute.resolver.ad.impl;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -45,8 +43,6 @@ import net.shibboleth.idp.attribute.UnsupportedAttributeTypeException;
import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.PluginDependencySupport;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
-import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
@@ -96,7 +92,7 @@ public class TemplateAttributeDefinition extends AbstractAttributeDefinition {
/**
* Get the source attribute IDs.
- *
+ * @deprecated This should be inferred from the environment, but we keep this for V4
* @return the source attribute IDs
*/
@Deprecated @Nonnull @Unmodifiable @NonnullElements public List<String> getSourceAttributes() {
@@ -106,6 +102,7 @@ public class TemplateAttributeDefinition extends AbstractAttributeDefinition {
/**
* Set the source attribute IDs.
*
+ * @deprecated This should be inferred from the environment, but we keep this for V4
* @param newSourceAttributes the source attribute IDs
*/
@Deprecated public void setSourceAttributes(@Nonnull @NullableElements final List<String> newSourceAttributes) {
@@ -180,57 +177,13 @@ public class TemplateAttributeDefinition extends AbstractAttributeDefinition {
throw new ComponentInitializationException(getLogPrefix() + " no velocity engine was configured");
}
- checkSourceAttributes();
-
if (null == templateText) {
- // V2 compatibility - define our own template
- final StringBuffer defaultTemplate = new StringBuffer();
- for (final String id : sourceAttributes) {
- defaultTemplate.append("${").append(id).append("} ");
- }
- if (defaultTemplate.length() > 0) {
- templateText = defaultTemplate.toString();
- } else {
- throw new ComponentInitializationException(getLogPrefix()
- + " no template and no source attributes were configured");
- }
- log.info("{} No template supplied. Default generated was '{}'", getLogPrefix(), templateText);
+ throw new ComponentInitializationException(getLogPrefix() + " no template provided");
}
template = Template.fromTemplate(engine, templateText);
}
- /**
- * Check the provided source attributes against the provided dependencies.
- */
- private void checkSourceAttributes() {
- if (sourceAttributes.isEmpty()) {
- return;
- }
-
- final Set<String> dependencyAttributeNames = new HashSet<>(getAttributeDependencies().size() +
- getDataConnectorDependencies().size());
-
- for (final ResolverAttributeDefinitionDependency attrDep: getAttributeDependencies()) {
- dependencyAttributeNames.add(attrDep.getDependencyPluginId());
- }
-
- for (final ResolverDataConnectorDependency dcDep: getDataConnectorDependencies()) {
- if (dcDep.isAllAttributes()) {
- // No sensible check can be made if wild carding
- return;
- }
- dependencyAttributeNames.addAll(dcDep.getAttributeNames());
- }
-
-
- for (final String s: sourceAttributes) {
- if (!dependencyAttributeNames.contains(s)) {
- log.warn("{} Source Attribute {} is not provided as a dependency", getLogPrefix(),s);
- }
- }
- }
-
/** {@inheritDoc} */
@Override @Nonnull protected IdPAttribute doAttributeDefinitionResolve(
@Nonnull final AttributeResolutionContext resolutionContext,
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
index 7b1458e..4dbc771 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
@@ -178,8 +178,9 @@ public class TemplateAttributeTest {
// OK
}
attr.setSourceAttributes(Collections.singletonList(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR));
+ attr.setTemplateText( "${" + TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR + "}");
attr.initialize();
- Assert.assertEquals(attr.getTemplateText(), "${" + TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR + "} ");
+ Assert.assertEquals(attr.getTemplateText(), "${" + TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR + "}");
Assert.assertEquals(attr.getSourceAttributes().get(0), TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR);
Assert.assertEquals(attr.getSourceAttributes().size(), 1);
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
index bc2e8d0..8c1aa7c 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/TemplateAttributeDefinitionParser.java
@@ -70,9 +70,7 @@ public class TemplateAttributeDefinitionParser extends BaseAttributeDefinitionPa
final List<Element> templateElements = ElementSupport.getChildElements(config, TEMPLATE_ELEMENT_NAME_RESOLVER);
if (null == templateElements || templateElements.isEmpty()) {
- DeprecationSupport.warnOnce(ObjectType.ELEMENT, "Missing " + TEMPLATE_ELEMENT_NAME_RESOLVER.getLocalPart(),
- parserContext.getReaderContext().getResource().getDescription(),
- "by providing an explicit template");
+ log.error( "Missing " + TEMPLATE_ELEMENT_NAME_RESOLVER.getLocalPart() + " Element");
} else {
if (templateElements.size() > 1) {
log.warn("{} Too many <Template> elements, taking the first");
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list