1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.anite.antelope.modules.actions.security;
18
19 import org.apache.fulcrum.security.RoleManager;
20 import org.apache.fulcrum.security.SecurityService;
21 import org.apache.fulcrum.security.model.dynamic.DynamicModelManager;
22 import org.apache.fulcrum.security.model.dynamic.entity.DynamicRole;
23 import org.apache.turbine.util.RunData;
24 import org.apache.velocity.context.Context;
25
26 import com.anite.antelope.modules.actions.SecureAction;
27 import com.anite.antelope.modules.tools.SecurityTool;
28 import com.anite.penguin.form.Field;
29 import com.anite.penguin.modules.tools.FieldMap;
30 import com.anite.penguin.modules.tools.FormTool;
31
32 /***
33 *
34 * @author <a href="mailTo:michael.jones@anite.com">Michael.Jones </a>
35 *
36 */
37 public class DeleteRole extends SecureAction {
38
39
40
41
42
43
44
45 public void doPerform(RunData data, Context context) throws Exception {
46 FormTool form = (FormTool) context.get(FormTool.DEFAULT_TOOL_NAME);
47 SecurityTool security = (SecurityTool) context
48 .get(SecurityTool.DEFAULT_TOOL_NAME);
49
50 if (form.isAllValid()) {
51
52 SecurityService securityService;
53 RoleManager roleManager;
54 DynamicModelManager modelManager;
55 FieldMap fieldMap;
56 Field roleField;
57 DynamicRole role;
58
59 roleManager = security.getRoleManager();
60 modelManager = (DynamicModelManager) security.getModelManager();
61
62
63 fieldMap = form.getFields();
64 roleField = (Field) fieldMap.get("allocatedroles");
65 role = (DynamicRole) roleManager.getRoleById(Long
66 .valueOf(roleField.getValue()));
67
68 modelManager.revokeAll(role);
69 roleManager.removeRole(role);
70
71
72 roleField.setValue("");
73 }
74 }
75 }
76