source: EDIS/trunk/java/tracking-server-core/src/main/java/gov/va/med/edp/web/controller/TestController.java@ 1227

Last change on this file since 1227 was 1227, checked in by George Lilly, 13 years ago

initial load of EDIS 1.0

File size: 2.6 KB
Line 
1package gov.va.med.edp.web.controller;
2
3import java.util.Enumeration;
4import java.util.Iterator;
5
6import javax.servlet.http.HttpServletRequest;
7import javax.servlet.http.HttpServletResponse;
8
9import org.apache.log4j.Logger;
10import org.springframework.beans.factory.InitializingBean;
11import org.springframework.util.Assert;
12import org.springframework.util.StringUtils;
13import org.springframework.web.servlet.ModelAndView;
14import org.springframework.web.servlet.mvc.AbstractController;
15
16/**
17 * TODO: document PackageClientVersionSynchronizationController
18 */
19public class TestController extends AbstractController implements InitializingBean {
20
21 public static final String EDIS_MACHINE_NAME_HEADER = "EdisClientMachineName";
22
23 private String viewName;
24 private static Logger logger = Logger.getLogger(TestController.class);
25
26 public TestController() {
27 setRequireSession(true);
28 }
29
30 public void afterPropertiesSet() throws Exception {
31 Assert.notNull(viewName, "viewName must not be null");
32 }
33
34 protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
35 if (logger.isDebugEnabled()){
36 logger.debug("Inside handleRequestInternal() method. The view name is:" + getViewName());
37 logger.debug("The value for the HTTP Header '" + EDIS_MACHINE_NAME_HEADER + "' is: " + getClientMachineName(request));
38 }
39
40 ModelAndView mav = new ModelAndView(getViewName());
41 mav.addObject(EDIS_MACHINE_NAME_HEADER, getClientMachineName(request));
42 mav.addObject("HttpHeaders", getAllHttpHeaders(request));
43 return mav;
44 }
45
46
47 private Object getAllHttpHeaders(HttpServletRequest request) {
48 String headers = "";
49 Enumeration headersEnum = request.getHeaderNames();
50 while (headersEnum.hasMoreElements()) {
51 String headerName = (String) headersEnum.nextElement();
52 headers = headers + headerName + "=" + request.getHeader(headerName) + "<br/>";
53 }
54 return headers;
55 }
56
57 private String getClientMachineName(HttpServletRequest request) {
58 return parseMachineName(request.getHeader(EDIS_MACHINE_NAME_HEADER));
59 }
60
61
62 private String parseMachineName(String machineName){
63 if (StringUtils.hasText(machineName) && machineName.startsWith("CN=")){
64 String name = machineName.substring(3);
65 return name;
66 }
67 return machineName;
68 }
69
70 public String getViewName() {
71 return viewName;
72 }
73
74 public void setViewName(String viewName) {
75 this.viewName = viewName;
76 }
77
78
79}
Note: See TracBrowser for help on using the repository browser.