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.List;
32
33
34
35
36
37
38
39
40
41 public class RoleProfileEnvironmentCheck
42 implements EnvironmentCheck
43 {
44 private static final Logger log = LoggerFactory.getLogger( RoleProfileEnvironmentCheck.class );
45
46
47
48
49 private RoleManager roleManager;
50
51
52
53
54 private Continuum continuum;
55
56 public void validateEnvironment( List list )
57 {
58 try
59 {
60 log.info( "Checking roles list." );
61
62 Collection<ProjectGroup> projectGroups = continuum.getAllProjectGroups();
63
64 for ( ProjectGroup group : projectGroups )
65 {
66
67
68 if ( !roleManager.templatedRoleExists( "project-administrator", group.getName() ) )
69 {
70 roleManager.createTemplatedRole( "project-administrator", group.getName() );
71 }
72 if ( !roleManager.templatedRoleExists( "project-developer", group.getName() ) )
73 {
74 roleManager.createTemplatedRole( "project-developer", group.getName() );
75 }
76
77 if ( !roleManager.templatedRoleExists( "project-user", group.getName() ) )
78 {
79 roleManager.createTemplatedRole( "project-user", group.getName() );
80 }
81 }
82
83 }
84 catch ( RoleManagerException rpe )
85 {
86 rpe.printStackTrace();
87 list.add( "error checking existence of roles for groups" );
88 }
89 }
90 }