diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2018-06-14 06:18:47 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2018-06-14 06:18:47 +0200 | 
| commit | 2a073c6727d704271e17d9b682be28410f23aae7 (patch) | |
| tree | c5d126bc6c116527c3b0f59e4c9c6ebcd185a2a9 /id/server/moa-id-commons | |
| parent | e441bcf4eb1a53e1bb17df34997f17206796af72 (diff) | |
| download | moa-id-spss-2a073c6727d704271e17d9b682be28410f23aae7.tar.gz moa-id-spss-2a073c6727d704271e17d9b682be28410f23aae7.tar.bz2 moa-id-spss-2a073c6727d704271e17d9b682be28410f23aae7.zip | |
more refactoring staff
Diffstat (limited to 'id/server/moa-id-commons')
8 files changed, 310 insertions, 11 deletions
| diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/MOAIDAuthConstants.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/MOAIDAuthConstants.java index 5b3379ae7..3f6227402 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/MOAIDAuthConstants.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/MOAIDAuthConstants.java @@ -176,15 +176,15 @@ public class MOAIDAuthConstants extends MOAIDConstants{    public static final int TIME_JITTER = 5;  //all 5 minutes time jitter     //General MOASession data-store keys -  public static final String MOASESSION_DATA_HOLDEROFKEY_CERTIFICATE = "holderofkey_cert"; +  //public static final String MOASESSION_DATA_HOLDEROFKEY_CERTIFICATE = "holderofkey_cert";    //Process context keys    public static final String PROCESSCONTEXT_PERFORM_INTERFEDERATION_AUTH = "interfederationAuthentication";    public static final String PROCESSCONTEXT_REQUIRELOCALAUTHENTICATION = "requireLocalAuthentication";    public static final String PROCESSCONTEXT_PERFORM_BKUSELECTION = "performBKUSelection";    public static final String PROCESSCONTEXT_ISLEGACYREQUEST = "isLegacyRequest"; -  public static final String PROCESSCONTEXT_UNIQUE_OA_IDENTFIER = "uniqueSPId"; -  public static final String PROCESSCONTEXT_SSL_CLIENT_CERTIFICATE = MOASESSION_DATA_HOLDEROFKEY_CERTIFICATE; +  //public static final String PROCESSCONTEXT_UNIQUE_OA_IDENTFIER = "uniqueSPId"; +  //public static final String PROCESSCONTEXT_SSL_CLIENT_CERTIFICATE = MOASESSION_DATA_HOLDEROFKEY_CERTIFICATE;    //General protocol-request data-store keys    public static final String AUTHPROCESS_DATA_SECURITYLAYERTEMPLATE = "authProces_SecurityLayerTemplate"; diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/AuthProzessDataConstants.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/AuthProzessDataConstants.java index e816349c8..439138645 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/AuthProzessDataConstants.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/AuthProzessDataConstants.java @@ -26,7 +26,7 @@ package at.gv.egovernment.moa.id.commons.api.data;   * @author tlenz   *   */ -public interface AuthProzessDataConstants extends EAAFConstants { +public interface AuthProzessDataConstants {  	public static final String GENERIC_PREFIX 					= "generic_"; diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java index 8bffceaed..8cb2b31bc 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/data/IAuthenticationSession.java @@ -57,7 +57,7 @@ public interface IAuthenticationSession {  	 *   	 * @return String  	 */ -	String getSessionID(); +	String getSSOSessionID();  	/**  	 * Sets the identityLink. @@ -73,7 +73,7 @@ public interface IAuthenticationSession {  	 * @param sessionId  	 *            The sessionID to set  	 */ -	void setSessionID(String sessionId); +	void setSSOSessionID(String sessionId);  	/**  	 * Returns the BKU URL. @@ -292,5 +292,12 @@ public interface IAuthenticationSession {  	 * @throws SessionDataStorageException Error message if the data-object can not stored to generic session-data storage  	 */  	void setGenericDataToSession(String key, Object object) throws SessionDataStorageException; - +	 +	/** +	 * Generates a Key / Value representation from Authenticated session +	 *  +	 * @return A read-only version of all session information +	 */ +	public Map<String, Object> getKeyValueRepresentationFromAuthSession(); +	  }
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/BKUException.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/BKUException.java new file mode 100644 index 000000000..73617fb35 --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/BKUException.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * 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.commons.api.exceptions; + +public class BKUException extends MOAIDException { + +	private static final long serialVersionUID = -4646544256490397419L; + +	private String bkuErrorCode; +	private String bkuErrorMessage; +	 +	public BKUException(String messageId, Object[] parameters, +			String bkuErrorCode, String bkuErrorMessage) { +		super(messageId, parameters); +		 +		this.bkuErrorCode = bkuErrorCode; +		this.bkuErrorMessage = bkuErrorMessage; +	} + + +	/** +	 * @return the bkuErrorCode +	 */ +	public String getBkuErrorCode() { +		return bkuErrorCode; +	} + + +	/** +	 * @return the bkuErrorMessage +	 */ +	public String getBkuErrorMessage() { +		return bkuErrorMessage; +	} + +	 +} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MISSimpleClientException.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MISSimpleClientException.java new file mode 100644 index 000000000..b8c78ab5c --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MISSimpleClientException.java @@ -0,0 +1,90 @@ +package at.gv.egovernment.moa.id.commons.api.exceptions;
 +/*******************************************************************************
 + * 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.
 + ******************************************************************************/
 +/*
 + * Copyright 2003 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.
 + */
 +
 +public class MISSimpleClientException extends MOAIDException {
 +
 +	private static final long serialVersionUID = 1L;
 +
 +	private String misErrorCode;
 +	private String misErrorMessage;
 +	
 +	public MISSimpleClientException() {
 +		super("UNDEFINED ERROR", null);
 +	}
 +
 +	public MISSimpleClientException(String message) {
 +		super(message, null);
 +	}
 +	
 +	public MISSimpleClientException(String message, String code, String text) {
 +		super(message, new Object[] { code , text });
 +		this.misErrorMessage = text;
 +		this.misErrorCode = code;
 +	}
 +
 +	public MISSimpleClientException(String message, Throwable cause) {
 +		super(message, null, cause);
 +	}
 +
 +	public MISSimpleClientException(String message, Object[] params, Throwable cause) {
 +		super(message, params, cause);
 +	}
 +	
 +	/**
 +	 * @return the bkuErrorCode
 +	 */
 +	public String getMISErrorCode() {
 +		return misErrorCode;
 +	}
 +
 +
 +	/**
 +	 * @return the bkuErrorMessage
 +	 */
 +	public String getMISErrorMessage() {
 +		return misErrorMessage;
 +	}
 +}
 diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MOAIDException.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MOAIDException.java index 75f466f0a..388e6d229 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MOAIDException.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/exceptions/MOAIDException.java @@ -50,7 +50,7 @@ import java.io.PrintStream;  import java.io.PrintWriter;  import at.gv.egiz.eaaf.core.exceptions.EAAFException; -import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; +import at.gv.egovernment.moa.id.commons.utils.MOAIDMessageProvider;  /**   * Base class of technical MOA exceptions. diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/MOAIDMessageProvider.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/MOAIDMessageProvider.java new file mode 100644 index 000000000..bc1e2dcdb --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/MOAIDMessageProvider.java @@ -0,0 +1,147 @@ +/******************************************************************************* + * 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. + ******************************************************************************/ +/* + * Copyright 2003 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.commons.utils; + +import java.util.Locale; + +import at.gv.egiz.eaaf.core.api.IStatusMessager; +import at.gv.egiz.eaaf.core.exceptions.ProcessExecutionException; +import at.gv.egovernment.moa.id.commons.api.exceptions.BKUException; +import at.gv.egovernment.moa.id.commons.api.exceptions.MISSimpleClientException; +import at.gv.egovernment.moa.id.commons.api.exceptions.MOAIDException; +import at.gv.egovernment.moa.util.Messages; +import at.gv.egovernment.moa.util.MiscUtil; + + +//@Service("MOAIDMessageProvider") +public class MOAIDMessageProvider implements IStatusMessager { +   +  //internal messanges +  private static final String[] DEFAULT_MESSAGE_RESOURCES = { "resources/properties/id_messages" };   +  private static final Locale[] DEFAULT_MESSAGE_LOCALES = new Locale[] { new Locale("de", "AT") }; +  private Messages messages; +   +  //external error codes +  private static final String[] DEFAULT_EXTERNALERROR_RESOURCES = { "resources/properties/protocol_response_statuscodes" };   +  private static final Locale[] DEFAULT_EXTERNALERROR_LOCALES = new Locale[] { new Locale("de", "AT") }; +  private Messages externalError = null; +   +   +  private static MOAIDMessageProvider instance = null; +   +  public static MOAIDMessageProvider getInstance() { +	  if (instance == null) +		instance = new MOAIDMessageProvider(); +	   +	  return instance; +	   +	} +   +  private MOAIDMessageProvider() { +	  this.messages = new Messages(DEFAULT_MESSAGE_RESOURCES, DEFAULT_MESSAGE_LOCALES); +	  this.externalError = new Messages(DEFAULT_EXTERNALERROR_RESOURCES, DEFAULT_EXTERNALERROR_LOCALES); +	   +  }	 +   +  /** +   * Get the message corresponding to a given message ID. +   * +   * @param messageId The ID of the message. +   * @param parameters The parameters to fill in into the message arguments. +   * @return The formatted message.  +   */ +  @Override +  public String getMessage(String messageId, Object[] parameters) { +    return messages.getMessage(messageId, parameters); +  } + + +@Override +public String getResponseErrorCode(Throwable throwable) { +	String errorCode = null; +	 +	if (throwable instanceof BKUException) { +		BKUException error = (BKUException) throwable;			 +		errorCode = mapInternalErrorToExternalError(error.getMessageId()) +  +				error.getBkuErrorCode();			 +		 +	} else if (throwable instanceof MISSimpleClientException) { +		MISSimpleClientException error = (MISSimpleClientException) throwable; +		 +		if (MiscUtil.isNotEmpty(error.getMISErrorCode())) +			errorCode = mapInternalErrorToExternalError(error.getMessageId()) +  +					error.getMISErrorCode();							 +		else +			errorCode = mapInternalErrorToExternalError(error.getMessageId()); +					 +	} else if (throwable instanceof MOAIDException) { +		MOAIDException error = (MOAIDException) throwable; +		errorCode = mapInternalErrorToExternalError(error.getMessageId()); +	 +	} else if (throwable instanceof ProcessExecutionException) { +		errorCode = IStatusMessager.CODES_EXTERNAL_ERROR_PROCESSENGINE; +		 +	} else { +		errorCode = IStatusMessager.CODES_EXTERNAL_ERROR_GENERIC; +					 +	} +			 +	return errorCode; +} + + +@Override +public String mapInternalErrorToExternalError(String intErrorCode) { +	String extErrorCode = messages.getMessage(intErrorCode, null); +	 +	if (MiscUtil.isEmpty(extErrorCode)) +		extErrorCode = IStatusMessager.CODES_EXTERNAL_ERROR_GENERIC; +			 +	return extErrorCode; +} + +} diff --git a/id/server/moa-id-commons/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/id/server/moa-id-commons/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java index aed2efff2..749879c35 100644 --- a/id/server/moa-id-commons/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java +++ b/id/server/moa-id-commons/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java @@ -26,12 +26,10 @@ package test.at.gv.egovernment.moa.util;  import java.text.DateFormat;  import java.text.ParseException;  import java.text.SimpleDateFormat; -import java.util.Calendar;  import java.util.Date; -import java.util.GregorianCalendar;  import java.util.TimeZone; -import at.gv.egiz.eaaf.core.impl.utils.DateTimeUtils; +import at.gv.egovernment.moa.util.DateTimeUtils;  import junit.framework.TestCase;  /** | 
