aboutsummaryrefslogtreecommitdiff
path: root/id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java')
-rw-r--r--id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java b/id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java
deleted file mode 100644
index e59c88ddc..000000000
--- a/id.server/src/at/gv/egovernment/moa/id/auth/parser/InfoboxReadResponseParser.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package at.gv.egovernment.moa.id.auth.parser;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.id.AuthenticationException;
-import at.gv.egovernment.moa.id.ParseException;
-import at.gv.egovernment.moa.id.auth.data.IdentityLink;
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-import at.gv.egovernment.moa.util.XPathUtils;
-
-/**
- * Parses an <code>&lt;InfoboxReadResponse&gt;</code>.
- *
- * @author Stefan Knirsch
- * @version $Id$
- */
-
-public class InfoboxReadResponseParser {
-
- /** This is the root element of the XML-Document provided by the Security Layer Card*/
- private Element infoBoxElem_;
-
- /**
- * Parses and validates the document given as string and extracts the
- * root element.
- *
- * @param xmlResponse <code>&lt;InfoboxReadResponse&gt;</code> as String
- * @throws ParseException If an element cannot be parsed
- * @throws AuthenticationException If any authentication error occurs
- */
- public InfoboxReadResponseParser(String xmlResponse) throws ParseException, AuthenticationException {
-
- try {
- InputStream s = new ByteArrayInputStream(xmlResponse.getBytes("UTF-8"));
- init(s);
- }
- catch (Throwable t) {
- throw new ParseException("parser.01", new Object[] { t.toString()}, t);
- }
- }
-
- /**
- * Parses and validates the document given as stream and extracts the
- * root element.
- *
- * @param is <code>&lt;InfoboxReadResponse&gt;</code> as InputStream
- * @throws ParseException If an element cannot be parsed
- * @throws AuthenticationException If any authentication error occurs
- */
- public InfoboxReadResponseParser(InputStream is) throws ParseException, AuthenticationException {
- init(is);
- }
-
- /**
- * Initializes the parser.
- * Parses and validates the document given as stream and extracts the
- * root element.
- *
- * @param is The InfoBoxReadResponse as stream.
- * @throws AuthenticationException If an authentication error occurs.
- * @throws ParseException If an error occurs on parsing the the document.
- */
- private void init(InputStream is) throws AuthenticationException, ParseException {
- try {
-
- Element responseElem = DOMUtils.parseXmlValidating(is);
-
- if ("InfoboxReadResponse".equals(responseElem.getLocalName())) {
- infoBoxElem_ = responseElem;
- } else {
- ErrorResponseParser erp = new ErrorResponseParser(responseElem);
- throw new AuthenticationException("auth.08", new Object[] { erp.getErrorCode(), erp.getErrorInfo()});
- }
-
- } catch (Throwable t) {
- throw new ParseException("parser.01", new Object[] { t.toString()}, t);
- }
- }
-
-
-
- /**
- * Parses the embedded <code>&lt;saml:Assertion&gt;</code> element from <code>&lt;InfoboxReadResponse&gt;</code>
- * @return <code>&lt;saml:Assertion&gt;</code> as String
- * @throws ParseException on any parsing error
- */
-// public String parseSAMLAssertion() throws ParseException {
-// try {
-//
-// String slPrefix = XPathUtils.getSlPrefix(infoBoxElem_);
-// StringBuffer sb = new StringBuffer("/");
-// sb.append(slPrefix);
-// sb.append(":InfoboxReadResponse/");
-// sb.append(slPrefix);
-// sb.append(":BinaryFileData/");
-// sb.append(slPrefix);
-// sb.append(":XMLContent/");
-// sb.append(Constants.SAML_PREFIX);
-// sb.append(":Assertion");
-// String samlAssertionXPath = sb.toString();
-// Element samlAssertion = (Element) XPathUtils.selectSingleNode(infoBoxElem_, samlAssertionXPath);
-// return DOMUtils.serializeNode(samlAssertion);
-//
-// }
-// catch (Throwable t) {
-// throw new ParseException("parser.01", new Object[] { t.toString()}, t);
-// }
-// }
-
- /**
- * Parses the embedded <code>&lt;saml:Assertion&gt;</code> element from <code>&lt;InfoboxReadResponse&gt;</code>
- * @return <code>&lt;saml:Assertion&gt;</code> as String
- * @throws ParseException on any parsing error
- */
- public Element parseSAMLAssertion() throws ParseException {
- try {
-
- String slPrefix = XPathUtils.getSlPrefix(infoBoxElem_);
- StringBuffer sb = new StringBuffer("/");
- sb.append(slPrefix);
- sb.append(":InfoboxReadResponse/");
- sb.append(slPrefix);
- sb.append(":BinaryFileData/");
- sb.append(slPrefix);
- sb.append(":XMLContent/");
- sb.append(Constants.SAML_PREFIX);
- sb.append(":Assertion");
- String samlAssertionXPath = sb.toString();
- Element samlAssertion = (Element) XPathUtils.selectSingleNode(infoBoxElem_, samlAssertionXPath);
- return samlAssertion;
-
- }
- catch (Throwable t) {
- throw new ParseException("parser.01", new Object[] { t.toString()}, t);
- }
- }
-
- /**
- * Parses the identity link from the <code>&lt;saml:Assertion&gt;</code>
- * @return Identity link
- * @throws ParseException on any parsing error
- */
-
-// public IdentityLink parseIdentityLink() throws ParseException {
-// String samlAssertionString = parseSAMLAssertion();
-// IdentityLinkAssertionParser ilParser = new IdentityLinkAssertionParser(samlAssertionString);
-// return ilParser.parseIdentityLink();
-// }
-
- /**
- * Parses the identity link from the <code>&lt;saml:Assertion&gt;</code>
- * @return Identity link
- * @throws ParseException on any parsing error
- */
- public IdentityLink parseIdentityLink() throws ParseException {
- Element samlAssertion = parseSAMLAssertion();
- IdentityLinkAssertionParser ilParser = new IdentityLinkAssertionParser(samlAssertion);
- return ilParser.parseIdentityLink();
- }
-
-
-}