1 package com.instantbank.lettertemplate.control.ejb.handlers;
2
3 import java.util.ArrayList;
4 import java.rmi.RemoteException;
5 import javax.naming.InitialContext;
6 import javax.naming.NamingException;
7 import javax.ejb.CreateException;
8 import javax.ejb.DuplicateKeyException;
9 import javax.ejb.FinderException;
10
11 import com.instantbank.common.utilcomponents.JNDINames;
12 import com.instantbank.common.utilcomponents.Debug;
13 import com.instantbank.lettertemplate.control.event.TemplatesEvent;
14 import com.instantbank.common.utilcomponents.CodeDescription;
15 import com.instantbank.component.lettertemplate.ejb.LetterTemplate;
16 import com.instantbank.lettertemplate.control.LetterTemplateEventException;
17 import com.instantbank.lettertemplate.control.event.LetterTemplateEvent;
18
19
25 public class TemplatesHandler extends StateHandlerSupport {
26
27 private Debug debug = null;
28
29
30
38 public Object perform(LetterTemplateEvent event)
39 throws LetterTemplateEventException {
40 debug = new Debug();
41 debug.setDebugginOn(true);
42 debug.setPreMessage("** TemplatesHandler-services tier: ");
43
44 Object answer = "";
45 TemplatesEvent ce = (TemplatesEvent)event;
46
47 switch (ce.getActionType()) {
48
49 case TemplatesEvent.LIST_TEMPLATES_NAMES:
50 {
51 debug.println("LIST_TEMPLATES_NAMES event");
52 try {
53 LetterTemplate letterTemplate
54 = machine.getLetterTemplateControllerEJB()
55 .getLetterTemplate
56 (ce.getCompanyId(), ce.getUserId());
57
58
59 ArrayList listsTemplatesCategories = new ArrayList(2);
60
61 CodeDescription[] listCategories =
62 letterTemplate.loadCategories();
63
64 ArrayList listTemplates
65 = letterTemplate.loadAllTemplatesDescription();
66
67 listsTemplatesCategories.add(listCategories);
68 listsTemplatesCategories.add(listTemplates);
69
70 answer = listsTemplatesCategories;
71 }
72 catch(Exception e) {
73
74
75 throw new LetterTemplateEventException(e.getMessage());
76 }
77
78 }
79 break;
80 case TemplatesEvent.UPDATE_TEMPLATES_NAMES:
81 {
82 debug.println("UPDATE_TEMPLATES_NAMES event");
83 try {
84 LetterTemplate letterTemplate
85 = machine.getLetterTemplateControllerEJB()
86 .getLetterTemplate
87 (ce.getCompanyId(), ce.getUserId());
88
89 answer = letterTemplate.applyItemsTemplate(ce.getItems());
90 }
91 catch(Exception e) {
92 throw new LetterTemplateEventException(e.getMessage());
93 }
94
95 }
96 break;
97 default:
98 debug.println("Error: not implemented yet");
99 break;
100 }
101 return answer;
102 }
103 }
104
105