Changeset 6


Ignore:
Timestamp:
09/26/11 23:08:46 (8 years ago)
Author:
philsmart
Message:
 
Location:
wayfless-url-generator/trunk/src/main
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • wayfless-url-generator/trunk/src/main/java/uk/ac/cardiff/wayf/urlgenerator/metadata/DefaultSamlMetadataHandler.java

    r5 r6  
    22 *  
    33 */ 
     4 
    45package uk.ac.cardiff.wayf.urlgenerator.metadata; 
    56 
    6 import java.io.File; 
    7 import java.util.List; 
    8  
    9 import org.opensaml.DefaultBootstrap; 
    10 import org.opensaml.saml2.metadata.provider.ChainingMetadataProvider; 
    11 import org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider; 
    12 import org.opensaml.saml2.metadata.provider.MetadataProviderException; 
    13 import org.opensaml.xml.ConfigurationException; 
    14 import org.opensaml.xml.parse.BasicParserPool; 
    157import org.slf4j.Logger; 
    168import org.slf4j.LoggerFactory; 
     
    1810/** 
    1911 * @author philsmart 
    20  * 
     12 *  
    2113 */ 
    22 public class DefaultSamlMetadataHandler implements SamlMetadataHandler{ 
    23      
     14public class DefaultSamlMetadataHandler extends AbstractSamlMetadataHandler { 
     15 
    2416    /** class logger */ 
    2517    private final Logger log = LoggerFactory.getLogger(SamlMetadataHandler.class); 
    2618 
    27     /** Parser manager used to parse XML. */ 
    28     protected static BasicParserPool parser; 
    29  
    30     /** ChainingMetadataProvider to allow 1..* types of metadata providers. */ 
    31     private ChainingMetadataProvider metadataProvider; 
    32      
    33     /** 
    34      * Default constructor 
    35      */ 
    36     public DefaultSamlMetadataHandler(){ 
    37          
    38     } 
    39  
    40     /** 
    41      * Constructor that takes a list of Saml Metadata URIs to create MetadataProviders for 
    42      *  
    43      * @param SAMLMetadataURIs a <code>List</code> of URIs that reference SamlMetadataFiles 
    44      */ 
    45     public DefaultSamlMetadataHandler(List<String> SAMLMetadataURIs) { 
    46         try { 
    47             loadSAMLMetadata(SAMLMetadataURIs); 
    48         } catch (MetadataProviderException e) { 
    49             log.error("Could not load SAML metadata ", e); 
    50         } catch (ConfigurationException e) { 
    51             log.error("Could not load SAML metadata, configuration exception ", e); 
    52         } 
    53     } 
    54  
    55     /** 
    56      * Takes a <code>List</code> of SamlMetadata URIs and creates <code>MetadataProvider<code>s from them. 
    57      *  
    58      * @param SAMLMetadataURIs 
    59      * @throws MetadataProviderException 
    60      * @throws ConfigurationException 
    61      */ 
    62     private void loadSAMLMetadata(List<String> SAMLMetadataURIs) throws MetadataProviderException, 
    63             ConfigurationException { 
    64         DefaultBootstrap.bootstrap(); 
    65         parser = new BasicParserPool(); 
    66         parser.setNamespaceAware(true); 
    67  
    68         for (String metadataURI : SAMLMetadataURIs) { 
    69             FilesystemMetadataProvider provider = new FilesystemMetadataProvider(new File(metadataURI)); 
    70             provider.setParserPool(parser); 
    71             provider.initialize(); 
    72             metadataProvider.addMetadataProvider(provider);            
    73             log.debug("Loaded SAML metatada {}", metadataURI); 
    74         } 
    75     } 
    76      
    77  
    7819} 
  • wayfless-url-generator/trunk/src/main/java/uk/ac/cardiff/wayf/urlgenerator/metadata/SamlMetadataHandler.java

    r5 r6  
    22package uk.ac.cardiff.wayf.urlgenerator.metadata; 
    33 
    4 import java.io.File; 
    5 import java.util.List; 
    6  
    7 import org.opensaml.DefaultBootstrap; 
    8 import org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider; 
    9 import org.opensaml.saml2.metadata.provider.MetadataProvider; 
    10 import org.opensaml.saml2.metadata.provider.MetadataProviderException; 
    11 import org.opensaml.xml.ConfigurationException; 
    12 import org.opensaml.xml.parse.BasicParserPool; 
    13 import org.slf4j.Logger; 
    14 import org.slf4j.LoggerFactory; 
    15  
    164public interface SamlMetadataHandler { 
    175 
    18     
    19  
    206} 
  • wayfless-url-generator/trunk/src/main/java/uk/ac/cardiff/wayf/urlgenerator/metadata/SamlMetadataResolver.java

    r4 r6  
    1313    private SamlMetadataHandler metadataHandler; 
    1414 
     15    /** 
     16     * @param metadataHandler the metadataHandler to set 
     17     */ 
     18    public void setMetadataHandler(SamlMetadataHandler metadataHandler) { 
     19        this.metadataHandler = metadataHandler; 
     20    } 
     21 
     22    /** 
     23     * @return the metadataHandler 
     24     */ 
     25    public SamlMetadataHandler getMetadataHandler() { 
     26        return metadataHandler; 
     27    } 
     28 
    1529} 
  • wayfless-url-generator/trunk/src/main/webapp/WEB-INF/config/wugen-core.xml

    r5 r6  
    2828 
    2929        <bean id="wugenEngine" class="uk.ac.cardiff.wugen.generator.engine.WugenEngine"> 
    30          
     30        <property name="metadataResolver"><ref bean="samlMetadataResolver"/></property>  
    3131        </bean> 
    3232         
    3333        <bean id="samlMetadataResolver" class=" uk.ac.cardiff.wayf.urlgenerator.metadata.SamlMetadataResolver"> 
    34          
     34           <property name="metadataHandler"><ref bean="samlMetadataHandler"/></property> 
    3535        </bean> 
    3636         
    3737        <bean id="samlMetadataHandler" class=" uk.ac.cardiff.wayf.urlgenerator.metadata.DefaultSamlMetadataHandler"> 
    38          
     38           <property name="samlMetadata"> 
     39            <list> 
     40                <bean class="org.opensaml.saml2.metadata.provider.FileBackedHTTPMetadataProvider"> 
     41                    <constructor-arg index="0" value="http://metadata.ukfederation.org.uk/ukfederation-metadata.xml"/> 
     42                    <constructor-arg index="1" value="50000"/> 
     43                    <constructor-arg index="2" value="/tmp/metadata.xml"/> 
     44                </bean> 
     45                 
     46            </list> 
     47       </property> 
    3948        </bean> 
    4049 
Note: See TracChangeset for help on using the changeset viewer.