]> source.dussan.org Git - archiva.git/blob
89ffb59b08ae764f267ddab1cfe26a620089362e
[archiva.git] /
1 package org.apache.archiva.rest.services;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import net.sf.beanlib.provider.replicator.BeanReplicator;
22 import org.apache.archiva.admin.repository.RepositoryAdminException;
23 import org.apache.archiva.admin.repository.admin.ArchivaAdministration;
24 import org.apache.archiva.rest.api.model.FileType;
25 import org.apache.archiva.rest.api.model.LegacyArtifactPath;
26 import org.apache.archiva.rest.api.services.ArchivaAdministrationService;
27 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
28 import org.springframework.stereotype.Service;
29
30 import javax.inject.Inject;
31 import java.util.ArrayList;
32 import java.util.Collections;
33 import java.util.List;
34
35 /**
36  * @author Olivier Lamy
37  * @since 1.4
38  */
39 @Service( "archivaAdministrationService#default" )
40 public class DefaultArchivaAdministrationService
41     extends AbstractRestService
42     implements ArchivaAdministrationService
43 {
44     @Inject
45     private ArchivaAdministration archivaAdministration;
46
47     public List<LegacyArtifactPath> getLegacyArtifactPaths()
48         throws ArchivaRestServiceException
49     {
50         try
51         {
52             List<LegacyArtifactPath> legacyArtifactPaths = new ArrayList<LegacyArtifactPath>();
53             for ( org.apache.archiva.admin.repository.admin.LegacyArtifactPath legacyArtifactPath : archivaAdministration.getLegacyArtifactPaths() )
54             {
55                 legacyArtifactPaths.add(
56                     new BeanReplicator().replicateBean( legacyArtifactPath, LegacyArtifactPath.class ) );
57             }
58             return legacyArtifactPaths;
59         }
60         catch ( RepositoryAdminException e )
61         {
62             throw new ArchivaRestServiceException( e.getMessage() );
63         }
64     }
65
66     public void addLegacyArtifactPath( LegacyArtifactPath legacyArtifactPath )
67         throws ArchivaRestServiceException
68     {
69         try
70         {
71             archivaAdministration.addLegacyArtifactPath( new BeanReplicator().replicateBean( legacyArtifactPath,
72                                                                                              org.apache.archiva.admin.repository.admin.LegacyArtifactPath.class ),
73                                                          getAuditInformation() );
74         }
75         catch ( RepositoryAdminException e )
76         {
77             throw new ArchivaRestServiceException( e.getMessage() );
78         }
79     }
80
81     public Boolean deleteLegacyArtifactPath( String path )
82         throws ArchivaRestServiceException
83     {
84         try
85         {
86             archivaAdministration.deleteLegacyArtifactPath( path, getAuditInformation() );
87             return Boolean.TRUE;
88         }
89         catch ( RepositoryAdminException e )
90         {
91             throw new ArchivaRestServiceException( e.getMessage() );
92         }
93     }
94
95
96     public Boolean addFileTypePattern( String fileTypeId, String pattern )
97         throws ArchivaRestServiceException
98     {
99         try
100         {
101             archivaAdministration.addFileTypePattern( fileTypeId, pattern, getAuditInformation() );
102             return Boolean.TRUE;
103         }
104         catch ( RepositoryAdminException e )
105         {
106             throw new ArchivaRestServiceException( e.getMessage() );
107         }
108     }
109
110     public Boolean removeFileTypePattern( String fileTypeId, String pattern )
111         throws ArchivaRestServiceException
112     {
113         try
114         {
115             archivaAdministration.removeFileTypePattern( fileTypeId, pattern, getAuditInformation() );
116             return Boolean.TRUE;
117         }
118         catch ( RepositoryAdminException e )
119         {
120             throw new ArchivaRestServiceException( e.getMessage() );
121         }
122     }
123
124     public FileType getFileType( String fileTypeId )
125         throws ArchivaRestServiceException
126     {
127         try
128         {
129             org.apache.archiva.admin.repository.admin.FileType fileType =
130                 archivaAdministration.getFileType( fileTypeId );
131             if ( fileType == null )
132             {
133                 return null;
134             }
135             return new BeanReplicator().replicateBean( fileType, FileType.class );
136         }
137         catch ( RepositoryAdminException e )
138         {
139             throw new ArchivaRestServiceException( e.getMessage() );
140         }
141     }
142
143     public void addFileType( FileType fileType )
144         throws ArchivaRestServiceException
145     {
146         try
147         {
148             archivaAdministration.addFileType( new BeanReplicator().replicateBean( fileType,
149                                                                                    org.apache.archiva.admin.repository.admin.FileType.class ),
150                                                getAuditInformation() );
151         }
152         catch ( RepositoryAdminException e )
153         {
154             throw new ArchivaRestServiceException( e.getMessage() );
155         }
156     }
157
158     public Boolean removeFileType( String fileTypeId )
159         throws ArchivaRestServiceException
160     {
161         try
162         {
163             archivaAdministration.removeFileType( fileTypeId, getAuditInformation() );
164             return Boolean.TRUE;
165         }
166         catch ( RepositoryAdminException e )
167         {
168             throw new ArchivaRestServiceException( e.getMessage() );
169         }
170     }
171
172     public Boolean addKnownContentConsumer( String knownContentConsumer )
173         throws ArchivaRestServiceException
174     {
175         try
176         {
177             archivaAdministration.addKnownContentConsumer( knownContentConsumer, getAuditInformation() );
178             return Boolean.TRUE;
179         }
180         catch ( RepositoryAdminException e )
181         {
182             throw new ArchivaRestServiceException( e.getMessage() );
183         }
184     }
185
186     public void setKnownContentConsumers( List<String> knownContentConsumers )
187         throws ArchivaRestServiceException
188     {
189         try
190         {
191             archivaAdministration.setKnownContentConsumers( knownContentConsumers, getAuditInformation() );
192         }
193         catch ( RepositoryAdminException e )
194         {
195             throw new ArchivaRestServiceException( e.getMessage() );
196         }
197     }
198
199     public Boolean removeKnownContentConsumer( String knownContentConsumer )
200         throws ArchivaRestServiceException
201     {
202         try
203         {
204             archivaAdministration.removeKnownContentConsumer( knownContentConsumer, getAuditInformation() );
205             return Boolean.TRUE;
206         }
207         catch ( RepositoryAdminException e )
208         {
209             throw new ArchivaRestServiceException( e.getMessage() );
210         }
211     }
212
213     public Boolean addInvalidContentConsumer( String invalidContentConsumer )
214         throws ArchivaRestServiceException
215     {
216         try
217         {
218             archivaAdministration.addInvalidContentConsumer( invalidContentConsumer, getAuditInformation() );
219             return Boolean.TRUE;
220         }
221         catch ( RepositoryAdminException e )
222         {
223             throw new ArchivaRestServiceException( e.getMessage() );
224         }
225     }
226
227     public void setInvalidContentConsumers( List<String> invalidContentConsumers )
228         throws ArchivaRestServiceException
229     {
230         try
231         {
232             archivaAdministration.setInvalidContentConsumers( invalidContentConsumers, getAuditInformation() );
233         }
234         catch ( RepositoryAdminException e )
235         {
236             throw new ArchivaRestServiceException( e.getMessage() );
237         }
238     }
239
240     public Boolean removeInvalidContentConsumer( String invalidContentConsumer )
241         throws ArchivaRestServiceException
242     {
243         try
244         {
245             archivaAdministration.removeInvalidContentConsumer( invalidContentConsumer, getAuditInformation() );
246             return Boolean.TRUE;
247         }
248         catch ( RepositoryAdminException e )
249         {
250             throw new ArchivaRestServiceException( e.getMessage() );
251         }
252     }
253
254     public List<FileType> getFileTypes()
255         throws ArchivaRestServiceException
256     {
257         try
258         {
259             List<org.apache.archiva.admin.repository.admin.FileType> modelfileTypes =
260                 archivaAdministration.getFileTypes();
261             if ( modelfileTypes == null || modelfileTypes.isEmpty() )
262             {
263                 return Collections.emptyList();
264             }
265             List<FileType> fileTypes = new ArrayList<FileType>( modelfileTypes.size() );
266             for ( org.apache.archiva.admin.repository.admin.FileType fileType : modelfileTypes )
267             {
268                 fileTypes.add( new BeanReplicator().replicateBean( fileType, FileType.class ) );
269             }
270             return fileTypes;
271         }
272         catch ( RepositoryAdminException e )
273         {
274             throw new ArchivaRestServiceException( e.getMessage() );
275         }
276     }
277
278     public List<String> getKnownContentConsumers()
279         throws ArchivaRestServiceException
280     {
281         try
282         {
283             return new ArrayList<String>( archivaAdministration.getKnownContentConsumers() );
284         }
285         catch ( RepositoryAdminException e )
286         {
287             throw new ArchivaRestServiceException( e.getMessage() );
288         }
289     }
290
291     public List<String> getInvalidContentConsumers()
292         throws ArchivaRestServiceException
293     {
294         try
295         {
296             return new ArrayList<String>( archivaAdministration.getInvalidContentConsumers() );
297         }
298         catch ( RepositoryAdminException e )
299         {
300             throw new ArchivaRestServiceException( e.getMessage() );
301         }
302     }
303 }