📄 requestsecuritytokenresponse.java
字号:
package edu.virginia.cs.wst;import java.util.ArrayList;import org.w3c.dom.Document;import org.w3c.dom.Element;import edu.virginia.cs.wst.exception.ElementParsingException;import edu.virginia.cs.wst.exception.NoTokenInResponse;import edu.virginia.cs.wst.exception.TrustException;/** * @author ddelvecc * * Represents the WS-Trust <RequestSecurityTokenResponse> message which includes the requested token. * */public class RequestSecurityTokenResponse extends SecurityTokenMessage { protected SecurityTokenOrReference requestedSecurityToken = null; protected SecurityTokenOrReference requestedProofToken = null; public RequestSecurityTokenResponse(Document doc) { super(doc); } public RequestSecurityTokenResponse(Document doc, SecurityTokenOrReference requestedSecurityToken) { super(doc); this.requestedSecurityToken = requestedSecurityToken; } /** * Constructs a RequestSecurityToken object from an existing element. * @param element */ public RequestSecurityTokenResponse(Element element) throws ElementParsingException { super(element); initialize(element); } public RequestSecurityTokenResponse(Element element, Document document) throws ElementParsingException { super(element, document); initialize(element); } private void initialize(Element element) throws ElementParsingException { ArrayList elements = (ArrayList) customElements.clone(); customElements.clear(); for(int i = 0; i < elements.size(); i++) { Element currentNode = (Element) elements.get(i); if(!TrustConstants.WST_NS.equals(currentNode.getNamespaceURI())) { addCustomElement(currentNode); continue; } else if(currentNode.getLocalName().equals(TrustConstants.REQUESTED_TOKEN)) { Element elem = getFirstNonBlankChildAsElement(currentNode); if(elem != null) setRequestedSecurityToken(new SecurityTokenOrReference(elem, doc)); } else if(currentNode.getLocalName().equals(TrustConstants.REQUESTED_PROOF)) { Element elem = getFirstNonBlankChildAsElement(currentNode); if(elem != null) setRequestedProofToken(new SecurityTokenOrReference(elem, doc)); } else addCustomElement(currentNode); } } public SecurityTokenOrReference getRequestedSecurityToken() { return requestedSecurityToken; } public void setRequestedSecurityToken(SecurityTokenOrReference requestedToken) { this.requestedSecurityToken = requestedToken; } public SecurityTokenOrReference getRequestedProofToken() { return requestedProofToken; } public void setRequestedProofToken(SecurityTokenOrReference requestedProofToken) { this.requestedProofToken = requestedProofToken; } public Element getElement() throws TrustException { Element wstElement = getElement(TrustConstants.WST_PREFIX + TrustConstants.RESPONSE_TAG); if((requestedSecurityToken == null) && (requestedProofToken == null)) throw new NoTokenInResponse("Either a RequestedSecurityToken or a RequestedProofToken is required. Both cannot be null."); else if(requestedSecurityToken != null) wstElement.appendChild(createTokenOrReferenceElement(TrustConstants.WST_PREFIX + TrustConstants.REQUESTED_TOKEN, requestedSecurityToken)); else if(requestedProofToken != null) wstElement.appendChild(createTokenOrReferenceElement(TrustConstants.WST_PREFIX + TrustConstants.REQUESTED_PROOF, requestedSecurityToken)); return wstElement; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -