01: /*
02: * (C) Copyright 2000 - 2006 Nabh Information Systems, Inc.
03: *
04: * This program is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU General Public License
06: * as published by the Free Software Foundation; either version 2
07: * of the License, or (at your option) any later version.
08: *
09: * This program is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU General Public License for more details.
13: *
14: * You should have received a copy of the GNU General Public License
15: * along with this program; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17: *
18: */
19: package com.nabhinc.portlet.portletadmin;
20:
21: import java.io.IOException;
22:
23: import javax.portlet.ActionRequest;
24: import javax.portlet.ActionResponse;
25: import javax.portlet.PortletException;
26:
27: import com.nabhinc.condition.AccessControlEntry;
28: import com.nabhinc.condition.AllowRoles;
29: import com.nabhinc.condition.AllowUsers;
30: import com.nabhinc.condition.Condition;
31: import com.nabhinc.condition.DenyRoles;
32: import com.nabhinc.condition.DenyUsers;
33: import com.nabhinc.condition.SQLCondition;
34: import com.nabhinc.portal.model.PortletAccessController;
35: import com.nabhinc.portlet.mvcportlet.core.ActionConfig;
36: import com.nabhinc.portlet.mvcportlet.core.ActionProcessor;
37: import com.nabhinc.portlet.mvcportlet.core.BaseRequestProcessor;
38: import com.nabhinc.util.StringUtil;
39:
40: /**
41: *
42: *
43: * @author Padmanabh Dabke
44: * (c) 2006 Nabh Information Systems, Inc. All Rights Reserved.
45: */
46: public class AccessControlEntryPopulator extends BaseRequestProcessor
47: implements ActionProcessor {
48:
49: public String process(ActionRequest request,
50: ActionResponse response, ActionConfig actionConfig)
51: throws PortletException, IOException {
52: int index = Integer.parseInt(request.getParameter("index"));
53: PortletAccessController ac = PortletAccessController
54: .getInstance();
55: AccessControlEntry entry = ac.getEntries().get(index);
56: response.setRenderParameter("portlets", StringUtil.split(
57: entry.items, ","));
58: if (entry.actions != null)
59: response.setRenderParameter("actions", StringUtil.split(
60: entry.actions, ","));
61:
62: String permType = null;
63: Condition cond = entry.condition;
64: if (cond instanceof AllowRoles) {
65: permType = "prole";
66: response.setRenderParameter("roles", ((AllowRoles) cond)
67: .getRoles());
68: } else if (cond instanceof DenyRoles) {
69: permType = "nrole";
70: response.setRenderParameter("roles", ((DenyRoles) cond)
71: .getRoles());
72: } else if (cond instanceof AllowUsers) {
73: permType = "puser";
74: response.setRenderParameter("users", ((AllowUsers) cond)
75: .getUsers());
76: } else if (cond instanceof DenyUsers) {
77: permType = "nuser";
78: response.setRenderParameter("users", ((DenyUsers) cond)
79: .getUsers());
80: } else if (cond instanceof SQLCondition) {
81: permType = "relation";
82: response.setRenderParameter("sql", ((SQLCondition) cond)
83: .getSQL());
84: }
85:
86: if (permType != null)
87: response.setRenderParameter("perm_type", permType);
88: return "success";
89: }
90: }
|