1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.shibboleth.wayf.idpdisco;
18
19 import org.opensaml.common.impl.AbstractSAMLObjectUnmarshaller;
20 import org.opensaml.common.xml.SAMLConstants;
21 import org.opensaml.saml2.metadata.LocalizedString;
22 import org.opensaml.xml.LangBearing;
23 import org.opensaml.xml.XMLObject;
24 import org.opensaml.xml.io.UnmarshallingException;
25 import org.w3c.dom.Attr;
26
27
28
29
30 public class LocalizedURIUnmarshaller extends AbstractSAMLObjectUnmarshaller {
31
32
33
34
35 protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
36 if (attribute.getLocalName().equals(LangBearing.XML_LANG_ATTR_LOCAL_NAME)
37 && SAMLConstants.XML_NS.equals(attribute.getNamespaceURI())) {
38 LocalizedURI uri = (LocalizedURI) samlObject;
39
40 LocalizedString uriStr = uri.getURI();
41 if (uriStr == null) {
42 uriStr = new LocalizedString();
43 }
44
45 uriStr.setLanguage(attribute.getValue());
46 uri.setURI(uriStr);
47 }
48 }
49
50
51 protected void processElementContent(XMLObject samlObject, String elementContent) {
52 LocalizedURI uri = (LocalizedURI) samlObject;
53
54 LocalizedString uriStr = uri.getURI();
55 if (uriStr == null) {
56 uriStr = new LocalizedString();
57 }
58
59 uriStr.setLocalizedString(elementContent);
60 uri.setURI(uriStr);
61 }
62 }