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.ParmLevelsNameEvent;
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   /**
24    *  Parameter Levels Name usecase: handler of user requests in the Application layer
25    *
26    * @author Instant-bank (Jorge Cardenas)
27    * @created September 2002
28    */
29   public class ParmLevelsNameHandler extends RequestHandlerSupport {
30   
31     private Debug debug = null;
32     ServletContext context;
33   
34   
35   
36     /**
37      *  principal method that process a user request instantiating a ParmLevesNameEvent
38      *  with the user request data
39      *
40      * @param request of MainServlet
41      * @param context of MainServlet
42      * @return ParmLevesNameEvent with the user
43      *      request data
44      * @exception ServicingEventException
45      */
46     public ServicingEvent processRequest(HttpServletRequest request,
47                                          ServletContext context)
48        throws ServicingEventException {
49       debug = new Debug();
50       debug.setDebugginOn(true);
51       debug.setPreMessage("** ParmLevesNameHandler-application tier: ");
52   
53       this.context = context;
54       String action = request.getParameter("action");
55       debug.println("Creation of an ParmLevelsName Event; "
56         + "ParmLevelsNameHandler (web): action=" + action);
57   
58       if(action == null) {
59         throw new ServicingEventException
60           (ServicingExceptionMessage.SERVICE_NOT_SELECTED);
61       }
62       else if(action.equals("listParmLevelsName")) {
63         return createListParmLevelsNameEvent(request);
64       }
65       else if(action.equals("updateParmLevelsName")) {
66         return createUpdateParmLevelsNameEvent(request);
67       }
68       return null;
69     }
70   
71   
72     /**
73      * method for instantiating a ParmLevelsNameEvent demanding a service of
74      * getting the parameter levels name
75      *
76      * @param request of MainServlet
77      * @return ParmLevelsNameEvent with the user request data
78      * @exception ServicingEventException
79      */
80     private ServicingEvent createListParmLevelsNameEvent
81       (HttpServletRequest request)
82        throws ServicingEventException {
83   
84       try {
85   
86         // instantiating ParmLevelsNameEvent:
87         ParmLevelsNameEvent event
88            = new ParmLevelsNameEvent
89           (ParmLevelsNameEvent.LIST_PARM_LEVELS_NAME,
90           (String)request.getSession()
91           .getAttribute(WebKeys.CompanyId),
92           (Long)request.getSession().
93           getAttribute(WebKeys.UserId),
94           null);
95   
96         request.setAttribute(WebKeys.ParmLevelsNameEvent, 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    /**
108     * method for instantiating a ParmLevelsNameEvent demanding a service of
109     * updating parameter levels name
110     *
111     * @param request of MainServlet
112     * @return ParmLevelsNameEvent with the user request data
113     * @exception ServicingEventException
114     */
115    private ServicingEvent createUpdateParmLevelsNameEvent
116      (HttpServletRequest request)
117       throws ServicingEventException {
118  
119      ArrayList items = new ArrayList(2);
120  
121      try {
122        String parmLevelName1 = request.getParameter("parmLevel1");
123        String parmLevelName2 = request.getParameter("parmLevel2");
124  
125        parmLevelName1 = parmLevelName1.trim();
126        parmLevelName2 = parmLevelName2.trim();
127  
128        items.add(parmLevelName1);
129        items.add(parmLevelName2);
130  
131        // instantiating ParmLevelsNameEvent
132        ParmLevelsNameEvent event
133           = new ParmLevelsNameEvent
134          (ParmLevelsNameEvent.UPDATE_PARM_LEVELS_NAME,
135          (String)request.getSession().
136          getAttribute(WebKeys.CompanyId),
137          (Long)request.getSession().
138          getAttribute(WebKeys.UserId),
139          items);
140        request.setAttribute(WebKeys.ParmLevelsNameEvent, event);
141        return event;
142      }
143      catch(Exception e) {
144        throw new ServicingEventException
145          (ServicingExceptionMessage.PROBLEM_PARSING + e.getMessage()
146          + ServicingExceptionMessage.RETRY);
147      }
148    }
149  }
150  
151