# HG changeset patch # User Sascha L. Teichmann # Date 1347033490 0 # Node ID 5e4d9130448489d1a9127f4194afadf5de6249fc # Parent 0a277b04177050f0a731059f35247f5ce9a71568 Be more defensive about fetchimg users from session. flys-client/trunk@5394 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 0a277b041770 -r 5e4d91304484 flys-client/ChangeLog --- a/flys-client/ChangeLog Fri Sep 07 13:15:28 2012 +0000 +++ b/flys-client/ChangeLog Fri Sep 07 15:58:10 2012 +0000 @@ -1,3 +1,9 @@ +2012-09-07 Sascha L. Teichmann + + * src/main/java/de/intevation/flys/client/server/UserServiceImpl.java, + src/main/java/de/intevation/flys/client/server/auth/UserClient.java: + Be more defensive about fetchimg users from session. + 2012-09-07 Felix Wolfsteller Improved panning in TimeseriesCharts (issue715). diff -r 0a277b041770 -r 5e4d91304484 flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java Fri Sep 07 13:15:28 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java Fri Sep 07 15:58:10 2012 +0000 @@ -1,15 +1,10 @@ package de.intevation.flys.client.server; -import javax.xml.xpath.XPathConstants; - -import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.NodeList; import org.apache.log4j.Logger; import de.intevation.artifacts.common.ArtifactNamespaceContext; -import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifacts.httpclient.exceptions.ConnectionException; @@ -39,6 +34,11 @@ UserClient client = new UserClient(url); de.intevation.flys.client.server.auth.User loginuser = getUser(); + if (loginuser == null) { + logger.debug("no session user"); + throw new AuthenticationException(ERROR_NO_SUCH_USER); + } + try { Element user = client.findUser(loginuser); diff -r 0a277b041770 -r 5e4d91304484 flys-client/src/main/java/de/intevation/flys/client/server/auth/UserClient.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/auth/UserClient.java Fri Sep 07 13:15:28 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/auth/UserClient.java Fri Sep 07 15:58:10 2012 +0000 @@ -31,11 +31,12 @@ } public boolean userExists(User user) throws ConnectionException { - Element data = this.findUser(user); - if (user == null) { return false; } + + Element data = this.findUser(user); + String XPATH_USERACCOUNT = "/art:user/art:account/@art:name"; String account = XMLUtils.xpathString( @@ -127,11 +128,19 @@ action.appendChild(account); document.appendChild(action); - logger.debug("Find user request xml: " + XMLUtils.toString(document)); + boolean debug = logger.isDebugEnabled(); + + if (debug) { + logger.debug("Find user request xml: " + + XMLUtils.toString(document)); + } Document resp = client.findUser(document); - logger.debug("Find user request response xml: " + XMLUtils.toString(resp)); + if (debug) { + logger.debug("Find user request response xml: " + + XMLUtils.toString(resp)); + } return resp.getDocumentElement(); }