]> source.dussan.org Git - archiva.git/blob
45c83fb1d4fa508aae1a0f5c3e77e076f157ae07
[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 org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
25 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
26
27 import com.atlassian.xmlrpc.ServiceObject;
28
29 @ServiceObject( "AdministrationService" )
30 public interface AdministrationService
31 {    
32     /**
33      * Executes repository scanner on the given repository.
34      *  
35      * @param repoId id of the repository to be scanned
36      * @return
37      * @throws Exception
38      */
39     public Boolean executeRepositoryScanner( String repoId ) throws Exception;
40    
41     /**
42      * Executes the database scanner.
43      * 
44      * @return
45      * @throws Exception
46      */
47     public Boolean executeDatabaseScanner() throws Exception;
48
49     /**
50      * Gets all available database consumers.
51      * @return
52      */
53     public List<String> getAllDatabaseConsumers();
54    
55     /**
56      * Configures (enable or disable) database consumer.
57      * 
58      * @param consumerId id of the database consumer
59      * @param enable flag whether to enable or disable the specified consumer
60      * @return
61      * @throws Exception
62      */
63     public Boolean configureDatabaseConsumer( String consumerId, boolean enable ) throws Exception;
64
65     /**
66      * Gets all available repository consumers.
67      * 
68      * @return
69      */
70     public List<String> getAllRepositoryConsumers();
71     
72     // TODO should we already implement config of consumers per repository?
73     public Boolean configureRepositoryConsumer( String repoId, String consumerId, boolean enable ) throws Exception;
74
75     /**
76      * Gets all managed repositories.
77      * 
78      * @return
79      */
80     public List<ManagedRepository> getAllManagedRepositories();
81
82     /**
83      * Gets all remote repositories.
84      * 
85      * @return
86      */
87     public List<RemoteRepository> getAllRemoteRepositories();
88
89     /**
90      * Deletes given artifact from the specified repository.
91      * 
92      * @param repoId id of the repository where the artifact to be deleted resides
93      * @param groupId groupId of the artifact to be deleted
94      * @param artifactId artifactId of the artifact to be deleted
95      * @param version version of the artifact to be deleted
96      * @return
97      * @throws Exception
98      */
99     public Boolean deleteArtifact( String repoId, String groupId, String artifactId, String version )
100         throws Exception;    
101     
102     //TODO 
103     // consider the following as additional services:
104     // - getAllConfiguredRepositoryConsumers( String repoId ) - list all enabled consumers for the repo
105     // - getAllConfiguredDatabaseConsumers() - list all enabled db consumers
106 }