diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2016-01-21 15:15:21 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2016-01-21 15:15:21 +0100 | 
| commit | 07999d5988bf42a2d3c09ff6875541633519c1ff (patch) | |
| tree | 038fbe3d7dc131d510cf023b1c5763e1d481f440 /id | |
| parent | ed86b280b2d50aa8b73fe4b452f933ff2e501d27 (diff) | |
| download | moa-id-spss-07999d5988bf42a2d3c09ff6875541633519c1ff.tar.gz moa-id-spss-07999d5988bf42a2d3c09ff6875541633519c1ff.tar.bz2 moa-id-spss-07999d5988bf42a2d3c09ff6875541633519c1ff.zip | |
fix exception handling problem with updated cc process
Diffstat (limited to 'id')
2 files changed, 33 insertions, 14 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java index 2a63968dd..15d596049 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java @@ -24,8 +24,6 @@ package at.gv.egovernment.moa.id.auth.servlet;  import java.io.IOException;  import java.util.Enumeration; -import java.util.List; -import java.util.Map;  import javax.servlet.ServletException;  import javax.servlet.http.HttpServletRequest; @@ -33,28 +31,18 @@ import javax.servlet.http.HttpServletResponse;  import org.apache.commons.lang.StringEscapeUtils; -import at.gv.egovernment.moa.id.advancedlogging.MOAIDEventConstants; -import at.gv.egovernment.moa.id.advancedlogging.MOAReversionLogger;  import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants;  import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; -import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;  import at.gv.egovernment.moa.id.auth.exception.MOAIDException;  import at.gv.egovernment.moa.id.auth.exception.WrongParametersException; +import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;  import at.gv.egovernment.moa.id.auth.modules.registration.ModuleRegistration; -import at.gv.egovernment.moa.id.auth.parser.StartAuthentificationParameterParser; -  import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException; -import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory; -import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; - -import at.gv.egovernment.moa.id.moduls.IRequest; -import at.gv.egovernment.moa.id.moduls.RequestStorage; -  import at.gv.egovernment.moa.id.process.ExecutionContextImpl; +import at.gv.egovernment.moa.id.process.ProcessExecutionException;  import at.gv.egovernment.moa.id.process.api.ExecutionContext;  import at.gv.egovernment.moa.id.storage.AuthenticationSessionStoreage;  import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.FileUtils;  import at.gv.egovernment.moa.util.MiscUtil;  public class GenerateIFrameTemplateServlet extends AuthServlet { @@ -139,6 +127,25 @@ public class GenerateIFrameTemplateServlet extends AuthServlet {  	    catch (MOAIDException ex) {  	    	handleError(null, ex, req, resp, pendingRequestID); + +	    } catch (ProcessExecutionException e) { +			Throwable cause = e.getCause(); +			if (cause != null && cause instanceof TaskExecutionException) { +				Throwable taskCause = cause.getCause(); +				if (taskCause != null && taskCause instanceof WrongParametersException) { +					WrongParametersException internalEx = (WrongParametersException) taskCause; +					handleWrongParameters(internalEx, req, resp); +					return; +					 +				} else if (taskCause != null && taskCause instanceof MOAIDException) { +					MOAIDException moaTaskCause = (MOAIDException) taskCause; +					handleError(null, moaTaskCause, req, resp, pendingRequestID); +					return; +					 +				}									 +			}  +			 +			Logger.error("BKUSelectionServlet has an interal Error.", e);				    	  	    } catch (Exception e) {  	    	Logger.error("BKUSelectionServlet has an interal Error.", e); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java index 8122d2b1c..c38bbc68f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java @@ -73,6 +73,7 @@ import at.gv.egovernment.moa.id.auth.exception.AuthenticationException;  import at.gv.egovernment.moa.id.auth.exception.BuildException;  import at.gv.egovernment.moa.id.auth.exception.InvalidProtocolRequestException;  import at.gv.egovernment.moa.id.auth.exception.MOAIDException; +import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException;  import at.gv.egovernment.moa.id.auth.modules.registration.ModuleRegistration;  import at.gv.egovernment.moa.id.commons.db.dao.session.InterfederationSessionStore;  import at.gv.egovernment.moa.id.commons.db.dao.session.OASessionStore; @@ -738,6 +739,17 @@ public class AuthenticationManager extends MOAIDAuthConstants {  				out.flush();   			}  		} catch (ProcessExecutionException e) { +			Throwable cause = e.getCause(); +			if (cause != null && cause instanceof TaskExecutionException) { +				Throwable taskCause = cause.getCause(); +				if (taskCause != null && taskCause instanceof MOAIDException) { +					MOAIDException moaTaskCause = (MOAIDException) taskCause; +					Logger.warn(taskCause); +					throw moaTaskCause; +					 +				}									 +			}  +						  			throw new MOAIDException("process.01", new Object[] { moasession.getProcessInstanceId(), moasession }, e);  		}  	} | 
