KickJava   Java API By Example, From Geeks To Geeks.

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


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

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