]> source.dussan.org Git - archiva.git/blob
f19ae3201df64aaa3fb4029040482bf07d4c0dd2
[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 org.apache.archiva.admin.model.RepositoryAdminException;
22 import org.apache.archiva.admin.model.beans.RemoteRepository;
23 import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
24 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
25 import org.apache.archiva.rest.api.services.RemoteRepositoriesService;
26 import org.apache.commons.lang.StringUtils;
27 import org.springframework.stereotype.Service;
28
29 import javax.inject.Inject;
30 import java.util.Collections;
31 import java.util.List;
32
33 /**
34  * @author Olivier Lamy
35  * @since 1.4-M1
36  */
37 @Service ("remoteRepositoriesService#rest")
38 public class DefaultRemoteRepositoriesService
39     extends AbstractRestService
40     implements RemoteRepositoriesService
41 {
42
43     @Inject
44     private RemoteRepositoryAdmin remoteRepositoryAdmin;
45
46     public List<RemoteRepository> getRemoteRepositories()
47         throws ArchivaRestServiceException
48     {
49         try
50         {
51             List<RemoteRepository> remoteRepositories = remoteRepositoryAdmin.getRemoteRepositories();
52             return remoteRepositories == null ? Collections.<RemoteRepository>emptyList() : remoteRepositories;
53         }
54         catch ( RepositoryAdminException e )
55         {
56             log.error( e.getMessage(), e );
57             throw new ArchivaRestServiceException( e.getMessage(), e.getFieldName(), e );
58         }
59     }
60
61     public RemoteRepository getRemoteRepository( String repositoryId )
62         throws ArchivaRestServiceException
63     {
64
65         List<RemoteRepository> remoteRepositories = getRemoteRepositories();
66         for ( RemoteRepository repository : remoteRepositories )
67         {
68             if ( StringUtils.equals( repositoryId, repository.getId() ) )
69             {
70                 return repository;
71             }
72         }
73         return null;
74     }
75
76     public Boolean deleteRemoteRepository( String repositoryId )
77         throws Exception
78     {
79         try
80         {
81             return remoteRepositoryAdmin.deleteRemoteRepository( repositoryId, getAuditInformation() );
82         }
83         catch ( RepositoryAdminException e )
84         {
85             log.error( e.getMessage(), e );
86             throw new ArchivaRestServiceException( e.getMessage(), e.getFieldName(), e );
87         }
88     }
89
90     public Boolean addRemoteRepository( RemoteRepository remoteRepository )
91         throws Exception
92     {
93         try
94         {
95             return remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getAuditInformation() );
96         }
97         catch ( RepositoryAdminException e )
98         {
99             log.error( e.getMessage(), e );
100             throw new ArchivaRestServiceException( e.getMessage(), e.getFieldName(), e );
101         }
102     }
103
104     public Boolean updateRemoteRepository( RemoteRepository remoteRepository )
105         throws Exception
106     {
107         try
108         {
109             return remoteRepositoryAdmin.updateRemoteRepository( remoteRepository, getAuditInformation() );
110         }
111         catch ( RepositoryAdminException e )
112         {
113             log.error( e.getMessage(), e );
114             throw new ArchivaRestServiceException( e.getMessage(), e.getFieldName(), e );
115         }
116     }
117
118
119 }