1    package com.instantbank.collections.collectionsActivities.web;
2    
3    import javax.servlet.RequestDispatcher;
4    import javax.servlet.ServletConfig;
5    import javax.servlet.ServletContext;
6    import javax.servlet.ServletException;
7    import javax.servlet.http.HttpServlet;
8    import javax.servlet.http.HttpServletRequest;
9    import javax.servlet.http.HttpServletResponse;
10   import javax.servlet.http.HttpSession;
11   import java.io.IOException;
12   import java.io.OutputStreamWriter;
13   import java.io.PrintWriter;
14   import com.instantbank.collections.collectionsActivities.ejb.ActionResultServices;
15   import com.instantbank.collections.collectionsActivities.ejb.ActionResultServicesHome;
16   import com.instantbank.collections.util.FilterChain;
17   import com.instantbank.collections.util.InstantbankException;
18   import com.instantbank.collections.util.ServiceLocator;
19   import com.instantbank.collections.util.StringFormat;
20   
21   public class ResultMaintenanceController extends HttpServlet {
22     private OutputStreamWriter osw;
23     private HttpSession session;
24     private ActionResultServices services;
25   
26   
27     public void init(ServletConfig config) throws ServletException {
28       super.init(config);
29       try {
30         ActionResultServicesHome home = (ActionResultServicesHome)
31           ServiceLocator.instance().createEJB("ActionResultServicesHome", ActionResultServicesHome.class, false);
32         services = home.create();
33       }
34       catch(Exception e) {
35         throw new ServletException(e);
36       }
37     }
38   
39   
40     public void doGet(HttpServletRequest request, HttpServletResponse response)
41        throws ServletException, IOException {
42       doPost(request, response);
43     }
44   
45   
46     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
47       String action = "";
48       com.instantbank.collections.util.FilterChain chain;
49   
50       try {
51         action = request.getParameter("action");
52         session = request.getSession(false);
53         session.setAttribute("hasException", "0");
54         try {
55           chain = new com.instantbank.collections.util.FilterChain(true, getServletConfig().getServletContext());
56           if(chain.processFilter(request, response)) {
57             return;
58           }
59           if(action.equals("initialize")) {
60             initialize(request, response);
61           }
62           else if(action.equals("getResult")) {
63             getResult(request, response);
64           }
65           else if(action.equals("save")) {
66             save(request, response);
67           }
68           else {
69             throw new InstantbankException("522005", "Action " + action + " not supported");
70           }
71         }
72         catch(Exception e) {
73           throw new InstantbankException(e, "522005", "Failed to execute controller action " + action);
74         }
75       }
76       catch(InstantbankException e) {
77         session.setAttribute("hasException", "1");
78         session.setAttribute("Exception", e);
79         if(response.isCommitted()) {
80           return;
81         }
82         response.sendRedirect("../main_web/ControllerError.jsp?showTechnical=0");
83       }
84     }
85   
86   
87     public String getServletInfo() {
88       return "com.instantbank.collections.collectionsActivities.web.ResultMaintenanceController Information";
89     }
90   
91   
92     private void getResult(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
93       String xml;
94       String data;
95       Long companyId;
96       Long resultId = new Long(request.getParameter("resultId"));
97       companyId = (Long)session.getAttribute("companyId");
98       xml = StringFormat.cleanXml(services.getResult(companyId, resultId));
99       OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
100      PrintWriter out = new PrintWriter(osw);
101      out.println("<script>");
102      out.print("parent.resultXml='");
103      out.print(xml);
104      out.println("';");
105      out.println("parent.screenFormat();");
106      out.println("</script>");
107      out.close();
108    }
109  
110  
111    private void initialize(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
112  
113      String data;
114      data = services.newResult();
115      ServletContext sc = getServletConfig().getServletContext();
116      request.setAttribute("data", data);
117      RequestDispatcher rd = sc.getRequestDispatcher("/collectionsActivities_web/ResultMaintenanceView.jsp");
118      rd.forward(request, response);
119    }
120  
121  
122    private void save(HttpServletRequest request, HttpServletResponse response) throws InstantbankException, ServletException, IOException {
123      String data;
124      String xml = new String("");
125      Long companyId;
126      Long userId;
127      userId = (Long)session.getAttribute("userId");
128      companyId = (Long)session.getAttribute("companyId");
129      xml = new String(request.getParameter("data"));
130      services.saveResult(xml, companyId, userId);
131      initialize(request, response);
132    }
133  }
134  
135