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