KickJava   Java API By Example, From Geeks To Geeks.

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


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 Displays a form for changing the definition of a user
14  * @author $Author: alex $
15  * @version $Revision: 1.3 $
16  */

17 public class ACUserGrantRightEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants
18 {
19 private ACUserGrantRightEventHandler() {}
20
21     private static ACUserGrantRightEventHandler instance = new ACUserGrantRightEventHandler();
22
23     public static ACUserGrantRightEventHandler 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 loginId = evt.getParameter( PARAMETER, "LOGIN_ID" );
33             String JavaDoc contextId = evt.getParameter( PARAMETER, "CONTEXT_ID" );
34             String JavaDoc roleId = evt.getParameter( PARAMETER, "ROLE_ID" );
35             String JavaDoc source = evt.getParameter( PARAMETER, "SOURCE" );
36
37             Login theUser = null;
38             Context theContext = null;
39             Role theRole = null;
40
41             if (loginId.length() > 0) {
42                 theUser = LoginFactory.getInstance().getLogin(new Integer JavaDoc(loginId));
43             }
44             if (contextId.length() > 0) {
45                 theContext = ContextFactory.getInstance().getContext(new Integer JavaDoc(contextId));
46             }
47             if (roleId.length() > 0) {
48                 theRole = RoleFactory.getInstance().getRole(new Integer JavaDoc(roleId));
49             }
50             if (theUser != null && theRole != null && theContext != null)
51             {
52                 PolicyFactory.getInstance().createPolicy(theUser,
53                                                            theRole,
54                                                            theContext,
55                                                            null,
56                                                            null,
57                                                            true);
58             }
59             TKHTMLTemplate t = null;
60             if (source.equals("USER"))
61             {
62                 t = evt.getPrepHTMLTemplate( "f_ac_user.tmpl" );
63                 HTMLUtils.fillFrameSet( t, HTMLUtils.LEFT_FRAME_WIDTH, "AC_USER_LIST", "AC_USER_EDIT" );
64                 t.set("USER_ID", loginId);
65             }
66             else if (source.equals("GROUP"))
67             {
68                 t = evt.getPrepHTMLTemplate( "f_ac_group.tmpl" );
69                 HTMLUtils.fillFrameSet( t, HTMLUtils.LEFT_FRAME_WIDTH, "AC_GROUP_LIST", "AC_GROUP_EDIT" );
70                 t.set("GROUP_ID", loginId);
71             }
72             String JavaDoc editPage = evt.getParameter(PARAMETER, "EDIT_PAGE");
73             t.set("EDIT_PAGE", (editPage == null ? "1" : editPage));
74             WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL);
75             evt.finishTemplate( t );
76
77         } catch (Throwable JavaDoc e) {
78             throw WebmanExceptionHandler.getException(e);
79         }
80     }
81
82     public boolean isHandler(TKEvent evt)
83     {
84         return evt.getName().equalsIgnoreCase( "AC_USER_GRANT_RIGHT" );
85     }
86
87 }
88
Popular Tags