aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java125
1 files changed, 0 insertions, 125 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java
deleted file mode 100644
index 89f42ab7d..000000000
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright 2014 Federal Chancellery Austria
- * MOA-ID has been developed in a cooperation between BRZ, the Federal
- * Chancellery Austria - ICT staff unit, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- ******************************************************************************/
-package at.gv.egovernment.moa.id.auth.builder;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.transform.TransformerException;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute;
-import at.gv.egovernment.moa.id.auth.exception.ParseException;
-import at.gv.egovernment.moa.logging.Logger;
-import at.gv.egovernment.moa.util.DOMUtils;
-import at.gv.egovernment.moa.util.StringUtils;
-
-/**
- * Base class for building authentication the AUTHBlock and final OA data SAML assertions.
- * Encapsulates methods used by the two specific builders
- * {@link at.gv.egovernment.moa.id.auth.builder.AuthenticationBlockAssertionBuilder AuthenticationBlockAssertionBuilder}
- * and
- * {@link at.gv.egovernment.moa.id.auth.builder.AuthenticationDataAssertionBuilder AuthenticationDataAssertionBuilder}
- *
- * @author Harald Bratko
- */
-public class AuthenticationAssertionBuilder {
-
- /** the NewLine representation in Java*/
- protected static String NL = "\n";
-
- protected static String SAML_ATTRIBUTE =
- " <saml:Attribute AttributeName=''{0}'' AttributeNamespace=''{1}''>" + NL +
- " <saml:AttributeValue>{2}</saml:AttributeValue>" + NL +
- " </saml:Attribute>"+ NL;
-
- protected static String SAML_ATTRIBUTE_NO_NAMESPACE =
- " <saml:Attribute AttributeName=''{0}''>" + NL +
- " <saml:AttributeValue>{1}</saml:AttributeValue>" + NL +
- " </saml:Attribute>"+ NL;
-
- /**
- * Empty constructor
- */
- public AuthenticationAssertionBuilder() {
- }
-
- /**
- * Builds the SAML attributes to be appended to the AUTHBlock or to the SAML assertion
- * delivered to the online application.
- * The method traverses through the list of given SAML attribute objects and builds an
- * XML structure (String representation) for each of the attributes.
- *
- * @param extendedSAMLAttributes The SAML attributes to be appended to the AUTHBlock or
- * to the SAML assertion delivered to the online application.
- * @return A string representation including the XML structures of
- * the SAML attributes.
- *
- * @throws ParseException If an error occurs on serializing an SAML attribute.
- */
- protected String buildExtendedSAMLAttributes(List<ExtendedSAMLAttribute> extendedSAMLAttributes) throws ParseException
- {
- StringBuffer sb = new StringBuffer();
- if (extendedSAMLAttributes!=null) {
- Iterator<ExtendedSAMLAttribute> it = extendedSAMLAttributes.iterator();
- while (it.hasNext()) {
- ExtendedSAMLAttribute extendedSAMLAttribute = (ExtendedSAMLAttribute)it.next();
- Object value = extendedSAMLAttribute.getValue();
- String name = extendedSAMLAttribute.getName();
- String namespace = extendedSAMLAttribute.getNameSpace();
- if (value instanceof String) {
- sb.append(MessageFormat.format( SAML_ATTRIBUTE, new Object[] {name, namespace, value}));
-
- } else if (value instanceof List<?>) {
- if (!((List<?>)value).isEmpty()) {
- Object firstEl = ((List<?>)value).get(0);
- if (firstEl instanceof String) {
- sb.append(MessageFormat.format( SAML_ATTRIBUTE, new Object[] {name, namespace, ((String)firstEl)}));
- }
- }
-
- } else if (value instanceof Element) {
- try {
- String serializedValue = DOMUtils.serializeNode((Element)(value));
- serializedValue = StringUtils.removeXMLDeclaration(serializedValue);
- sb.append(MessageFormat.format( SAML_ATTRIBUTE, new Object[] {name, namespace, serializedValue}));
- } catch (TransformerException e) {
- Logger.error("Error on serializing SAML attribute \"" + name +
- " (namespace: \"" + namespace + "\".");
- throw new ParseException("parser.05", new Object[] { name, namespace});
- } catch (IOException e) {
- Logger.error("Error on serializing SAML attribute \"" + name +
- " (namespace: \"" + namespace + "\".");
- throw new ParseException("parser.05", new Object[] { name, namespace});
- }
- }
- }
- }
- return sb.toString();
- }
-
-
-}