1 package com.instantbank.lettertemplate.control.web.handlers;
2
3 import java.util.HashMap;
4 import java.util.ArrayList;
5 import java.util.Enumeration;
6 import java.util.Locale;
7 import java.util.Hashtable;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.ServletContext;
10
11 import oracle.xml.parser.v2.*;
12 import org.w3c.dom.*;
13 import org.xml.sax.*;
14
15 import com.instantbank.lettertemplate.control.event.PreviewPrintEvent;
16 import com.instantbank.lettertemplate.control.util.JSPUtil;
17 import com.instantbank.lettertemplate.control.util.WebKeys;
18 import com.instantbank.common.utilcomponents.Debug;
19 import com.instantbank.common.utilcomponents.CommonUtil;
20 import com.instantbank.common.utilcomponents.LetterTemplateExceptionMessage;
21 import com.instantbank.lettertemplate.control.LetterTemplateEventException;
22 import com.instantbank.lettertemplate.control.event.LetterTemplateEvent;
23
24
31 public class PreviewPrintHandler extends RequestHandlerSupport {
32
33 private Debug debug = null;
34 ServletContext context;
35 private boolean gotoDB;
36
37
38
47 public LetterTemplateEvent processRequest(HttpServletRequest request,
48 ServletContext context)
49 throws LetterTemplateEventException {
50 debug = new Debug();
51 debug.setDebugginOn(true);
52 debug.setPreMessage("** PreviewPrintHandler-application tier: ");
53
54 gotoDB = true;
55
56 this.context = context;
57 String action = request.getParameter("action");
58 debug.println("Creation of an PreviewPrintEvent Event; "
59 + "PreviewPrintEvent (web): action=" + action);
60
61 String companyId = (String)request.getSession()
62 .getAttribute(WebKeys.CompanyId);
63
64 Hashtable templateTable = CommonUtil.getWebContextVariable
65 (context, WebKeys.TemplatesTable);
66 Object listTemplates = templateTable.get(companyId);
67
68 if((listTemplates != null && !listTemplates.equals(""))) {
69 gotoDB = false;
70 }
71
72 if(action == null) {
73 throw new LetterTemplateEventException
74 (LetterTemplateExceptionMessage.SERVICE_NOT_SELECTED);
75 }
76 else if(action.equals("listTemplates")) {
77 return createListTemplatesPreviewEvent(request);
78 }
79 return null;
80 }
81
82
83
91 private LetterTemplateEvent createListTemplatesPreviewEvent
92 (HttpServletRequest request)
93 throws LetterTemplateEventException {
94
95 try {
96 if(!gotoDB) {
97 request.setAttribute(WebKeys.ExistsTemplatesList, "true");
98 return null;
99 }
100
101 PreviewPrintEvent event
102 = new PreviewPrintEvent
103 (PreviewPrintEvent.LIST_TEMPLATES_PREVIEW,
104 (String)request.getSession()
105 .getAttribute(WebKeys.CompanyId),
106 (Long)request.getSession().
107 getAttribute(WebKeys.UserId));
108
109 request.setAttribute(WebKeys.PreviewPrintEvent, event);
110 return event;
111 }
112 catch(Exception e) {
113 throw new LetterTemplateEventException
114 (LetterTemplateExceptionMessage.PROBLEM_PARSING + e.getMessage()
115 + LetterTemplateExceptionMessage.RETRY);
116 }
117 }
118
119 }
120
121