[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl: AbstractM...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Sep 27 20:02:22 EDT 2013
Author: putmanb
Date: Fri Sep 27 20:02:21 2013
New Revision: 3456
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3456&view=rev
Log:
Get rid of legacy Base- vs Abstract- MetadataResolver superclasses, collapse into AbstractMetadataResolver.
Seems unnecessary at this point and also violates our current nominal abstract class naming conventions.
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/BaseMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/ChainingMetadataResolver.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/CompositeMetadataResolver.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java?rev=3456&r1=3455&r2=3456&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractMetadataResolver.java Fri Sep 27 20:02:21 2013
@@ -24,11 +24,13 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.utilities.java.support.component.AbstractDestructableIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -40,9 +42,13 @@
import org.opensaml.core.criterion.EntityIdCriterion;
import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.io.Unmarshaller;
+import org.opensaml.core.xml.io.UnmarshallerFactory;
import org.opensaml.core.xml.io.UnmarshallingException;
+import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
+import org.opensaml.saml.metadata.resolver.filter.MetadataFilter;
import org.opensaml.saml.saml2.common.SAML2Helper;
import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
@@ -53,10 +59,20 @@
import com.google.common.base.Strings;
/** An abstract, base, implementation of a metadata provider. */
-public abstract class AbstractMetadataResolver extends BaseMetadataResolver {
+public abstract class AbstractMetadataResolver extends AbstractDestructableIdentifiableInitializableComponent
+ implements MetadataResolver {
/** Class logger. */
private final Logger log = LoggerFactory.getLogger(AbstractMetadataResolver.class);
+
+ /** Unmarshaller factory used to get an unmarshaller for the metadata DOM. */
+ private UnmarshallerFactory unmarshallerFactory;
+
+ /** Whether metadata is required to be valid. */
+ private boolean requireValidMetadata;
+
+ /** Filter applied to all metadata. */
+ private MetadataFilter mdFilter;
/**
* Whether problems during initialization should cause the provider to fail or go on without metadata. The
@@ -74,6 +90,88 @@
public AbstractMetadataResolver() {
super();
failFastInitialization = true;
+ unmarshallerFactory = XMLObjectProviderRegistrySupport.getUnmarshallerFactory();
+ setId(UUID.randomUUID().toString());
+ }
+
+ /** {@inheritDoc} */
+ public boolean isRequireValidMetadata() {
+ return requireValidMetadata;
+ }
+
+ /** {@inheritDoc} */
+ public void setRequireValidMetadata(boolean require) {
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+ requireValidMetadata = require;
+ }
+
+ /** {@inheritDoc} */
+ @Nullable public MetadataFilter getMetadataFilter() {
+ return mdFilter;
+ }
+
+ /** {@inheritDoc} */
+ public void setMetadataFilter(@Nullable MetadataFilter newFilter) {
+ ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+ ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
+ mdFilter = newFilter;
+ }
+
+ /**
+ * Gets whether problems during initialization should cause the provider to fail or go on without metadata. The
+ * assumption being that in most cases a provider will recover at some point in the future.
+ *
[... 226 lines stripped ...]
More information about the commits
mailing list