1 package org.apache.maven.continuum.core.action;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.continuum.dao.ProjectGroupDao;
23 import org.apache.maven.continuum.ContinuumException;
24 import org.apache.maven.continuum.model.project.ProjectGroup;
25 import org.apache.maven.continuum.store.ContinuumStoreException;
26 import org.codehaus.plexus.redback.role.RoleManager;
27 import org.codehaus.plexus.redback.role.RoleManagerException;
28
29 import java.util.Map;
30
31
32
33
34
35
36
37
38 public class AddAssignableRolesAction
39 extends AbstractContinuumAction
40 {
41
42
43
44 private ProjectGroupDao projectGroupDao;
45
46
47
48
49 private RoleManager roleManager;
50
51 public void execute( Map context )
52 throws ContinuumException, ContinuumStoreException
53 {
54 int projectGroupId = getProjectGroupId( context );
55
56 ProjectGroup projectGroup = projectGroupDao.getProjectGroup( projectGroupId );
57
58
59
60 try
61 {
62 if ( !roleManager.templatedRoleExists( "project-administrator", projectGroup.getName() ) )
63 {
64 roleManager.createTemplatedRole( "project-administrator", projectGroup.getName() );
65 }
66 if ( !roleManager.templatedRoleExists( "project-developer", projectGroup.getName() ) )
67 {
68 roleManager.createTemplatedRole( "project-developer", projectGroup.getName() );
69 }
70
71 if ( !roleManager.templatedRoleExists( "project-user", projectGroup.getName() ) )
72 {
73 roleManager.createTemplatedRole( "project-user", projectGroup.getName() );
74 }
75 }
76 catch ( RoleManagerException e )
77 {
78 e.printStackTrace();
79 throw new ContinuumException( "error generating templated role for project " + projectGroup.getName(), e );
80 }
81 }
82 }