KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > acl > eventhandler > ACTaskDeleteActionEventHandler


1 package de.webman.acl.eventhandler;
2
3 import java.util.*;
4
5 import com.teamkonzept.web.*;
6 import com.teamkonzept.lib.*;
7 import com.teamkonzept.webman.*;
8 import com.teamkonzept.webman.mainint.*;
9 import com.teamkonzept.webman.mainint.events.*;
10 import de.webman.acl.*;
11
12 /**
13 Updates a group definiton in the database
14  * @author $Author: alex $
15  * @version $Revision: 1.3 $
16  */

17 public class ACTaskDeleteActionEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants
18 {
19 private ACTaskDeleteActionEventHandler() {}
20
21     private static ACTaskDeleteActionEventHandler instance = new ACTaskDeleteActionEventHandler();
22
23     public static ACTaskDeleteActionEventHandler getInstance()
24     {
25         return instance;
26     }
27
28     public void handleEvent(TKEvent evt) throws TKException
29     {
30         try {
31             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.ACCESS_CONTROL);
32             String JavaDoc taskId = evt.getParameter( PARAMETER, "TASK_ID");
33             TKParams params = evt.getParams();
34             if (taskId != null) {
35                 Task theTask = null;
36                 theTask = TaskFactory.getInstance().getTask(new Integer JavaDoc(taskId));
37                 if (theTask != null) {
38                     removeAction(theTask, params, "DEL_ACTION_ID");
39                 }
40             }
41             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "f_ac_task.tmpl" );
42             HTMLUtils.fillFrameSet( t, LEFT_FRAME_WIDTH, "AC_TASK_LIST", "AC_TASK_EDIT" );
43             t.set("TASK_ID", new Integer JavaDoc(taskId));
44             String JavaDoc editPage = evt.getParameter(PARAMETER, "EDIT_PAGE");
45             t.set("EDIT_PAGE", (editPage == null ? "1" : editPage));
46             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL);
47             evt.finishTemplate( t );
48         } catch (Throwable JavaDoc e) {
49             throw WebmanExceptionHandler.getException(e);
50         }
51     }
52
53     public boolean isHandler(TKEvent evt)
54     {
55     return evt.getName().equalsIgnoreCase( "AC_TASK_DELETE_ACTION" );
56     }
57
58     /**
59        convenience method for adding either users or groups to a profile
60     */

61     private void removeAction(Task task, TKParams params, String JavaDoc parameter) throws Exception JavaDoc
62     {
63         TKVector vec = new TKVector();
64         if ( params.hasMultiple( PARAMETER, parameter ))
65             vec = params.getVector( PARAMETER, parameter );
66         else if ( params.get( PARAMETER, parameter ) != null )
67             vec.addElement( params.get( PARAMETER, parameter ));
68         Enumeration vecEnum = vec.elements();
69         while (vecEnum.hasMoreElements()) {
70             String JavaDoc lId = (String JavaDoc)vecEnum.nextElement();
71             Action action = ActionFactory.getInstance().getAction(new Integer JavaDoc(lId));
72             if (action != null) {
73                 task.removeAction(action);
74                 TaskFactory.getInstance().modifyTask(task);
75             }
76         }
77     }
78
79
80 }
81
Popular Tags