1 package org.apache.maven.archiva.web.action.admin;
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.apache.maven.archiva.configuration.AbstractRepositoryConfiguration;
20 import org.apache.maven.archiva.configuration.RepositoryConfiguration;
21 import org.codehaus.plexus.rbac.profile.RoleProfileException;
24 import java.io.IOException;
27 * Configures the application repositories.
29 * @plexus.component role="com.opensymphony.xwork.Action" role-hint="configureRepositoryAction"
31 public class ConfigureRepositoryAction
32 extends AbstractConfigureRepositoryAction
34 protected void removeRepository( AbstractRepositoryConfiguration existingRepository )
36 configuration.removeRepository( (RepositoryConfiguration) existingRepository );
39 protected AbstractRepositoryConfiguration getRepository( String id )
41 return configuration.getRepositoryById( id );
44 protected void addRepository()
45 throws IOException, RoleProfileException
47 RepositoryConfiguration repository = (RepositoryConfiguration) getRepository();
50 File file = new File( repository.getDirectory() );
51 repository.setDirectory( file.getCanonicalPath() );
55 // TODO: error handling when this fails, or is not a directory!
58 configuration.addRepository( repository );
60 // TODO: double check these are configured on start up
61 roleProfileManager.getDynamicRole( "archiva-repository-manager", repository.getId() );
63 roleProfileManager.getDynamicRole( "archiva-repository-observer", repository.getId() );
66 protected AbstractRepositoryConfiguration createRepository()
68 RepositoryConfiguration repository = new RepositoryConfiguration();
69 repository.setIndexed( false );