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 java.util.Map.Entry;
24
25 import javax.xml.namespace.QName;
26
27 import org.opensaml.common.impl.AbstractSAMLObjectMarshaller;
28 import org.opensaml.saml2.metadata.ContactPerson;
29 import org.opensaml.xml.Configuration;
30 import org.opensaml.xml.XMLObject;
31 import org.opensaml.xml.io.MarshallingException;
32 import org.opensaml.xml.util.XMLHelper;
33 import org.w3c.dom.Attr;
34 import org.w3c.dom.Element;
35
36
37
38
39 public class ContactPersonMarshaller extends AbstractSAMLObjectMarshaller {
40
41
42 protected void marshallAttributes(XMLObject samlObject, Element domElement) throws MarshallingException {
43 ContactPerson person = (ContactPerson) samlObject;
44
45 if (person.getType() != null) {
46 domElement.setAttributeNS(null, ContactPerson.CONTACT_TYPE_ATTRIB_NAME, person.getType().toString());
47 }
48
49 Attr attribute;
50 for (Entry<QName, String> entry : person.getUnknownAttributes().entrySet()) {
51 attribute = XMLHelper.constructAttribute(domElement.getOwnerDocument(), entry.getKey());
52 attribute.setValue(entry.getValue());
53 domElement.setAttributeNodeNS(attribute);
54 if (Configuration.isIDAttribute(entry.getKey())
55 || person.getUnknownAttributes().isIDAttribute(entry.getKey())) {
56 attribute.getOwnerElement().setIdAttributeNode(attribute, true);
57 }
58 }
59 }
60 }