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   import com.instantbank.lettertemplate.control.event.ImagesRepositoryEvent;
11   import com.instantbank.common.utilcomponents.Debug;
12   import com.instantbank.component.lettertemplate.ejb.LetterTemplate;
13   import com.instantbank.lettertemplate.control.LetterTemplateEventException;
14   import com.instantbank.lettertemplate.control.event.LetterTemplateEvent;
15   
16   /**
17    *  Letter ImagesRepository usecase: handler of user requests in the Services layer
18    *
19    * @author Instant-bank (Consuelo Franky, Jorge Cardenas)
20    * @created September 2002
21    */
22   public class ImagesRepositoryHandler extends StateHandlerSupport {
23   
24     private Debug debug = null;
25   
26   
27     /**
28      *  principal method that process an ImagesRepositoryEvent invoking Model
29      *  EJBs methods
30      *
31      * @param event event corresponding to user request
32      * @return anwser to event
33      * @exception LetterTemplateEventException
34      */
35     public Object perform(LetterTemplateEvent event)
36        throws LetterTemplateEventException {
37       debug = new Debug();
38       debug.setDebugginOn(true);
39       debug.setPreMessage("** ImagesRepositoryHandler-services tier: ");
40   
41       Object answer = "";
42       ImagesRepositoryEvent ce = (ImagesRepositoryEvent)event;
43   
44       switch (ce.getActionType()) {
45   
46         case ImagesRepositoryEvent.LIST_IMAGES_NAMES:
47         {
48           debug.println("LIST_IMAGES_NAMES event");
49           try {
50             LetterTemplate letterTemplate
51                = machine.getLetterTemplateControllerEJB()
52               .getLetterTemplate
53               (ce.getCompanyId(), ce.getUserId());
54   
55             answer = letterTemplate.loadImagesNamesRepository();
56           }
57           catch(Exception e) {
58             throw new LetterTemplateEventException(e.getMessage());
59           }
60   
61         }
62           break;
63         case ImagesRepositoryEvent.UPDATE_IMAGES_NAMES:
64         {
65           debug.println("UPDATE_IMAGES_NAME event");
66           try {
67             LetterTemplate letterTemplate
68                = machine.getLetterTemplateControllerEJB()
69               .getLetterTemplate
70               (ce.getCompanyId(), ce.getUserId());
71   
72             answer = letterTemplate.applyImagesRepository(ce.getItems());
73           }
74           catch(Exception e) {
75             throw new LetterTemplateEventException(e.getMessage());
76           }
77   
78         }
79           break;
80         case ImagesRepositoryEvent.PRE_STORE_IMAGE:
81         {
82           debug.println("PRE_STORE_IMAGE event");
83           try {
84             LetterTemplate letterTemplate
85                = machine.getLetterTemplateControllerEJB()
86               .getLetterTemplate
87               (ce.getCompanyId(), ce.getUserId());
88   
89             answer = letterTemplate.applyImagesRepository(ce.getItems());
90           }
91           catch(Exception e) {
92             throw new LetterTemplateEventException(e.getMessage());
93           }
94   
95         }
96           break;
97         case ImagesRepositoryEvent.STORE_IMAGE:
98         {
99           debug.println("STORE_IMAGE event");
100          try {
101            LetterTemplate letterTemplate
102               = machine.getLetterTemplateControllerEJB()
103              .getLetterTemplate
104              (ce.getCompanyId(), ce.getUserId());
105  
106            // invoking EJB methods :
107            Long code = new Long(letterTemplate.storeImageRepository
108              (ce.getDescription(), ce.getImage()));
109            answer = letterTemplate.loadImagesNamesRepository();
110          }
111          catch(Exception e) {
112            throw new LetterTemplateEventException(e.getMessage());
113          }
114        }
115          break;
116        default:
117          debug.println("Error: not implemented yet");
118          break;
119      }
120      return answer;
121    }
122  }
123  
124