]> source.dussan.org Git - archiva.git/blob
f50bab5e9d4886a75ca96bc1a32a6436f30b29d1
[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 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;
26
27 import java.util.List;
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     Boolean executeRepositoryScanner( String repoId )
40         throws Exception;
41
42     /**
43      * Gets all available repository consumers.
44      *
45      * @return
46      */
47     List<String> getAllRepositoryConsumers();
48
49     // TODO should we already implement config of consumers per repository?
50
51     /**
52      * Configures (enable or disable) repository consumer.
53      *
54      * @param repoId
55      * @param consumerId
56      * @param enable
57      * @return
58      * @throws Exception
59      */
60     Boolean configureRepositoryConsumer( String repoId, String consumerId, boolean enable )
61         throws Exception;
62
63     /**
64      * Gets all managed repositories.
65      *
66      * @return
67      */
68     List<ManagedRepository> getAllManagedRepositories()
69         throws RepositoryAdminException;
70
71     /**
72      * Gets all remote repositories.
73      *
74      * @return
75      */
76     List<RemoteRepository> getAllRemoteRepositories()
77         throws RepositoryAdminException;
78
79     /**
80      * Deletes given artifact from the specified repository.
81      *
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
86      * @return
87      * @throws Exception
88      */
89     Boolean deleteArtifact( String repoId, String groupId, String artifactId, String version )
90         throws Exception;
91
92     /**
93      * Create a new managed repository with the given parameters.
94      *
95      * @param repoId
96      * @param layout
97      * @param name
98      * @param location
99      * @param blockRedeployments
100      * @param releasesIncluded
101      * @param snapshotsIncluded
102      * @param cronExpression
103      * @return
104      * @throws Exception
105      */
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 )
110         throws Exception;
111
112     /**
113      * Deletes a managed repository with the given repository id.
114      *
115      * @param repoId
116      * @return
117      */
118     Boolean deleteManagedRepository( String repoId )
119         throws Exception;
120
121     /**
122      * Deletes a managed repository content with the given repository id
123      *
124      * @param repoId
125      * @return
126      * @throws Exception
127      */
128     Boolean deleteManagedRepositoryContent( String repoId )
129         throws Exception;
130
131     /**
132      * Get a managed repository with the given repository id.
133      *
134      * @param repoId
135      * @return
136      * @throws Exception
137      */
138     ManagedRepository getManagedRepository( String repoId )
139         throws Exception;
140     // TODO
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
144
145     /**
146      * Merge staging repository with the managed repository and skips if there are conflicts
147      *
148      * @param repoId
149      * @param skipConflicts
150      * @return
151      * @throws Exception
152      */
153     boolean merge( String repoId, boolean skipConflicts )
154         throws Exception;
155
156 }