KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > am > constants > Permissions


1 /*
2  * $Id: Permissions.java,v 1.4 2005/06/07 12:32:36 bel70 Exp $
3  *
4  * ***** BEGIN LICENSE BLOCK *****
5  * The contents of this file are subject to the Mozilla Public License
6  * Version 1.1 (the "License"); you may not use this file except in
7  * compliance with the License. You may obtain a copy of the License
8  * at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS"
11  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
12  * the License for the specific language governing rights and
13  * limitations under the License.
14  *
15  * The Original Code is JGossip forum code.
16  *
17  * The Initial Developer of the Original Code is the JResearch, Org.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  * Portions created by the Werner Ramaekers are Copyright (C) 2003-2004
21  * the Werner Ramaekers (Shift@). All Rights Reserved.
22  *
23  * Contributor(s):
24  * Dmitriy Belov <bel@jresearch.org>
25  * .
26  * * ***** END LICENSE BLOCK ***** */

27 /*
28  * Created on 22.07.2004
29  *
30  */

31 package org.jresearch.gossip.am.constants;
32
33 import java.util.ArrayList JavaDoc;
34
35 import org.jresearch.gossip.am.values.PermissionObject;
36 import org.jresearch.gossip.am.values.PermissionOperation;
37 import org.jresearch.gossip.am.values.PermissionPoint;
38 import org.jresearch.gossip.constants.UserStatus;
39
40 /**
41  * @author dbelov
42  *
43  */

44 public class Permissions {
45
46     private ArrayList JavaDoc ADM_PERMISSIONS = new ArrayList JavaDoc();
47
48     private ArrayList JavaDoc JRADM_PERMISSIONS = new ArrayList JavaDoc();
49
50     private ArrayList JavaDoc MAINMOD_PERMISSIONS = new ArrayList JavaDoc();
51
52     private ArrayList JavaDoc MOD_PERMISSIONS = new ArrayList JavaDoc();
53
54     private ArrayList JavaDoc GUEST_PERMISSIONS = new ArrayList JavaDoc();
55
56     private ArrayList JavaDoc USER_PERMISSIONS = new ArrayList JavaDoc();
57
58     private static Permissions instance;
59
60     private static Object JavaDoc lock = new Object JavaDoc();
61
62     /**
63      * @return
64      */

65     public static Permissions getInstance() {
66         if (instance == null) {
67             synchronized (lock) {
68                 if (instance == null) {
69                     instance = new Permissions();
70                 }
71             }
72         }
73         return instance;
74     }
75
76     private Permissions() {
77         ADM_PERMISSIONS.add(PermissionPoint.ALL_PERMISSIONS);
78
79         JRADM_PERMISSIONS.add(PermissionPoint.ADM_FORUM);
80         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
81                 PermissionObject.SYSTEM), new PermissionOperation(
82                 PermissionOperation.READ)));
83         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
84                 PermissionObject.USER), new PermissionOperation(
85                 PermissionOperation.READ)));
86         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
87                 PermissionObject.USER), new PermissionOperation(
88                 PermissionOperation.CHANGE_STATUS)));
89         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
90                 PermissionObject.USER), new PermissionOperation(
91                 PermissionOperation.UPDATE)));
92         JRADM_PERMISSIONS.add(PermissionPoint.ADM_TOPIC);
93         JRADM_PERMISSIONS.add(PermissionPoint.ADM_MESSAGE);
94         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
95                 PermissionObject.FORUM), new PermissionOperation(
96                 PermissionOperation.READ)));
97         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
98                 PermissionObject.ATTACH), PermissionOperation.ALL_OPERATIONS));
99         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
100                 PermissionObject.FORUM), new PermissionOperation(
101                 PermissionOperation.Forum.MOVE_TOPIC)));
102         JRADM_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
103                 PermissionObject.FORUM), new PermissionOperation(
104                 PermissionOperation.Forum.SUBSCRIBE)));
105
106         MAINMOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
107                 PermissionObject.FORUM), new PermissionOperation(
108                 PermissionOperation.READ)));
109         MAINMOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
110                 PermissionObject.FORUM), new PermissionOperation(
111                 PermissionOperation.Forum.SUBSCRIBE)));
112         MAINMOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
113                 PermissionObject.ATTACH), PermissionOperation.ALL_OPERATIONS));
114         MAINMOD_PERMISSIONS.add(PermissionPoint.ADM_TOPIC);
115         MAINMOD_PERMISSIONS.add(PermissionPoint.ADM_MESSAGE);
116         MAINMOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
117                 PermissionObject.USER), new PermissionOperation(
118                 PermissionOperation.READ)));
119         MAINMOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
120                 PermissionObject.USER), new PermissionOperation(
121                 PermissionOperation.UPDATE)));
122
123         GUEST_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
124                 PermissionObject.FORUM), new PermissionOperation(
125                 PermissionOperation.Forum.SUBSCRIBE)));
126         GUEST_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
127                 PermissionObject.FORUM), new PermissionOperation(
128                 PermissionOperation.READ)));
129         GUEST_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
130                 PermissionObject.MESSAGE), new PermissionOperation(
131                 PermissionOperation.ADD)));
132
133         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
134                 PermissionObject.FORUM), new PermissionOperation(
135                 PermissionOperation.Forum.SUBSCRIBE)));
136         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
137                 PermissionObject.FORUM), new PermissionOperation(
138                 PermissionOperation.READ)));
139         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
140                 PermissionObject.ATTACH), new PermissionOperation(
141                 PermissionOperation.ADD)));
142         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
143                 PermissionObject.ATTACH), new PermissionOperation(
144                 PermissionOperation.READ)));
145         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
146                 PermissionObject.ATTACH), new PermissionOperation(
147                 PermissionOperation.UPDATE)));
148         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
149                 PermissionObject.TOPIC), new PermissionOperation(
150                 PermissionOperation.ADD)));
151         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
152                 PermissionObject.MESSAGE), new PermissionOperation(
153                 PermissionOperation.ADD)));
154         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
155                 PermissionObject.MESSAGE), new PermissionOperation(
156                 PermissionOperation.UPDATE)));
157         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
158                 PermissionObject.USER), new PermissionOperation(
159                 PermissionOperation.READ)));
160         USER_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
161                 PermissionObject.USER), new PermissionOperation(
162                 PermissionOperation.UPDATE)));
163
164         MOD_PERMISSIONS.addAll(USER_PERMISSIONS);
165         MOD_PERMISSIONS.add(new PermissionPoint(new PermissionObject(
166                 PermissionObject.ATTACH), PermissionOperation.ALL_OPERATIONS));
167         MOD_PERMISSIONS.add(PermissionPoint.ADM_TOPIC);
168         MOD_PERMISSIONS.add(PermissionPoint.ADM_MESSAGE);
169
170     }
171
172     /**
173      * @param roleId
174      * @return
175      */

176     public ArrayList JavaDoc getPermissions(int roleId) {
177         switch (roleId) {
178         case UserStatus.GUEST:
179             return GUEST_PERMISSIONS;
180         case UserStatus.USER:
181             return USER_PERMISSIONS;
182         case UserStatus.ADM:
183             return ADM_PERMISSIONS;
184         case UserStatus.JRADM:
185             return JRADM_PERMISSIONS;
186         case UserStatus.MAINMOD:
187             return MAINMOD_PERMISSIONS;
188         case UserStatus.MOD:
189             return MOD_PERMISSIONS;
190         }
191         return new ArrayList JavaDoc();
192     }
193
194 }
Popular Tags