1 package org.apache.maven.continuum.web.checks.security;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.continuum.Continuum;
23 import org.apache.maven.continuum.model.project.ProjectGroup;
24 import org.codehaus.plexus.redback.role.RoleManager;
25 import org.codehaus.plexus.redback.role.RoleManagerException;
26 import org.codehaus.plexus.redback.system.check.EnvironmentCheck;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30 import java.util.Collection;
31 import java.util.Iterator;
32 import java.util.List;
33
34
35
36
37
38
39
40
41
42 public class RoleProfileEnvironmentCheck
43 implements EnvironmentCheck
44 {
45 private static final Logger log = LoggerFactory.getLogger( RoleProfileEnvironmentCheck.class );
46
47
48
49
50 private RoleManager roleManager;
51
52
53
54
55 private Continuum continuum;
56
57 public void validateEnvironment( List list )
58 {
59 try
60 {
61 log.info( "Checking roles list." );
62
63 Collection<ProjectGroup> projectGroups = continuum.getAllProjectGroups();
64
65 for ( ProjectGroup group: projectGroups )
66 {
67
68
69 if ( !roleManager.templatedRoleExists( "project-administrator", group.getName() ) )
70 {
71 roleManager.createTemplatedRole( "project-administrator", group.getName() );
72 }
73 if ( !roleManager.templatedRoleExists( "project-developer", group.getName() ) )
74 {
75 roleManager.createTemplatedRole( "project-developer", group.getName() );
76 }
77
78 if ( !roleManager.templatedRoleExists( "project-user", group.getName() ) )
79 {
80 roleManager.createTemplatedRole( "project-user", group.getName() );
81 }
82 }
83
84 }
85 catch ( RoleManagerException rpe )
86 {
87 rpe.printStackTrace();
88 list.add( "error checking existence of roles for groups" );
89 }
90 }
91 }