Metadata support for old and new schemas, and API changes.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / serviceprovider / XMLMetadataImpl.java
1 /*
2  * XMLMetadataImpl.java
3  * 
4  * Process Shibboleth 1.2 Metadata and present an EntityDescriptor
5  * interface.
6  * 
7  * --------------------
8  * Copyright 2002, 2004 
9  * University Corporation for Advanced Internet Development, Inc. 
10  * All rights reserved
11  * [Thats all we have to say to protect ourselves]
12  * Your permission to use this code is governed by "The Shibboleth License".
13  * A copy may be found at http://shibboleth.internet2.edu/license.html
14  * [Nothing in copyright law requires license text in every file.]
15   */
16 package edu.internet2.middleware.shibboleth.serviceprovider;
17
18 import org.apache.log4j.Logger;
19 import org.apache.xmlbeans.XmlException;
20 import org.opensaml.SAMLException;
21 import org.opensaml.artifact.Artifact;
22 import org.w3c.dom.Element;
23 import org.w3c.dom.Node;
24
25 import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
26 import edu.internet2.middleware.shibboleth.metadata.EntityDescriptor;
27 import edu.internet2.middleware.shibboleth.metadata.Metadata;
28 import edu.internet2.middleware.shibboleth.metadata.provider.XMLMetadataProvider;
29
30
31 /**
32  * Shibboleth 1.2 XML Metadata support
33  * 
34  * TODO: This needs to be ripped out, but for now, I'll try and
35  * just wrap the real metadata plugin with this thing.
36  */
37 class XMLMetadataImpl 
38         implements 
39                 Metadata,
40                 PluggableConfigurationComponent
41         {
42     
43     private static Logger log = Logger.getLogger(XMLMetadataImpl.class);
44     
45         XMLMetadataProvider realObject = null;
46         
47
48         public void initialize(Node dom) 
49                 throws XmlException, ShibbolethConfigurationException {
50             try {
51             // Assuming this just gets a DOM tree containing the metadata,
52             // hopefully this will "just work".
53             realObject = new edu.internet2.middleware.shibboleth.metadata.provider.XMLMetadataProvider((Element)dom);
54         }
55         catch (SAMLException e) {
56             throw new ShibbolethConfigurationException("Exception initializing metadata: " + e);
57         }
58         }
59         
60     public String getSchemaPathname() {
61         return null;
62     }
63
64     public EntityDescriptor lookup(String id) {
65         return realObject.lookup(id);
66     }
67
68     public EntityDescriptor lookup(Artifact artifact) {
69         return realObject.lookup(artifact);
70     }
71 }