1 package com.instantbank.servicing.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.servicing.control.event.ParmSearchOrderEvent;
16 import com.instantbank.servicing.control.util.JSPUtil;
17 import com.instantbank.servicing.control.util.WebKeys;
18 import com.instantbank.common.utilcomponents.Debug;
19 import com.instantbank.common.utilcomponents.ServicingExceptionMessage;
20 import com.instantbank.servicing.control.ServicingEventException;
21 import com.instantbank.servicing.control.event.ServicingEvent;
22
23
29 public class ParmSearchOrderHandler extends RequestHandlerSupport {
30
31 private Debug debug = null;
32 ServletContext context;
33
34
35
36
46 public ServicingEvent processRequest(HttpServletRequest request,
47 ServletContext context)
48 throws ServicingEventException {
49 debug = new Debug();
50 debug.setDebugginOn(true);
51 debug.setPreMessage("** ParmSearchOrderHandler-application tier: ");
52
53 this.context = context;
54 String action = request.getParameter("action");
55 debug.println("Creation of an ParmSearchOrderEvent Event; "
56 + "ParmSearchOrderHandler (web): action=" + action);
57
58 if(action == null) {
59 throw new ServicingEventException
60 (ServicingExceptionMessage.SERVICE_NOT_SELECTED);
61 }
62 else if(action.equals("listParmSearchOrder")) {
63 return createListParmSearchOrderEvent(request);
64 }
65 else if(action.equals("updateParmSearchOrder")) {
66 return createUpdateParmSearchOrderEvent(request);
67 }
68 return null;
69 }
70
71
72
80 private ServicingEvent createListParmSearchOrderEvent
81 (HttpServletRequest request)
82 throws ServicingEventException {
83
84 try {
85
86
87 ParmSearchOrderEvent event
88 = new ParmSearchOrderEvent
89 (ParmSearchOrderEvent.LIST_PARM_SEARCH_ORDER,
90 (String)request.getSession()
91 .getAttribute(WebKeys.CompanyId),
92 (Long)request.getSession().
93 getAttribute(WebKeys.UserId),
94 null);
95
96 request.setAttribute(WebKeys.ParmSearchOrderEvent, event);
97 return event;
98 }
99 catch(Exception e) {
100 throw new ServicingEventException
101 (ServicingExceptionMessage.PROBLEM_PARSING + e.getMessage()
102 + ServicingExceptionMessage.RETRY);
103 }
104 }
105
106
107
115 private ServicingEvent createUpdateParmSearchOrderEvent
116 (HttpServletRequest request)
117 throws ServicingEventException {
118
119 ArrayList items = new ArrayList(2);
120 ArrayList secondItems = new ArrayList(2);
121 ArrayList thirdItems = new ArrayList(2);
122
123 try {
124 String parmSearchOrder1 = request.getParameter("second");
125 String parmSearchOrder2 = request.getParameter("third");
126 String secondSkip = request.getParameter("sSkip");
127 String thirdSkip = request.getParameter("tSkip");
128
129 if(secondSkip.equals("yes") && thirdSkip.equals("no")) {
130 if(parmSearchOrder2.equals("1,*")) {
131 parmSearchOrder1 = "*,2";
132 }
133 else if(parmSearchOrder2.equals("*,2")) {
134 parmSearchOrder1 = "1,*";
135 }
136 }
137 else if(secondSkip.equals("no") && thirdSkip.equals("yes")) {
138 if(parmSearchOrder1.equals("1,*")) {
139 parmSearchOrder2 = "*,2";
140 }
141 else if(parmSearchOrder1.equals("*,2")) {
142 parmSearchOrder2 = "1,*";
143 }
144 }
145 else if(secondSkip.equals("yes") && thirdSkip.equals("yes")) {
146 parmSearchOrder1 = "1,*";
147 parmSearchOrder2 = "*,2";
148 }
149
150 secondItems.add(0, parmSearchOrder1);
151 secondItems.add(1, secondSkip);
152
153 thirdItems.add(0, parmSearchOrder2);
154 thirdItems.add(1, thirdSkip);
155
156 items.add(secondItems);
157 items.add(thirdItems);
158
159
160 ParmSearchOrderEvent event
161 = new ParmSearchOrderEvent
162 (ParmSearchOrderEvent.UPDATE_PARM_SEARCH_ORDER,
163 (String)request.getSession().
164 getAttribute(WebKeys.CompanyId),
165 (Long)request.getSession().
166 getAttribute(WebKeys.UserId),
167 items);
168 request.setAttribute(WebKeys.ParmSearchOrderEvent, event);
169 return event;
170 }
171 catch(Exception e) {
172 throw new ServicingEventException
173 (ServicingExceptionMessage.PROBLEM_PARSING + e.getMessage()
174 + ServicingExceptionMessage.RETRY);
175 }
176 }
177 }
178
179