1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jdiagnose.library.web.spring;
17
18 import javax.servlet.http.HttpServletRequest;
19 import javax.servlet.http.HttpSession;
20
21 import org.jdiagnose.remote.provider.SystemHolder;
22 import org.jdiagnose.remote.provider.SystemProvider;
23 import org.jdiagnose.remote.system.RemoteSystem;
24
25 /***
26 * @author jmccrindle
27 */
28 public class DefaultProviderHelper implements ProviderHelper {
29
30 private SystemProvider provider = null;
31 private String sessionProviderIdKey = SystemProvider.class.getName() + ".sessionProviderIdKey";
32
33
34
35
36 public RemoteSystem getRemoteSystem(HttpServletRequest request) {
37 return getHolder(request).getRemoteSystem();
38 }
39
40 public void setProvider(SystemProvider provider) {
41 this.provider = provider;
42 }
43
44 public void setSessionProviderIdKey(String sessionProviderIdKey) {
45 this.sessionProviderIdKey = sessionProviderIdKey;
46 }
47
48
49
50
51 public SystemHolder getHolder(HttpServletRequest request) {
52 HttpSession session = request.getSession(true);
53 String providerId = (String) session.getAttribute(sessionProviderIdKey);
54 SystemHolder holder = provider.getHolder(providerId);
55 return holder;
56 }
57
58 public void setHolder(HttpServletRequest request, String holderId) {
59 HttpSession session = request.getSession(true);
60 session.setAttribute(sessionProviderIdKey, holderId);
61 }
62 }