diff options
| author | Florian Reimair <florian.reimair@iaik.tugraz.at> | 2014-02-03 08:22:24 +0100 | 
|---|---|---|
| committer | Florian Reimair <florian.reimair@iaik.tugraz.at> | 2014-02-03 08:26:31 +0100 | 
| commit | 7f6eb6ab2e007a90f42505523e1623823d5df383 (patch) | |
| tree | ad913764be173e9fb993f584c9ef8feaf2ddd798 /id/server/idserverlib | |
| parent | 3c1884ee275350e7b2a78256342d9610b1766898 (diff) | |
| download | moa-id-spss-7f6eb6ab2e007a90f42505523e1623823d5df383.tar.gz moa-id-spss-7f6eb6ab2e007a90f42505523e1623823d5df383.tar.bz2 moa-id-spss-7f6eb6ab2e007a90f42505523e1623823d5df383.zip | |
unrefactoreed gender retrieval
Diffstat (limited to 'id/server/idserverlib')
| -rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java | 51 | 
1 files changed, 26 insertions, 25 deletions
| diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java index b1829439a..f5193c80f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/PEPSConnectorServlet.java @@ -32,7 +32,6 @@ import at.gv.egovernment.moa.id.auth.exception.MOAIDException;  import at.gv.egovernment.moa.id.auth.stork.STORKException;
  import at.gv.egovernment.moa.id.auth.stork.STORKResponseProcessor;
  import at.gv.egovernment.moa.id.auth.stork.VelocityProvider;
 -import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
  import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
  import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
  import at.gv.egovernment.moa.id.moduls.ModulUtils;
 @@ -167,30 +166,6 @@ public class PEPSConnectorServlet extends AuthServlet {  					gender.setValue(tmp);
  					authnResponse.getPersonalAttributeList().add(gender);
 -				} else {
 -					// this is really nasty but we work against the system here. We are supposed to get the gender attribute from
 -					// stork. If we do not, we cannot register the person in the ERnP - we have to have the
 -					// gender for the represented person. So here comes the dirty hack. 
 -					try {
 -						Logger.trace("Initialize VelocityEngine...");
 -
 -						VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
 -						Template template = velocityEngine.getTemplate("/resources/templates/fetchGender.html");
 -						VelocityContext context = new VelocityContext();
 -						context.put("SAMLResponse", request.getParameter("SAMLResponse"));
 -						context.put("action", request.getRequestURL());
 -
 -						StringWriter writer = new StringWriter();
 -						template.merge(context, writer);
 -						
 -						response.getOutputStream().write(writer.toString().getBytes());
 -					} catch (Exception e1) {
 -						Logger.error("Error sending gender retrival form.", e1);
 -						httpSession.invalidate();
 -						throw new MOAIDException("stork.10", null);
 -					}
 -					
 -					return;
  				}
  			}
 @@ -280,6 +255,32 @@ public class PEPSConnectorServlet extends AuthServlet {  																		  targetType, targetValue, 
  																		  oaParam.getMandateProfiles());
  			} catch (STORKException e) {
 +				// this is really nasty but we work against the system here. We are supposed to get the gender attribute from
 +				// stork. If we do not, we cannot register the person in the ERnP - we have to have the
 +				// gender for the represented person. So here comes the dirty hack. 
 +				if(e.getCause() instanceof STORKException && e.getCause().getMessage().equals("gender not found in response")) {
 +					try {
 +						Logger.trace("Initialize VelocityEngine...");
 +	
 +						VelocityEngine velocityEngine = VelocityProvider.getClassPathVelocityEngine();
 +						Template template = velocityEngine.getTemplate("/resources/templates/fetchGender.html");
 +						VelocityContext context = new VelocityContext();
 +						context.put("SAMLResponse", request.getParameter("SAMLResponse"));
 +						context.put("action", request.getRequestURL());
 +	
 +						StringWriter writer = new StringWriter();
 +						template.merge(context, writer);
 +						
 +						response.getOutputStream().write(writer.toString().getBytes());
 +					} catch (Exception e1) {
 +						Logger.error("Error sending gender retrival form.", e1);
 +						httpSession.invalidate();
 +						throw new MOAIDException("stork.10", null);
 +					}
 +					
 +					return;
 +				}
 +				
  				Logger.error("Error connecting SZR Gateway", e);
  				throw new MOAIDException("stork.10", null);
  			}
 | 
