KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > console > securitymanager > SEGroupsPortlet


1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.geronimo.console.securitymanager;
19
20 import java.io.IOException JavaDoc;
21 import java.util.Hashtable JavaDoc;
22
23 import javax.portlet.ActionRequest;
24 import javax.portlet.ActionResponse;
25 import javax.portlet.PortletConfig;
26 import javax.portlet.PortletContext;
27 import javax.portlet.PortletException;
28 import javax.portlet.RenderRequest;
29 import javax.portlet.RenderResponse;
30 import javax.portlet.WindowState;
31
32 import org.apache.geronimo.console.util.SERealmGroupHelper;
33 import org.apache.geronimo.console.util.SERealmUserHelper;
34
35 public class SEGroupsPortlet extends AbstractSecurityManagerPortlet {
36
37     protected void doView(RenderRequest renderRequest,
38             RenderResponse renderResponse) throws PortletException, IOException JavaDoc {
39         if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
40             return;
41         }
42
43         String JavaDoc errorMessage = renderRequest.getParameter("errorMessage");
44
45         if (errorMessage != null) {
46             renderRequest.setAttribute("errorMessage", errorMessage);
47             errorView.include(renderRequest, renderResponse);
48         } else {
49             String JavaDoc currAction = renderRequest.getParameter("currAction");
50             String JavaDoc message = renderRequest.getParameter("message");
51             renderRequest.setAttribute("message", message);
52
53             try {
54                 if ("new".equals(currAction)) {
55                     renderRequest.setAttribute("users", SERealmUserHelper
56                             .getUsers());
57                     addMaximizedView.include(renderRequest, renderResponse);
58                 } else if ("edit".equals(currAction)) {
59                     String JavaDoc group = renderRequest.getParameter("group");
60                     renderRequest.setAttribute("group", group);
61                     renderRequest.setAttribute("users", SERealmUserHelper
62                             .getUsers());
63                     addMaximizedView.include(renderRequest, renderResponse);
64                 } else {
65                     String JavaDoc[] groups = SERealmGroupHelper.getGroups();
66                     Hashtable JavaDoc groupsInfo = new Hashtable JavaDoc();
67                     for (int i = 0; i < groups.length; i++) {
68                         String JavaDoc currentGroup = groups[i];
69                         groupsInfo.put(currentGroup, SERealmGroupHelper
70                                 .getUsers(currentGroup));
71                     }
72                     renderRequest.setAttribute("groupsInfo", groupsInfo);
73
74                     if (WindowState.NORMAL.equals(renderRequest
75                             .getWindowState())) {
76                         normalView.include(renderRequest, renderResponse);
77                     } else {
78                         maximizedView.include(renderRequest, renderResponse);
79                     }
80                 }
81             } catch (Exception JavaDoc e) {
82                 errorMessage = e.getMessage();
83                 renderRequest.setAttribute("errorMessage", errorMessage);
84                 errorView.include(renderRequest, renderResponse);
85             }
86         }
87     }
88
89     public void init(PortletConfig portletConfig) throws PortletException {
90         super.init(portletConfig);
91         PortletContext pc = portletConfig.getPortletContext();
92         normalView = pc
93                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/normal.jsp");
94         addNormalView = pc
95                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/addnormal.jsp");
96         maximizedView = pc
97                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/maximized.jsp");
98         addMaximizedView = pc
99                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/addmaximized.jsp");
100         helpView = pc
101                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/help.jsp");
102         errorView = pc
103                 .getRequestDispatcher("/WEB-INF/view/securityrealmmanager/se/groups/error.jsp");
104     }
105
106     public void processAction(ActionRequest actionRequest,
107             ActionResponse actionResponse) throws PortletException, IOException JavaDoc {
108         String JavaDoc action = actionRequest.getParameter("action").trim();
109         String JavaDoc cancel = actionRequest.getParameter("cancel");
110         String JavaDoc currAction = "";
111         if (cancel != null) {
112             action = "";
113         }
114         String JavaDoc group = actionRequest.getParameter("group");
115         String JavaDoc[] users = actionRequest.getParameterValues("users");
116
117         try {
118             if ("delete".equals(action)) {
119                 SERealmGroupHelper.deleteGroup(group);
120             } else if ("update".equals(action)) {
121                 SERealmGroupHelper.updateGroup(group, users);
122             } else if ("add".equals(action)) {
123                 try {
124                     SERealmGroupHelper.addGroup(group, users);
125                 } catch (Exception JavaDoc e) {
126                     actionResponse.setRenderParameter("message",
127                             "ERROR: Error in SEGroupsPortlet while adding group "+group+". Cause:"+e.getMessage());
128                 }
129             } else if ("new".equals(action)) {
130                 currAction = "new";
131             } else if ("edit".equals(action)) {
132                 currAction = "edit";
133             }
134             actionResponse.setRenderParameter("currAction", currAction);
135             if (group != null) {
136                 actionResponse.setRenderParameter("group", group);
137             }
138         } catch (Exception JavaDoc e) {
139             actionResponse.setRenderParameter("message",
140                     "Error encountered in SEGroupsPortlet. Cause: "
141                             + e.getMessage());
142         }
143     }
144 }
Popular Tags