KickJava   Java API By Example, From Geeks To Geeks.

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


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 ACTaskAddActionEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants
18 {
19 private ACTaskAddActionEventHandler() {}
20
21     private static ACTaskAddActionEventHandler instance = new ACTaskAddActionEventHandler();
22
23     public static ACTaskAddActionEventHandler 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
33         String JavaDoc taskId = evt.getParameter( PARAMETER, "TASK_ID");
34         TKParams params = evt.getParams();
35         if (taskId != null) {
36         Task theTask = null;
37         theTask = TaskFactory.getInstance().getTask(new Integer JavaDoc(taskId));
38         if (theTask != null) {
39             addAction(theTask, params, "ADD_ACTION_ID");
40
41             TaskFactory.getInstance().modifyTask(theTask);
42         }
43         }
44         TKHTMLTemplate t = evt.getPrepHTMLTemplate( "f_ac_task.tmpl" );
45         HTMLUtils.fillFrameSet( t, LEFT_FRAME_WIDTH, "AC_TASK_LIST", "AC_TASK_EDIT" );
46         t.set("TASK_ID", new Integer JavaDoc(taskId));
47         String JavaDoc editPage = evt.getParameter(PARAMETER, "EDIT_PAGE");
48         t.set("EDIT_PAGE", (editPage == null ? "1" : editPage));
49         WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL);
50         evt.finishTemplate( t );
51     } catch (Throwable JavaDoc e) {
52         throw WebmanExceptionHandler.getException(e);
53     }
54     }
55
56     public boolean isHandler(TKEvent evt)
57     {
58     return evt.getName().equalsIgnoreCase( "AC_TASK_ADD_ACTION" );
59     }
60
61     /**
62        convenience method for adding either users or groups to a profile
63     */

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