[java-identity-provider] 03/03: IDP-1423 Remove deprecated configuration of ResourceBackedMetadataProvider

Rod Widdowson rdw at steadingsoftware.com
Fri Mar 1 09:28:31 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=385c91ad54b6f49b8289cea1617c4b463cb83723

commit 385c91ad54b6f49b8289cea1617c4b463cb83723
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Fri Mar 1 14:25:51 2019 +0000

    IDP-1423 Remove deprecated configuration of ResourceBackedMetadataProvider
    
    https://issues.shibboleth.net/jira/browse/IDP-1423
    
    The only supported thing is resourceRef.
    
    This means we can also strip out the "urn:mace:shibboleth:2.0:resource" namespace.
---
 .../metadata/impl/MetadataNamespaceHandler.java    |   4 -
 .../impl/ResourceBackedMetadataProviderParser.java | 193 ++-------------------
 .../resource/impl/ClasspathResourceParser.java     |  54 ------
 .../resource/impl/ResourceNamespaceHandler.java    |  84 ---------
 .../metadata/ResourceMetadataParserTest.java       | 130 --------------
 .../metadata/resourceClasspathEntities.xml         |  14 --
 .../metadata/resourceClasspathEntity.xml           |  14 --
 .../metadata/resourceFileBackedHTTPEntities.xml    |  19 --
 .../metadata/resourceFileBackedHTTPEntity.xml      |  18 --
 .../relyingparty/metadata/resourceFileEntities.xml |  14 --
 .../relyingparty/metadata/resourceFileEntity.xml   |  13 --
 .../relyingparty/metadata/resourceHTTPEntities.xml |  17 --
 .../relyingparty/metadata/resourceHTTPEntity.xml   |  16 --
 .../main/resources/schema/shibboleth-metadata.xsd  |  16 +-
 .../main/resources/schema/shibboleth-resource.xsd  | 126 --------------
 15 files changed, 12 insertions(+), 720 deletions(-)

diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
index 4c3585f..0c43256 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/MetadataNamespaceHandler.java
@@ -31,7 +31,6 @@ import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.Predi
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.RequiredValidUntilParser;
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.SchemaValidationParser;
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.SignatureValidationParser;
-import net.shibboleth.idp.profile.spring.resource.impl.ClasspathResourceParser;
 
 /** Namespace handler for <code>urn:mace:shibboleth:2.0:metadata</code>. */
 public class MetadataNamespaceHandler extends BaseSpringNamespaceHandler {
@@ -61,9 +60,6 @@ public class MetadataNamespaceHandler extends BaseSpringNamespaceHandler {
         registerBeanDefinitionParser(LocalDynamicMetadataProviderParser.ELEMENT_NAME,
                 new LocalDynamicMetadataProviderParser());
 
-        // Resources
-        registerBeanDefinitionParser(ClasspathResourceParser.ELEMENT_NAME, new ClasspathResourceParser());
-
         // Filters
         registerBeanDefinitionParser(RequiredValidUntilParser.TYPE_NAME, new RequiredValidUntilParser());
         registerBeanDefinitionParser(EntityAttributesFilterParser.TYPE_NAME, new EntityAttributesFilterParser());
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ResourceBackedMetadataProviderParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ResourceBackedMetadataProviderParser.java
index ca53ea4..d1c0602 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ResourceBackedMetadataProviderParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/ResourceBackedMetadataProviderParser.java
@@ -17,24 +17,10 @@
 
 package net.shibboleth.idp.profile.spring.relyingparty.metadata.impl;
 
-import java.util.List;
-
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.xml.namespace.QName;
 
-import net.shibboleth.ext.spring.resource.ResourceHelper;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.HttpClientFactoryBean;
-import net.shibboleth.idp.profile.spring.resource.impl.ClasspathResourceParser;
-import net.shibboleth.idp.profile.spring.resource.impl.ResourceNamespaceHandler;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
 import org.opensaml.saml.metadata.resolver.impl.AbstractBatchMetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.FileBackedHTTPMetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver;
@@ -50,6 +36,12 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
 import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
+import net.shibboleth.ext.spring.resource.ResourceHelper;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
+import net.shibboleth.idp.profile.spring.relyingparty.metadata.HttpClientFactoryBean;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.AttributeSupport;
+
 /**
  * Parser for a ResourceBackedMetadataProvider.
  * 
@@ -76,36 +68,11 @@ public class ResourceBackedMetadataProviderParser extends AbstractReloadingMetad
     /** {@inheritDoc} */
     @Override protected Class<? extends AbstractBatchMetadataResolver> getNativeBeanClass(final Element element) {
 
-        final List<Element> resources = ElementSupport.getChildElements(element, RESOURCES_NAME);
-        if (null == resources || resources.isEmpty()) {
-            if (AttributeSupport.hasAttribute(element, RESOURCE_REF)) {
-                return ResourceBackedMetadataResolver.class;
-            }
-
-            throw new BeanCreationException("No <Resource> specified for ResourceBackedMetadataProvider");
-        }
-
-        final QName qName = DOMTypeSupport.getXSIType(resources.get(0));
-        if (null == qName) {
-            log.error("No type specified for a <Resource> within a ResourceBackedMetadataProvider");
-            throw new BeanCreationException(
-                    "No type specified for a <Resource> within a ResourceBackedMetadataProvider");
-        }
-        log.debug("Comparing type '{}' against known Resources", qName.getLocalPart());
-
-        if (ClasspathResourceParser.ELEMENT_NAME.equals(qName)) {
+        if (AttributeSupport.hasAttribute(element, RESOURCE_REF)) {
             return ResourceBackedMetadataResolver.class;
-        } else if (ResourceNamespaceHandler.HTTP_ELEMENT_NAME.equals(qName)) {
-            return HTTPMetadataResolver.class;
-        } else if (ResourceNamespaceHandler.FILE_HTTP_ELEMENT_NAME.equals(qName)) {
-            return FileBackedHTTPMetadataResolver.class;
-        } else if (ResourceNamespaceHandler.FILESYSTEM_ELEMENT_NAME.equals(qName)) {
-            return FilesystemMetadataResolver.class;
         }
 
-        log.error("ResourceBackedMetadataProvider : Unrecognised resource type: {} ", qName.getLocalPart());
-        throw new BeanCreationException("ResourceBackedMetadataProvider : Unrecognised resource type: "
-                + qName.getLocalPart());
+        throw new BeanCreationException("No resourceRef specified for ResourceBackedMetadataProvider");
     }
 
     /** {@inheritDoc} */
@@ -113,74 +80,9 @@ public class ResourceBackedMetadataProviderParser extends AbstractReloadingMetad
             final BeanDefinitionBuilder builder) {
         super.doNativeParse(element, parserContext, builder);
 
-        if (element.hasAttributeNS(null, "maxCacheDuration")) {
-            log.error("{}: maxCacheDuration is not supported",
-                    parserContext.getReaderContext().getResource().getDescription());
-            throw new BeanDefinitionParsingException(new Problem("maxCacheDuration is not supported", new Location(
-                    parserContext.getReaderContext().getResource())));
-        }
-
-        final List<Element> resources = ElementSupport.getChildElements(element, RESOURCES_NAME);
-        if (resources.isEmpty()) {
-            parseResource(StringSupport.trimOrNull(AttributeSupport.getAttributeValue(element, RESOURCE_REF)),
-                    parserContext, builder);
-            return;
-        }
-        DeprecationSupport.warnOnce(ObjectType.ELEMENT, "Resource",
-                parserContext.getReaderContext().getResource().getDescription(),
-                "resourceRef property");
-        
-        if (resources.size() != 1) {
-            log.error("{}: Only one Resource may be supplied to a ResourceBackedMetadataProvider", parserContext
-                    .getReaderContext().getResource().getDescription());
-            throw new BeanDefinitionParsingException(new Problem(
-                    "Only one Resource may be supplied to a ResourceBackedMetadataProvider", new Location(parserContext
-                            .getReaderContext().getResource())));
-        }
-
-        ResourceNamespaceHandler.noFilters(resources.get(0), parserContext.getReaderContext());
-
-        final QName qName = DOMTypeSupport.getXSIType(resources.get(0));
-        log.debug("Dispatching based on type '{}'", qName.getLocalPart());
-
-        if (ClasspathResourceParser.ELEMENT_NAME.equals(qName)) {
-
-            parseResource(resources.get(0), parserContext, builder);
-
-        } else if (ResourceNamespaceHandler.HTTP_ELEMENT_NAME.equals(qName)) {
-
-            DeprecationSupport.warn(ObjectType.ELEMENT, ResourceNamespaceHandler.HTTP_ELEMENT_NAME.toString(),
-                    parserContext.getReaderContext().getResource().getDescription(),
-                    FileBackedHTTPMetadataProviderParser.ELEMENT_NAME.toString());
-            parseHTTPResource(resources.get(0), parserContext, builder);
+        final String beanRef = StringSupport.trimOrNull(AttributeSupport.getAttributeValue(element, RESOURCE_REF));
 
-        } else if (ResourceNamespaceHandler.FILE_HTTP_ELEMENT_NAME.equals(qName)) {
-
-            DeprecationSupport.warn(ObjectType.ELEMENT, ResourceNamespaceHandler.FILE_HTTP_ELEMENT_NAME.toString(),
-                    parserContext.getReaderContext().getResource().getDescription(),
-                    FileBackedHTTPMetadataProviderParser.ELEMENT_NAME.toString());
-            parseFileBackedHTTPResource(resources.get(0), parserContext, builder);
-
-        } else if (ResourceNamespaceHandler.FILESYSTEM_ELEMENT_NAME.equals(qName)) {
-
-            DeprecationSupport.warn(ObjectType.ELEMENT, ResourceNamespaceHandler.FILESYSTEM_ELEMENT_NAME.toString(),
-                    parserContext.getReaderContext().getResource().getDescription(),
-                    FilesystemMetadataProviderParser.ELEMENT_NAME.toString());
-            parseFilesystemResource(resources.get(0), parserContext, builder);
-        }
-    }
-    
-    /**
-     * Parse the provided Attribute and populate an appropriate {@link ResourceBackedMetadataResolver}.
-     * 
-     * @param beanReference the reference
-     * @param parserContext the parser context
-     * @param builder the builder for the {@link ResourceBackedMetadataResolver}.
-     */
-    private void parseResource(@Nullable final String beanReference, final ParserContext parserContext,
-            @Nonnull final BeanDefinitionBuilder builder) {
-
-        if (null == beanReference) {
+        if (null == beanRef) {
             log.error("{} must not be empty", RESOURCE_REF.getLocalPart());
             throw new BeanDefinitionParsingException(new Problem(
                     "Empty bean reference for a ResourceBackedMetadataProvider", new Location(parserContext
@@ -191,81 +93,8 @@ public class ResourceBackedMetadataProviderParser extends AbstractReloadingMetad
                 BeanDefinitionBuilder.genericBeanDefinition(ResourceHelper.class);
         resourceConverter.setLazyInit(true);
         resourceConverter.setFactoryMethod("of");
-        resourceConverter.addConstructorArgReference(beanReference);
+        resourceConverter.addConstructorArgReference(beanRef);
         builder.addConstructorArgValue(resourceConverter.getBeanDefinition());
     }
-
     
-    /**
-     * Parse the provided <Resource> and populate an appropriate {@link ResourceBackedMetadataResolver}.
-     * 
-     * @param element the <Resource> element
-     * @param parserContext the parser context
-     * @param builder the builder for the {@link ResourceBackedMetadataResolver}.
-     */
-    private void parseResource(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-
-        final BeanDefinitionBuilder resourceConverter =
-                BeanDefinitionBuilder.genericBeanDefinition(ResourceHelper.class);
-        resourceConverter.setLazyInit(true);
-        resourceConverter.setFactoryMethod("of");
-        resourceConverter.addConstructorArgValue(parserContext.getDelegate().parseCustomElement(element));
-
-        builder.addConstructorArgValue(resourceConverter.getBeanDefinition());
-    }
-
-    /**
-     * Parse the provided <Resource> and populate an appropriate {@link HTTPMetadataResolver}.
-     * 
-     * <br/>
-     * See {@link HTTPMetadataProviderParser#doParse(Element, ParserContext, BeanDefinitionBuilder)}.
-     * 
-     * @param element the <Resource> element
-     * @param parserContext the parser context
-     * @param builder the builder for the {@link HTTPMetadataResolver}.
-     */
-    private void parseHTTPResource(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-
-        final BeanDefinitionBuilder clientBuilder =
-                BeanDefinitionBuilder.genericBeanDefinition(HttpClientFactoryBean.class);
-
-        clientBuilder.setLazyInit(true);
-
-        builder.addConstructorArgValue(clientBuilder.getBeanDefinition());
-        builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, "url")));
-    }
-
-    /**
-     * Parse the provided <Resource> and populate an appropriate {@link FileBackedHTTPMetadataResolver}. <br/>
-     * See {@link FileBackedHTTPMetadataProviderParser#doParse(Element, ParserContext, BeanDefinitionBuilder)}.
-     * 
-     * @param element the <Resource> element
-     * @param parserContext the parser context
-     * @param builder the builder for the {@link FileBackedHTTPMetadataResolver}.
-     */
-    private void
-            parseFileBackedHTTPResource(final Element element, final ParserContext parserContext,
-                    final BeanDefinitionBuilder builder) {
-
-        parseHTTPResource(element, parserContext, builder);
-        builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, "file")));
-    }
-
-    /**
-     * Parse the provided <Resource> and populate an appropriate {@link FilesystemMetadataResolver}.
-     * 
-     * <br/>
-     * See {@link FilesystemMetadataProviderParser#doParse(Element, ParserContext, BeanDefinitionBuilder)}.
-     * 
-     * @param element the <Resource> element
-     * @param parserContext the parser context
-     * @param builder the builder for the {@link FilesystemMetadataResolver}.
-     */
-    private void parseFilesystemResource(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, "file")));
-    }
-
 }
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ClasspathResourceParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ClasspathResourceParser.java
deleted file mode 100644
index bd39538..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ClasspathResourceParser.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.resource.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.core.io.ClassPathResource;
-import org.w3c.dom.Element;
-
-/**
- * Parser for resources of type ClasspathResource.
- */
-public class ClasspathResourceParser extends AbstractSingleBeanDefinitionParser {
-
-    /** Schema type. */
-    public static final QName ELEMENT_NAME = new QName(ResourceNamespaceHandler.NAMESPACE, "ClasspathResource");
-
-    /** {@inheritDoc} */
-    @Override protected Class<?> getBeanClass(final Element element) {
-        return ClassPathResource.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        builder.setLazyInit(true);
-        builder.addConstructorArgValue(StringSupport.trimOrNull(element.getAttributeNS(null, "file")));
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean shouldGenerateId() {
-        return true;
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ResourceNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ResourceNamespaceHandler.java
deleted file mode 100644
index c0f75e0..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/resource/impl/ResourceNamespaceHandler.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.resource.impl;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.springframework.beans.factory.parsing.Location;
-import org.springframework.beans.factory.parsing.Problem;
-import org.springframework.beans.factory.xml.XmlReaderContext;
-import org.w3c.dom.Element;
-
-/**
- * Namespace handler for legacy Resources.
- */
-public class ResourceNamespaceHandler extends BaseSpringNamespaceHandler {
-    /** Namespace. */
-    public static final String NAMESPACE = "urn:mace:shibboleth:2.0:resource";
-
-    /** The Resource element. */
-    public static final QName ELEMENT_NAME = new QName(NAMESPACE, "Resource");
-
-    /** The ResourceFilter element. */
-    public static final QName FILTER_NAME = new QName(NAMESPACE, "ResourceFilter");
-
-    /** The schema type for a Filesystem Resource. */
-    public static final QName FILESYSTEM_ELEMENT_NAME = new QName(NAMESPACE, "FilesystemResource");
-
-    /** The schema type for a HTTP Resource. */
-    public static final QName HTTP_ELEMENT_NAME = new QName(NAMESPACE, "HttpResource");
-
-    /** The schema type for a file backed HTTP Resource. */
-    public static final QName FILE_HTTP_ELEMENT_NAME = new QName(NAMESPACE, "FileBackedHttpResource");
-    
-    /** Logger. */
-    private static final Logger LOG = LoggerFactory.getLogger(ResourceNamespaceHandler.class);
-
-    /** {@inheritDoc} */
-    @Override public void init() {
-        // Relying party Configuration
-        registerBeanDefinitionParser(ClasspathResourceParser.ELEMENT_NAME, new ClasspathResourceParser());
-    }
-
-    /**
-     * Check that there are no filters on the resource.
-     * 
-     * @param resourceElement the element to look at
-     * @param readerContext the reader context
-     * @throws BeanDefinitionParsingException if we encounter a filter
-     */
-    public static void noFilters(final Element resourceElement, final XmlReaderContext readerContext) {
-        final List<Element> filters = ElementSupport.getChildElements(resourceElement, FILTER_NAME);
-
-        if (null == filters || filters.isEmpty()) {
-            return;
-        }
-        LOG.error("{}: Resource filters are not supported", readerContext.getResource().getDescription());
-        throw new BeanDefinitionParsingException(new Problem("Resource filters are not supported", new Location(
-                readerContext.getResource())));
-    }
-
-}
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
index 58f7a64..2d11034 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/ResourceMetadataParserTest.java
@@ -17,138 +17,13 @@
 
 package net.shibboleth.idp.profile.spring.relyingparty.metadata;
 
-import java.util.Iterator;
-
-import net.shibboleth.utilities.java.support.repository.RepositorySupport;
-
 import org.opensaml.saml.metadata.resolver.MetadataResolver;
-import org.opensaml.saml.metadata.resolver.impl.FileBackedHTTPMetadataResolver;
-import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver;
-import org.opensaml.saml.metadata.resolver.impl.HTTPMetadataResolver;
 import org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver;
-import org.opensaml.saml.saml2.metadata.EntityDescriptor;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.mock.env.MockPropertySource;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
     
-    private static final String PROP_MDURL = "metadataURL";
-    
-    private static final String REPO_IDP = "java-identity-provider";
-
-    private static final String ENTITY_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml";
-    
-    private static final String ENTITIES_XML = "idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml";
-    
-    @Test public void fileEntity() throws Exception {
-
-        final FilesystemMetadataResolver resolver = getBean(FilesystemMetadataResolver.class, "resourceFileEntity.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceFileEntity");
-   
-        final Iterator<EntityDescriptor> entities = resolver.resolve(criteriaFor(IDP_ID)).iterator();
-        Assert.assertTrue(resolver.isFailFastInitialization());
-        Assert.assertTrue(resolver.isRequireValidMetadata());
-        
-        Assert.assertEquals(entities.next().getEntityID(), IDP_ID);
-        Assert.assertFalse(entities.hasNext());
-
-        Assert.assertEquals(resolver.getRefreshDelayFactor(), 0.75, 0.001);
-        Assert.assertSame(resolver.getParserPool(), parserPool);
-        
-        Assert.assertNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
-    @Test public void fileEntities() throws Exception {
-
-        final FilesystemMetadataResolver resolver = getBean(FilesystemMetadataResolver.class, "resourceFileEntities.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceFileEntities");
-        Assert.assertEquals(resolver.getMaxRefreshDelay(), 1000*60*55);
-        Assert.assertEquals(resolver.getMinRefreshDelay(), 1000*60*15);
-        Assert.assertEquals(resolver.getRefreshDelayFactor(), 0.5, 0.001);
-        Assert.assertNotSame(resolver.getParserPool(), parserPool);
-   
-        final Iterator<EntityDescriptor> entities = resolver.resolve(criteriaFor(IDP_ID)).iterator();
-        Assert.assertTrue(resolver.isFailFastInitialization());
-        Assert.assertTrue(resolver.isRequireValidMetadata());
-        
-        Assert.assertEquals(entities.next().getEntityID(), IDP_ID);
-        Assert.assertFalse(entities.hasNext());
-
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-    
-    @Test public void classpathEntity() throws Exception {
-
-        final MetadataResolver resolver = getBean(ResourceBackedMetadataResolver.class, "resourceClasspathEntity.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceClasspathEntity");
-   
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
-    @Test public void classpathEntities() throws Exception {
-
-        final MetadataResolver resolver = getBean(ResourceBackedMetadataResolver.class, "resourceClasspathEntities.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceClasspathEntities");
-
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
-    @Test public void httpEntity() throws Exception {
-        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
-
-        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "resourceHTTPEntity.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceHTTPEntity");
-   
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
-    @Test public void httpEntities() throws Exception {
-        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
-
-        final MetadataResolver resolver = getBean(HTTPMetadataResolver.class, propSource, "resourceHTTPEntities.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceHTTPEntities");
-
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-    
-    @Test public void fileHttpEntity() throws Exception {
-        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITY_XML, false));
-
-        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "resourceFileBackedHTTPEntity.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceFileBackedHTTPEntity");
-   
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
-    @Test public void fileHttpEntities() throws Exception {
-        final MockPropertySource propSource = singletonPropertySource(PROP_MDURL, 
-                RepositorySupport.buildHTTPResourceURL(REPO_IDP, ENTITIES_XML, false));
-
-        final MetadataResolver resolver = getBean(FileBackedHTTPMetadataResolver.class, propSource, "resourceFileBackedHTTPEntities.xml", "beans.xml");
-        
-        Assert.assertEquals(resolver.getId(), "resourceFileBackedHTTPEntities");
-
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
-        Assert.assertNotNull(resolver.resolveSingle(criteriaFor(SP_ID)));
-    }
-
     @Test public void ref() throws Exception {
 
         final MetadataResolver resolver = getBean(ResourceBackedMetadataResolver.class, "resourceRef.xml", "beans.xml");
@@ -158,9 +33,4 @@ public class ResourceMetadataParserTest extends AbstractMetadataParserTest {
         Assert.assertNotNull(resolver.resolveSingle(criteriaFor(IDP_ID)));
         Assert.assertNull(resolver.resolveSingle(criteriaFor(SP_ID)));
     }
-
-
-    @Test(expectedExceptions={BeanCreationException.class,}, enabled=false) public void svnParams() throws Exception {
-        getBean(MetadataResolver.class, "svnParams.xml", "beans.xml");
-    }
 }
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntities.xml
deleted file mode 100644
index 5615789..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntities.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:resource="urn:mace:shibboleth:2.0:resource"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-	                   urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-	id="resourceClasspathEntities" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-	<metadata:MetadataResource xsi:type="resource:ClasspathResource" file="/net/shibboleth/idp/profile/spring/relyingparty/metadata/entities.xml"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntity.xml
deleted file mode 100644
index 5479312..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceClasspathEntity.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:resource="urn:mace:shibboleth:2.0:resource"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                       urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-	id="resourceClasspathEntity" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-    <metadata:MetadataResource xsi:type="resource:ClasspathResource" file="/net/shibboleth/idp/profile/spring/relyingparty/metadata/entity.xml"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml
deleted file mode 100644
index 2a979d2..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntities.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:resource="urn:mace:shibboleth:2.0:resource"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-	                   urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-    parserPoolRef="myParserPool" refreshDelayFactor="0.5" maxRefreshDelay="PT55M" minRefreshDelay="PT15M"
-	id="resourceFileBackedHTTPEntities" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-	
-	<metadata:MetadataResource xsi:type="resource:FileBackedHttpResource" 
-	   file="%{DIR}/spoolResourceEntities.xml"
-	
-	  url="%{metadataURL}"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml
deleted file mode 100644
index da69ad8..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileBackedHTTPEntity.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:resource="urn:mace:shibboleth:2.0:resource"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                       urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-	id="resourceFileBackedHTTPEntity" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-    <metadata:MetadataResource 
-        xsi:type="resource:FileBackedHttpResource" 
-        file="%{DIR}/spoolResourceEntity.xml"
-        
-        url="%{metadataURL}"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntities.xml
deleted file mode 100644
index 2c7887b..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntities.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:resource="urn:mace:shibboleth:2.0:resource"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-	                   urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-    parserPoolRef="myParserPool" refreshDelayFactor="0.5" maxRefreshDelay="PT55M" minRefreshDelay="PT15M"
-	id="resourceFileEntities" xsi:type="metadata:ResourceBackedMetadataProvider">
-	<metadata:MetadataResource xsi:type="resource:FilesystemResource" file="%{DIR}/entities.xml"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntity.xml
deleted file mode 100644
index fedb3b2..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceFileEntity.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:resource="urn:mace:shibboleth:2.0:resource"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                       urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-	id="resourceFileEntity" xsi:type="metadata:ResourceBackedMetadataProvider">
-    <metadata:MetadataResource xsi:type="resource:FilesystemResource" file="%{DIR}/entity.xml"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml
deleted file mode 100644
index 2b9b2a6..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntities.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:resource="urn:mace:shibboleth:2.0:resource"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-	                   urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-    parserPoolRef="myParserPool" refreshDelayFactor="0.5" maxRefreshDelay="PT55M" minRefreshDelay="PT15M"
-	id="resourceHTTPEntities" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-	
-	<metadata:MetadataResource xsi:type="resource:HttpResource" 
-	  url="%{metadataURL}"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml
deleted file mode 100644
index 9f5f4c7..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/metadata/resourceHTTPEntity.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata:MetadataProvider xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:metadata="urn:mace:shibboleth:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:resource="urn:mace:shibboleth:2.0:resource"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                       urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
-                       urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
-
-	id="resourceHTTPEntity" xsi:type="metadata:ResourceBackedMetadataProvider">
-	
-    <metadata:MetadataResource 
-        xsi:type="resource:HttpResource" 
-        url="%{metadataURL}"/>
-
-</metadata:MetadataProvider>
-                                   
\ No newline at end of file
diff --git a/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd b/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
index fe5b9b0..3b1eaaa 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:mace:shibboleth:2.0:metadata" xmlns:shibmd="urn:mace:shibboleth:2.0:metadata"
-    xmlns:security="urn:mace:shibboleth:2.0:security" xmlns:res="urn:mace:shibboleth:2.0:resource" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+    xmlns:security="urn:mace:shibboleth:2.0:security" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" elementFormDefault="qualified">
 
     <annotation>
@@ -11,8 +11,6 @@
         schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd"/>
     <import namespace="urn:oasis:names:tc:SAML:2.0:metadata"
         schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"/>
-    <import namespace="urn:mace:shibboleth:2.0:resource"
-        schemaLocation="http://shibboleth.net/schema/idp/shibboleth-resource.xsd"/>
     <import namespace="urn:mace:shibboleth:2.0:security"
         schemaLocation="http://shibboleth.net/schema/idp/shibboleth-security.xsd"/>
 
@@ -52,18 +50,6 @@
         </annotation>
         <complexContent>
             <extension base="shibmd:ReloadingMetadataProviderType">
-                <sequence>
-                    <element name="MetadataResource" type="res:ResourceType" minOccurs="0">
-                        <annotation>
-                            <documentation>The resource from which metadata will be read.</documentation>
-                        </annotation>
-                    </element>
-                </sequence>
-                <attribute name="maxCacheDuration" type="string">
-                    <annotation>
-                        <documentation>This property is deprecated, use maxRefreshDelay instead.</documentation>
-                    </annotation>
-                </attribute>
                 <attribute name="resourceRef" type="string">
                     <annotation>
                         <documentation>the name of a bean with the (Spring) resource to use</documentation>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-resource.xsd b/idp-schema/src/main/resources/schema/shibboleth-resource.xsd
deleted file mode 100644
index b7a8a2c..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-resource.xsd
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:res="urn:mace:shibboleth:2.0:resource" targetNamespace="urn:mace:shibboleth:2.0:resource" elementFormDefault="qualified">
-
-    <complexType name="ClasspathResource">
-        <complexContent>
-            <extension base="res:ResourceType">
-                <attribute name="file" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The file, within the JVM classpath, this resource represents.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="FilesystemResource">
-        <complexContent>
-            <extension base="res:ResourceType">
-                <attribute name="file" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The file this resource represents.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="HttpResource">
-        <complexContent>
-            <extension base="res:ResourceType">
-                <attribute name="url" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The URL this resource represents.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="FileBackedHttpResource">
-        <complexContent>
-            <extension base="res:ResourceType">
-                <attribute name="url" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The URL this resource represents.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="file" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The file the resource will be saved to and read from when the URL resource is not available.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="SVNResource">
-        <complexContent>
-            <extension base="res:ResourceType">
-                <attribute name="repositoryURL" type="string" use="required"/>
-                <attribute name="connectionTimeout" type="string"/>
-                <attribute name="readTimeout" type="string"/>
-                <attribute name="workingCopyDirectory" type="string" use="required"/>
-                <attribute name="revision" type="string"/>
-                <attribute name="resourceFile" type="string" use="required"/>
-                <attribute name="username" type="string"/>
-                <attribute name="password" type="string"/>
-                <attribute name="proxyHost" type="string"/>
-                <attribute name="proxyPort" type="string"/>
-                <attribute name="proxyUsername" type="string"/>
-                <attribute name="proxyPassword" type="string"/>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="ResourceType" abstract="true">
-        <sequence>
-            <element ref="res:ResourceFilter" minOccurs="0"/>
-        </sequence>
-    </complexType>
-    
-    <complexType name="PropertyReplacement">
-        <annotation>
-            <documentation>
-                A resource filter that replaces ${KEY} macros with the values associated with the KEY in a property 
-                file.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="res:ResourceFilterType">
-                <attribute name="propertyFile" type="string" use="required">
-                    <annotation>
-                        <documentation> Path to the Java property file used during macro expansion.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="Chaining">
-        <annotation>
-            <documentation>A resource filter that executes the child filters in the order they defined.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="res:ResourceFilterType">
-                <sequence>
-                    <element ref="res:ResourceFilter" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <element name="ResourceFilter" type="res:ResourceFilterType"/>
-    <complexType name="ResourceFilterType" abstract="true"/>
-    
-</schema>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list