]> source.dussan.org Git - archiva.git/blob
afe54ba5ae576138e32118b010fc2e5ed87215ca
[archiva.git] /
1 package org.apache.archiva.redback.rbac.ldap;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import org.apache.archiva.redback.common.ldap.connection.LdapConnectionFactory;
22 import org.apache.archiva.redback.rbac.AbstractRBACManager;
23 import org.apache.archiva.redback.rbac.AbstractRole;
24 import org.apache.archiva.redback.rbac.AbstractUserAssignment;
25 import org.apache.archiva.redback.rbac.Operation;
26 import org.apache.archiva.redback.rbac.Permission;
27 import org.apache.archiva.redback.rbac.RBACManager;
28 import org.apache.archiva.redback.rbac.RbacManagerException;
29 import org.apache.archiva.redback.rbac.RbacObjectInvalidException;
30 import org.apache.archiva.redback.rbac.RbacObjectNotFoundException;
31 import org.apache.archiva.redback.rbac.Resource;
32 import org.apache.archiva.redback.rbac.Role;
33 import org.apache.archiva.redback.rbac.UserAssignment;
34 import org.springframework.stereotype.Service;
35
36 import javax.inject.Inject;
37 import java.util.Collection;
38 import java.util.Collections;
39 import java.util.List;
40
41 /**
42  * @author Olivier Lamy
43  * @since 2.1
44  */
45 @Service( "rbacManager#ldap" )
46 public class LdapRbacManager
47     extends AbstractRBACManager
48     implements RBACManager
49 {
50
51     @Inject
52     private LdapConnectionFactory ldapConnectionFactory;
53
54     public Role createRole( String name )
55     {
56         return new MockRole();
57     }
58
59     public Role saveRole( Role role )
60         throws RbacManagerException
61     {
62         return role;
63     }
64
65     public void saveRoles( Collection<Role> roles )
66         throws RbacManagerException
67     {
68         // no op
69     }
70
71     public Role getRole( String roleName )
72         throws RbacManagerException
73     {
74         // TODO
75         return null;
76     }
77
78     public List<Role> getAllRoles()
79         throws RbacManagerException
80     {
81         // TODO
82         return Collections.emptyList();
83     }
84
85     public void removeRole( Role role )
86         throws RbacManagerException
87     {
88         // no op
89     }
90
91     public Permission createPermission( String name )
92         throws RbacManagerException
93     {
94         return new MockPermission();
95     }
96
97     public Permission createPermission( String name, String operationName, String resourceIdentifier )
98         throws RbacManagerException
99     {
100         return new MockPermission();
101     }
102
103     public Permission savePermission( Permission permission )
104         throws RbacManagerException
105     {
106         return permission;
107     }
108
109     public Permission getPermission( String permissionName )
110         throws RbacManagerException
111     {
112         return new MockPermission();
113     }
114
115     public List<Permission> getAllPermissions()
116         throws RbacManagerException
117     {
118         // TODO
119         return Collections.emptyList();
120     }
121
122     public void removePermission( Permission permission )
123         throws RbacManagerException
124     {
125         // no op
126     }
127
128     public Operation createOperation( String name )
129         throws RbacManagerException
130     {
131         return new MockOperation();
132     }
133
134     public Operation saveOperation( Operation operation )
135         throws RbacManagerException
136     {
137         return operation;
138     }
139
140     public Operation getOperation( String operationName )
141         throws RbacManagerException
142     {
143         return new MockOperation();
144     }
145
146     public List<Operation> getAllOperations()
147         throws RbacManagerException
148     {
149         // TODO
150         return Collections.emptyList();
151     }
152
153     public void removeOperation( Operation operation )
154         throws RbacManagerException
155     {
156         // no op
157     }
158
159     public Resource createResource( String identifier )
160         throws RbacManagerException
161     {
162         return new MockResource();
163     }
164
165     public Resource saveResource( Resource resource )
166         throws RbacManagerException
167     {
168         return resource;
169     }
170
171     public Resource getResource( String resourceIdentifier )
172         throws RbacManagerException
173     {
174         // TODO
175         return new MockResource();
176     }
177
178     public List<Resource> getAllResources()
179         throws RbacManagerException
180     {
181         // TODO
182         return Collections.emptyList();
183     }
184
185     public void removeResource( Resource resource )
186         throws RbacManagerException
187     {
188         // no op
189     }
190
191     public UserAssignment createUserAssignment( String principal )
192         throws RbacManagerException
193     {
194         return new MockUserAssignment();
195     }
196
197     public UserAssignment saveUserAssignment( UserAssignment userAssignment )
198         throws RbacManagerException
199     {
200         return userAssignment;
201     }
202
203     public UserAssignment getUserAssignment( String principal )
204         throws RbacManagerException
205     {
206         // TODO
207         return new MockUserAssignment();
208     }
209
210     public List<UserAssignment> getAllUserAssignments()
211         throws RbacManagerException
212     {
213         // TODO
214         return Collections.emptyList();
215     }
216
217     public List<UserAssignment> getUserAssignmentsForRoles( Collection<String> roleNames )
218         throws RbacManagerException
219     {
220         // TODO
221         return Collections.emptyList();
222     }
223
224     public void removeUserAssignment( UserAssignment userAssignment )
225         throws RbacManagerException
226     {
227         // no op
228     }
229
230     public void eraseDatabase()
231     {
232         // no op
233     }
234
235     //-------------------------------
236     // Mock classes
237     //-------------------------------
238
239     private static class MockRole
240         extends AbstractRole
241         implements Role
242     {
243         public void addPermission( Permission permission )
244         {
245             // no op
246         }
247
248         public void addChildRoleName( String name )
249         {
250             // no op
251         }
252
253         public List<String> getChildRoleNames()
254         {
255             return Collections.emptyList();
256         }
257
258         public String getDescription()
259         {
260             return null;
261         }
262
263         public String getName()
264         {
265             return null;
266         }
267
268         public List<Permission> getPermissions()
269         {
270             return Collections.emptyList();
271         }
272
273         public boolean isAssignable()
274         {
275             return false;
276         }
277
278         public void removePermission( Permission permission )
279         {
280             // no op
281         }
282
283         public void setAssignable( boolean assignable )
284         {
285             // no op
286         }
287
288         public void setChildRoleNames( List<String> names )
289         {
290             // no op
291         }
292
293         public void setDescription( String description )
294         {
295             // no op
296         }
297
298         public void setName( String name )
299         {
300             // no op
301         }
302
303         public void setPermissions( List<Permission> permissions )
304         {
305             //To change body of implemented methods use File | Settings | File Templates.
306         }
307
308         public boolean isPermanent()
309         {
310             return false;
311         }
312
313         public void setPermanent( boolean permanent )
314         {
315             // no op
316         }
317     }
318
319     private static class MockPermission
320         implements Permission
321     {
322         public String getDescription()
323         {
324             return null;
325         }
326
327         public String getName()
328         {
329             return null;
330         }
331
332         public Operation getOperation()
333         {
334             return null;
335         }
336
337         public Resource getResource()
338         {
339             return null;
340         }
341
342         public void setDescription( String description )
343         {
344             // no op
345         }
346
347         public void setName( String name )
348         {
349             // no op
350         }
351
352         public void setOperation( Operation operation )
353         {
354             // no op
355         }
356
357         public void setResource( Resource resource )
358         {
359             // no op
360         }
361
362         public boolean isPermanent()
363         {
364             return false;
365         }
366
367         public void setPermanent( boolean permanent )
368         {
369             // no op
370         }
371     }
372
373     private static class MockOperation
374         implements Operation
375     {
376         public String getDescription()
377         {
378             return null;
379         }
380
381         public String getName()
382         {
383             return null;
384         }
385
386         public void setDescription( String description )
387         {
388             // no op
389         }
390
391         public void setName( String name )
392         {
393             // no op
394         }
395
396         public boolean isPermanent()
397         {
398             return false;
399         }
400
401         public void setPermanent( boolean permanent )
402         {
403             // no op
404         }
405     }
406
407     private static class MockResource
408         implements Resource
409     {
410         public String getIdentifier()
411         {
412             return null;
413         }
414
415         public boolean isPattern()
416         {
417             return false;
418         }
419
420         public void setIdentifier( String identifier )
421         {
422             // no op
423         }
424
425         public void setPattern( boolean pattern )
426         {
427             // no op
428         }
429
430         public boolean isPermanent()
431         {
432             return false;
433         }
434
435         public void setPermanent( boolean permanent )
436         {
437             // no op
438         }
439     }
440
441     private static class MockUserAssignment
442         extends AbstractUserAssignment
443         implements UserAssignment
444     {
445         public String getPrincipal()
446         {
447             return null;
448         }
449
450         public List<String> getRoleNames()
451         {
452             return Collections.emptyList();
453         }
454
455         public void setPrincipal( String principal )
456         {
457             // no op
458         }
459
460         public void setRoleNames( List<String> roles )
461         {
462             // no op
463         }
464
465         public boolean isPermanent()
466         {
467             return false;
468         }
469
470         public void setPermanent( boolean permanent )
471         {
472             // no op
473         }
474     }
475 }