From 75013d037ebad0a581bc22c1dd954db4b1ff164a Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Mon, 10 Sep 2018 16:56:33 -0700 Subject: [PATCH] [SHIBUI-570] Swapped MetadataResolverConverterServiceImpl's @Service annotation out for a new Configuration class with a new Bean declaration. How was this even working? Updated OpenSamlChainingMetadataResolver to initialize mutableResolvers with a new ArrayList instead of Collections.emptyList. Big mistake. Also, overrode resolve() to use the mutableResolvers list instead of the (empty) original resolvers list. Added new OpenSamlBatchMetadataResolverDelegate to handle refilter(). Added refilter() to all Batch-ish OpenSaml resolvers. Removed refreshOrInitResolver from filter controller. Not needed. Added refilter() calls in JPAMetadataResolverServiceImpl.reloadFilters. --- ...OpenSamlBatchMetadataResolverDelegate.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlBatchMetadataResolverDelegate.java diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlBatchMetadataResolverDelegate.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlBatchMetadataResolverDelegate.java new file mode 100644 index 000000000..855de838f --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlBatchMetadataResolverDelegate.java @@ -0,0 +1,19 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml; + +import org.opensaml.core.xml.XMLObject; +import org.opensaml.saml.metadata.resolver.impl.AbstractBatchMetadataResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Bill Smith (wsmith@unicon.net) + */ +public class OpenSamlBatchMetadataResolverDelegate extends AbstractBatchMetadataResolver { + private static final Logger logger = LoggerFactory.getLogger(OpenSamlBatchMetadataResolverDelegate.class); + + //TODO: Not sure this delegate is really buying us anything.. other than to get this one line in to a shared class. + //Maybe we'll do more in here later? + public void refilter(AbstractBatchMetadataResolver.BatchEntityBackingStore backingStore, XMLObject filteredMetadata) { + backingStore.setCachedFilteredMetadata(filteredMetadata); + } +}