This project has retired. For details please refer to its Attic page.
RBACDefaults xref
View Javadoc

1   package org.apache.archiva.redback.tests.utils;
2   
3   /*
4    * Copyright 2006 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *      http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  import org.apache.archiva.redback.rbac.Permission;
20  import org.apache.archiva.redback.rbac.Operation;
21  import org.apache.archiva.redback.rbac.RBACManager;
22  import org.apache.archiva.redback.rbac.Role;
23  import org.apache.archiva.redback.rbac.RbacManagerException;
24  
25  public class RBACDefaults
26  {
27      private final RBACManager manager;
28  
29      public RBACDefaults( RBACManager manager )
30      {
31          this.manager = manager;
32      }
33  
34      public RBACManager createDefaults()
35          throws RbacManagerException
36      {
37          if ( !manager.operationExists( "add-repository" ) )
38          {
39              Operation operation = manager.createOperation( "add-repository" );
40              manager.saveOperation( operation );
41          }
42  
43          if ( !manager.operationExists( "edit-repository" ) )
44          {
45              Operation operation = manager.createOperation( "edit-repository" );
46              manager.saveOperation( operation );
47          }
48  
49          if ( !manager.operationExists( "delete-repository" ) )
50          {
51              Operation operation = manager.createOperation( "delete-repository" );
52              manager.saveOperation( operation );
53          }
54  
55          if ( !manager.operationExists( "edit-configuration" ) )
56          {
57              Operation operation = manager.createOperation( "edit-configuration" );
58              manager.saveOperation( operation );
59          }
60  
61          if ( !manager.operationExists( "run-indexer" ) )
62          {
63              Operation operation = manager.createOperation( "run-indexer" );
64              manager.saveOperation( operation );
65          }
66  
67          if ( !manager.operationExists( "regenerate-index" ) )
68          {
69              Operation operation = manager.createOperation( "regenerate-index" );
70              manager.saveOperation( operation );
71          }
72  
73          if ( !manager.operationExists( "get-reports" ) )
74          {
75              Operation operation = manager.createOperation( "get-reports" );
76              manager.saveOperation( operation );
77          }
78  
79          if ( !manager.operationExists( "regenerate-reports" ) )
80          {
81              Operation operation = manager.createOperation( "regenerate-reports" );
82              manager.saveOperation( operation );
83          }
84  
85          if ( !manager.operationExists( "edit-user" ) )
86          {
87              Operation operation = manager.createOperation( "edit-user" );
88              manager.saveOperation( operation );
89          }
90  
91          if ( !manager.operationExists( "edit-all-users" ) )
92          {
93              Operation operation = manager.createOperation( "edit-all-users" );
94              manager.saveOperation( operation );
95          }
96  
97          if ( !manager.operationExists( "remove-roles" ) )
98          {
99              Operation operation = manager.createOperation( "remove-roles" );
100             manager.saveOperation( operation );
101         }
102 
103         if ( !manager.permissionExists( "Edit Configuration" ) )
104         {
105             Permission editConfiguration = manager.createPermission( "Edit Configuration", "edit-configuration",
106                                                                      manager.getGlobalResource().getIdentifier() );
107             manager.savePermission( editConfiguration );
108         }
109 
110         if ( !manager.permissionExists( "Run Indexer" ) )
111         {
112             Permission runIndexer = manager.createPermission( "Run Indexer", "run-indexer", manager.getGlobalResource()
113                 .getIdentifier() );
114 
115             manager.savePermission( runIndexer );
116         }
117 
118         if ( !manager.permissionExists( "Add Repository" ) )
119         {
120             Permission runIndexer = manager.createPermission( "Add Repository", "add-repository", manager
121                 .getGlobalResource().getIdentifier() );
122             manager.savePermission( runIndexer );
123         }
124 
125         if ( !manager.permissionExists( "Edit All Users" ) )
126         {
127             Permission editAllUsers = manager.createPermission( "Edit All Users", "edit-all-users", manager
128                 .getGlobalResource().getIdentifier() );
129 
130             manager.savePermission( editAllUsers );
131         }
132 
133         if ( !manager.permissionExists( "Remove Roles" ) )
134         {
135             Permission editAllUsers = manager.createPermission( "Remove Roles", "remove-roles", manager
136                 .getGlobalResource().getIdentifier() );
137 
138             manager.savePermission( editAllUsers );
139         }
140 
141         if ( !manager.permissionExists( "Regenerate Index" ) )
142         {
143             Permission regenIndex = manager.createPermission( "Regenerate Index", "regenerate-index", manager
144                 .getGlobalResource().getIdentifier() );
145 
146             manager.savePermission( regenIndex );
147         }
148 
149         if ( !manager.roleExists( "User Administrator" ) )
150         {
151             Role userAdmin = manager.createRole( "User Administrator" );
152             userAdmin.addPermission( manager.getPermission( "Edit All Users" ) );
153             userAdmin.addPermission( manager.getPermission( "Remove Roles" ) );
154             userAdmin.setAssignable( true );
155             manager.saveRole( userAdmin );
156         }
157 
158         if ( !manager.roleExists( "System Administrator" ) )
159         {
160             Role admin = manager.createRole( "System Administrator" );
161             admin.addChildRoleName( "User Administrator" );
162             admin.addPermission( manager.getPermission( "Edit Configuration" ) );
163             admin.addPermission( manager.getPermission( "Run Indexer" ) );
164             admin.addPermission( manager.getPermission( "Add Repository" ) );
165             admin.addPermission( manager.getPermission( "Regenerate Index" ) );
166             admin.setAssignable( true );
167             manager.saveRole( admin );
168         }
169 
170         if ( !manager.roleExists( "Trusted Developer" ) )
171         {
172             Role developer = manager.createRole( "Trusted Developer" );
173             developer.addChildRoleName( "System Administrator" );
174             developer.addPermission( manager.getPermission( "Run Indexer" ) );
175             developer.setAssignable( true );
176             manager.saveRole( developer );
177         }
178 
179         if ( !manager.roleExists( "Developer" ) )
180         {
181             Role developer = manager.createRole( "Developer" );
182             developer.addChildRoleName( "Trusted Developer" );
183             developer.addPermission( manager.getPermission( "Run Indexer" ) );
184             developer.setAssignable( true );
185             manager.saveRole( developer );
186         }
187 
188         return manager;
189     }
190 }