]> source.dussan.org Git - archiva.git/blob
ba44c60b3797295cd4450c2a204bc68fffc1a304
[archiva.git] /
1 package org.apache.archiva.web.xmlrpc.api;
2
3 /*
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
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
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
19  * under the License.
20  */
21
22 import java.util.List;
23
24 import com.atlassian.xmlrpc.ServiceObject;
25 import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
26 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
27
28 @ServiceObject( "AdministrationService" )
29 public interface AdministrationService
30 {    
31     /**
32      * Executes repository scanner on the given repository.
33      *  
34      * @param repoId id of the repository to be scanned
35      * @return
36      * @throws Exception
37      */
38     public Boolean executeRepositoryScanner( String repoId ) throws Exception;
39
40     /**
41      * Gets all available repository consumers.
42      * 
43      * @return
44      */
45     public List<String> getAllRepositoryConsumers();
46     
47  // TODO should we already implement config of consumers per repository?
48     /**
49      * Configures (enable or disable) repository consumer.
50      * 
51      * @param repoId
52      * @param consumerId
53      * @param enable
54      * @return
55      * @throws Exception
56      */    
57     public Boolean configureRepositoryConsumer( String repoId, String consumerId, boolean enable ) throws Exception;
58
59     /**
60      * Gets all managed repositories.
61      * 
62      * @return
63      */
64     public List<ManagedRepository> getAllManagedRepositories();
65
66     /**
67      * Gets all remote repositories.
68      * 
69      * @return
70      */
71     public List<RemoteRepository> getAllRemoteRepositories();
72
73     /**
74      * Deletes given artifact from the specified repository.
75      * 
76      * @param repoId id of the repository where the artifact to be deleted resides
77      * @param groupId groupId of the artifact to be deleted
78      * @param artifactId artifactId of the artifact to be deleted
79      * @param version version of the artifact to be deleted
80      * @return
81      * @throws Exception
82      */
83     public Boolean deleteArtifact( String repoId, String groupId, String artifactId, String version )
84         throws Exception;    
85     
86     //TODO 
87     // consider the following as additional services:
88     // - getAllConfiguredRepositoryConsumers( String repoId ) - list all enabled consumers for the repo
89     // - getAllConfiguredDatabaseConsumers() - list all enabled db consumers
90 }