comparison flys-client/src/main/java/de/intevation/flys/client/server/UserServiceImpl.java @ 3692:d18e6811e924

Refactor UserServiceImpl getCurrentUser method Return the logged in user in getCurrentUser method. flys-client/trunk@5378 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Bjoern Ricks <bjoern.ricks@intevation.de>
date Fri, 07 Sep 2012 11:58:11 +0000
parents 3a8884e06aaa
children 5e4d91304484
comparison
equal deleted inserted replaced
3691:b0c1d9e06a69 3692:d18e6811e924
6 import org.w3c.dom.Element; 6 import org.w3c.dom.Element;
7 import org.w3c.dom.NodeList; 7 import org.w3c.dom.NodeList;
8 8
9 import org.apache.log4j.Logger; 9 import org.apache.log4j.Logger;
10 10
11 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
12
13 import de.intevation.artifacts.common.ArtifactNamespaceContext; 11 import de.intevation.artifacts.common.ArtifactNamespaceContext;
14 import de.intevation.artifacts.common.utils.XMLUtils; 12 import de.intevation.artifacts.common.utils.XMLUtils;
15 13
16 import de.intevation.artifacts.httpclient.exceptions.ConnectionException; 14 import de.intevation.artifacts.httpclient.exceptions.ConnectionException;
17 import de.intevation.artifacts.httpclient.http.HttpClient;
18 import de.intevation.artifacts.httpclient.http.HttpClientImpl;
19 15
20 import de.intevation.flys.client.client.services.UserService; 16 import de.intevation.flys.client.client.services.UserService;
17 import de.intevation.flys.client.server.auth.UserClient;
21 import de.intevation.flys.client.shared.exceptions.AuthenticationException; 18 import de.intevation.flys.client.shared.exceptions.AuthenticationException;
22 import de.intevation.flys.client.shared.model.DefaultUser; 19 import de.intevation.flys.client.shared.model.DefaultUser;
23 import de.intevation.flys.client.shared.model.User; 20 import de.intevation.flys.client.shared.model.User;
24
25 21
26 /** 22 /**
27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 23 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
28 */ 24 */
29 public class UserServiceImpl 25 public class UserServiceImpl
38 public User getCurrentUser(String locale) 34 public User getCurrentUser(String locale)
39 throws AuthenticationException 35 throws AuthenticationException
40 { 36 {
41 String url = getServletContext().getInitParameter("server-url"); 37 String url = getServletContext().getInitParameter("server-url");
42 38
43 HttpClient client = new HttpClientImpl(url); 39 UserClient client = new UserClient(url);
40 de.intevation.flys.client.server.auth.User loginuser = getUser();
44 41
45 try { 42 try {
46 Document users = (Document) client.listUsers(); 43 Element user = client.findUser(loginuser);
47 44
48 String XPATH_USERS = "/art:users/art:user"; 45 if (user != null) {
49
50 NodeList theUsers = (NodeList) XMLUtils.xpath(
51 users,
52 XPATH_USERS,
53 XPathConstants.NODESET,
54 ArtifactNamespaceContext.INSTANCE);
55
56 if (theUsers != null && theUsers.getLength() > 0) {
57 Element user = (Element)theUsers.item(0);
58
59 String uuid = user.getAttributeNS( 46 String uuid = user.getAttributeNS(
60 ArtifactNamespaceContext.NAMESPACE_URI, "uuid"); 47 ArtifactNamespaceContext.NAMESPACE_URI, "uuid");
61 String name = user.getAttributeNS( 48 String name = user.getAttributeNS(
62 ArtifactNamespaceContext.NAMESPACE_URI, "name"); 49 ArtifactNamespaceContext.NAMESPACE_URI, "name");
63 50

http://dive4elements.wald.intevation.org