# HG changeset patch # User Bjoern Ricks # Date 1342161987 0 # Node ID 3e0567e02577da2ef8bae29ad803f314a93269e7 # Parent ce07c6a1e96bcc3b0215590fbc24b5e8f797c84e Extend Authentication and Response to throw additional exceptions flys-client/trunk@4964 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r ce07c6a1e96b -r 3e0567e02577 flys-client/ChangeLog --- a/flys-client/ChangeLog Fri Jul 13 06:33:48 2012 +0000 +++ b/flys-client/ChangeLog Fri Jul 13 06:46:27 2012 +0000 @@ -1,3 +1,10 @@ +2012-07-13 Björn Ricks + + * src/main/java/de/intevation/flys/client/server/auth/Authentication.java, + src/main/java/de/intevation/flys/client/server/auth/was/Response.java: + Extend Authentication getUser method to throw an AuthenticationException. + Also the Response constructor now throws an IOException. + 2012-07-13 Björn Ricks * src/main/java/de/intevation/fly/client/server/auth/was/User.java: diff -r ce07c6a1e96b -r 3e0567e02577 flys-client/src/main/java/de/intevation/flys/client/server/auth/Authentication.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/auth/Authentication.java Fri Jul 13 06:33:48 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/auth/Authentication.java Fri Jul 13 06:46:27 2012 +0000 @@ -1,6 +1,9 @@ package de.intevation.flys.client.server.auth; +import de.intevation.flys.client.server.auth.AuthenticationException; import de.intevation.flys.client.server.auth.User; + + /** Interface to represent user authentications */ public interface Authentication { @@ -11,6 +14,6 @@ /** Returns a new User object */ - public User getUser(); + public User getUser() throws AuthenticationException; } diff -r ce07c6a1e96b -r 3e0567e02577 flys-client/src/main/java/de/intevation/flys/client/server/auth/was/Response.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/auth/was/Response.java Fri Jul 13 06:33:48 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/auth/was/Response.java Fri Jul 13 06:46:27 2012 +0000 @@ -15,6 +15,7 @@ import org.jdom.input.SAXBuilder; import de.intevation.flys.client.server.auth.Authentication; +import de.intevation.flys.client.server.auth.AuthenticationException; public class Response implements Authentication { @@ -26,7 +27,7 @@ private String password; - public Response(HttpEntity entity, String username, String password) throws ServiceException { + public Response(HttpEntity entity, String username, String password) throws AuthenticationException, IOException { if (entity == null) { throw new ServiceException("Invalid response"); @@ -57,10 +58,7 @@ } catch(JDOMException e) { - logger.error(e); - } - catch(IOException e) { - logger.error(e); + throw new AuthenticationException(e); } } @@ -99,8 +97,12 @@ } @Override - public User getUser() { - return new User(this.username, this.password); + public User getUser() throws AuthenticationException { + Assertion assertion = this.getAssertion(); + if (assertion == null) { + throw new AuthenticationException("Response doesn't contain an assertion"); + } + return new User(this.username, this.password, assertion); } } // vim: set si et fileencoding=utf-8 ts=4 sw=4 tw=80: