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 LocalizedNameUnmarshaller 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 LocalizedName name = (LocalizedName) samlObject;
39
40 LocalizedString nameStr = name.getName();
41 if (nameStr == null) {
42 nameStr = new LocalizedString();
43 }
44
45 nameStr.setLanguage(attribute.getValue());
46 name.setName(nameStr);
47 }
48 }
49
50
51 protected void processElementContent(XMLObject samlObject, String elementContent) {
52 LocalizedName name = (LocalizedName) samlObject;
53
54 LocalizedString nameStr = name.getName();
55 if (nameStr == null) {
56 nameStr = new LocalizedString();
57 }
58
59 nameStr.setLocalizedString(elementContent);
60 name.setName(nameStr);
61 }
62 }