1 package org.apache.maven.archiva.security;
4 * Copyright 2005-2006 The Apache Software Foundation.
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 import org.codehaus.plexus.rbac.profile.AbstractDynamicRoleProfile;
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
26 * @plexus.component role="org.codehaus.plexus.rbac.profile.DynamicRoleProfile"
27 * role-hint="archiva-repository-manager"
29 public class RepositoryManagerDynamicRoleProfile
30 extends AbstractDynamicRoleProfile
33 * Create the Role name for a Repository Manager, using the provided repository id.
35 * @param repoId the repository id
37 public String getRoleName( String repoId )
39 return ArchivaRoleConstants.REPOSITORY_MANAGER_ROLE_PREFIX + ArchivaRoleConstants.DELIMITER + repoId;
42 public List getOperations()
44 List operations = new ArrayList();
46 // I'm not sure these are appropriate roles.
47 operations.add( ArchivaRoleConstants.OPERATION_EDIT_REPOSITORY );
48 operations.add( ArchivaRoleConstants.OPERATION_DELETE_REPOSITORY );
50 operations.add( ArchivaRoleConstants.OPERATION_REPOSITORY_ACCESS );
51 operations.add( ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD );
56 public List getChildRoles()
58 return Collections.singletonList( ArchivaRoleConstants.BASE_REPOSITORY_MANAGER );
61 public List getDynamicChildRoles( String string )
63 return Collections.singletonList(
64 ArchivaRoleConstants.REPOSITORY_OBSERVER_ROLE_PREFIX + ArchivaRoleConstants.DELIMITER + string );
67 public boolean isAssignable()