1 package org.apache.archiva.web.xmlrpc.api;
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
22 import com.atlassian.xmlrpc.ServiceObject;
23 import org.apache.archiva.admin.repository.RepositoryAdminException;
24 import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
25 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
27 import java.util.List;
29 @ServiceObject( "AdministrationService" )
30 public interface AdministrationService
33 * Executes repository scanner on the given repository.
35 * @param repoId id of the repository to be scanned
39 Boolean executeRepositoryScanner( String repoId )
43 * Gets all available repository consumers.
47 List<String> getAllRepositoryConsumers();
49 // TODO should we already implement config of consumers per repository?
52 * Configures (enable or disable) repository consumer.
60 Boolean configureRepositoryConsumer( String repoId, String consumerId, boolean enable )
64 * Gets all managed repositories.
68 List<ManagedRepository> getAllManagedRepositories()
69 throws RepositoryAdminException;
72 * Gets all remote repositories.
76 List<RemoteRepository> getAllRemoteRepositories()
77 throws RepositoryAdminException;
80 * Deletes given artifact from the specified repository.
82 * @param repoId id of the repository where the artifact to be deleted resides
83 * @param groupId groupId of the artifact to be deleted
84 * @param artifactId artifactId of the artifact to be deleted
85 * @param version version of the artifact to be deleted
89 Boolean deleteArtifact( String repoId, String groupId, String artifactId, String version )
93 * Create a new managed repository with the given parameters.
99 * @param blockRedeployments
100 * @param releasesIncluded
101 * @param snapshotsIncluded
102 * @param cronExpression
106 Boolean addManagedRepository( String repoId, String layout, String name, String location,
107 boolean blockRedeployments, boolean releasesIncluded, boolean snapshotsIncluded,
108 boolean stageRepoNeeded, String cronExpression, int daysOlder, int retentionCount,
109 boolean deleteReleasedSnapshots )
113 * Deletes a managed repository with the given repository id.
118 Boolean deleteManagedRepository( String repoId )
122 * Deletes a managed repository content with the given repository id
128 Boolean deleteManagedRepositoryContent( String repoId )
132 * Get a managed repository with the given repository id.
138 ManagedRepository getManagedRepository( String repoId )
141 // consider the following as additional services:
142 // - getAllConfiguredRepositoryConsumers( String repoId ) - list all enabled consumers for the repo
143 // - getAllConfiguredDatabaseConsumers() - list all enabled db consumers
146 * Merge staging repository with the managed repository and skips if there are conflicts
149 * @param skipConflicts
153 boolean merge( String repoId, boolean skipConflicts )