1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.opensaml.ws.wspolicy.impl;
19
20 import javax.xml.namespace.QName;
21
22 import org.opensaml.ws.wspolicy.PolicyReference;
23 import org.opensaml.xml.XMLObject;
24 import org.opensaml.xml.io.UnmarshallingException;
25 import org.opensaml.xml.util.XMLHelper;
26 import org.w3c.dom.Attr;
27
28
29
30
31
32 public class PolicyReferenceUnmarshaller extends AbstractWSPolicyObjectUnmarshaller {
33
34
35 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
36 PolicyReference pr = (PolicyReference) xmlObject;
37
38 QName uriName = new QName(PolicyReference.URI_ATTRIB_NAME);
39 QName digestName = new QName(PolicyReference.DIGEST_ATTRIB_NAME);
40 QName digestAlgorithmName = new QName(PolicyReference.DIGEST_ALGORITHM_ATTRIB_NAME);
41
42 QName attribQName =
43 XMLHelper.constructQName(attribute.getNamespaceURI(), attribute.getLocalName(), attribute .getPrefix());
44
45 if (uriName.equals(attribQName)) {
46 pr.setURI(attribute.getValue());
47 } else if (digestName.equals(attribQName)) {
48 pr.setDigest(attribute.getValue());
49 } else if (digestAlgorithmName.equals(attribQName)) {
50 pr.setDigestAlgorithm(attribute.getValue());
51 } else {
52 XMLHelper.unmarshallToAttributeMap(pr.getUnknownAttributes(), attribute);
53 }
54 }
55
56 }