1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.saml2.ecp.impl;
18
19 import javax.xml.namespace.QName;
20
21 import org.opensaml.common.impl.AbstractSAMLObjectUnmarshaller;
22 import org.opensaml.saml2.core.IDPList;
23 import org.opensaml.saml2.core.Issuer;
24 import org.opensaml.saml2.ecp.Request;
25 import org.opensaml.xml.XMLObject;
26 import org.opensaml.xml.io.UnmarshallingException;
27 import org.opensaml.xml.schema.XSBooleanValue;
28 import org.opensaml.xml.util.XMLHelper;
29 import org.w3c.dom.Attr;
30
31
32
33
34 public class RequestUnmarshaller extends AbstractSAMLObjectUnmarshaller {
35
36
37 protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
38 Request request = (Request) samlObject;
39
40 QName attrName = XMLHelper.getNodeQName(attribute);
41 if (Request.SOAP11_MUST_UNDERSTAND_ATTR_NAME.equals(attrName)) {
42 request.setSOAP11MustUnderstand(XSBooleanValue.valueOf(attribute.getValue()));
43 } else if (Request.SOAP11_ACTOR_ATTR_NAME.equals(attrName)) {
44 request.setSOAP11Actor(attribute.getValue());
45 } else if (Request.IS_PASSIVE_NAME_ATTRIB_NAME.equals(attribute.getLocalName())) {
46 request.setPassive(XSBooleanValue.valueOf(attribute.getValue()));
47 } else if (Request.PROVIDER_NAME_ATTRIB_NAME.equals(attribute.getLocalName())) {
48 request.setProviderName(attribute.getValue());
49 } else {
50 super.processAttribute(samlObject, attribute);
51 }
52 }
53
54
55 protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject)
56 throws UnmarshallingException {
57 Request request = (Request) parentSAMLObject;
58
59 if (childSAMLObject instanceof Issuer) {
60 request.setIssuer((Issuer) childSAMLObject);
61 } else if (childSAMLObject instanceof IDPList) {
62 request.setIDPList((IDPList) childSAMLObject);
63 } else {
64 super.processChildElement(parentSAMLObject, childSAMLObject);
65 }
66 }
67
68
69 }