1 package org.apache.archiva.configuration;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.archiva.admin.model.AuditInformation;
22 import org.apache.archiva.admin.model.RepositoryAdminException;
23 import org.apache.archiva.admin.model.beans.ManagedRepository;
24 import org.apache.archiva.admin.model.beans.NetworkProxy;
25 import org.apache.archiva.admin.model.beans.ProxyConnector;
26 import org.apache.archiva.admin.model.beans.ProxyConnectorRule;
27 import org.apache.archiva.admin.model.beans.RemoteRepository;
28 import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
29 import org.apache.archiva.admin.model.networkproxy.NetworkProxyAdmin;
30 import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorAdmin;
31 import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorOrderComparator;
32 import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
33 import org.apache.commons.lang.StringUtils;
34 import org.apache.maven.index.context.IndexingContext;
35 import org.modelmapper.ModelMapper;
36 import org.springframework.stereotype.Service;
37
38 import javax.inject.Inject;
39 import javax.inject.Named;
40 import java.util.ArrayList;
41 import java.util.Collections;
42 import java.util.HashMap;
43 import java.util.Iterator;
44 import java.util.List;
45 import java.util.Map;
46
47
48
49
50 @Service
51 public class MockRepoAdmin
52 implements RemoteRepositoryAdmin, ManagedRepositoryAdmin, ProxyConnectorAdmin, NetworkProxyAdmin
53 {
54 @Inject
55 @Named ( "archivaConfiguration#test" )
56 private ArchivaConfiguration archivaConfiguration;
57
58 @Override
59 public List<RemoteRepository> getRemoteRepositories()
60 throws RepositoryAdminException
61 {
62 List<RemoteRepository> remoteRepositories =
63 new ArrayList<>( archivaConfiguration.getConfiguration().getRemoteRepositories().size() );
64 for ( RemoteRepositoryConfiguration repositoryConfiguration : archivaConfiguration.getConfiguration().getRemoteRepositories() )
65 {
66 RemoteRepository remoteRepository =
67 new RemoteRepository( repositoryConfiguration.getId(), repositoryConfiguration.getName(),
68 repositoryConfiguration.getUrl(), repositoryConfiguration.getLayout(),
69 repositoryConfiguration.getUsername(), repositoryConfiguration.getPassword(),
70 repositoryConfiguration.getTimeout() );
71 remoteRepository.setDownloadRemoteIndex( repositoryConfiguration.isDownloadRemoteIndex() );
72 remoteRepository.setRemoteIndexUrl( repositoryConfiguration.getRemoteIndexUrl() );
73 remoteRepository.setCronExpression( repositoryConfiguration.getRefreshCronExpression() );
74 remoteRepository.setIndexDirectory( repositoryConfiguration.getIndexDir() );
75 remoteRepository.setRemoteDownloadNetworkProxyId(
76 repositoryConfiguration.getRemoteDownloadNetworkProxyId() );
77 remoteRepository.setRemoteDownloadTimeout( repositoryConfiguration.getRemoteDownloadTimeout() );
78 remoteRepository.setDownloadRemoteIndexOnStartup(
79 repositoryConfiguration.isDownloadRemoteIndexOnStartup() );
80 remoteRepositories.add( remoteRepository );
81 }
82 return remoteRepositories;
83 }
84
85 @Override
86 public RemoteRepository getRemoteRepository( String repositoryId )
87 throws RepositoryAdminException
88 {
89 for ( RemoteRepository remoteRepository : getRemoteRepositories() )
90 {
91 if ( StringUtils.equals( repositoryId, remoteRepository.getId() ) )
92 {
93 return remoteRepository;
94 }
95 }
96 return null;
97 }
98
99 @Override
100 public Boolean deleteRemoteRepository( String repositoryId, AuditInformation auditInformation )
101 throws RepositoryAdminException
102 {
103 return null;
104 }
105
106 @Override
107 public Boolean addRemoteRepository( RemoteRepository remoteRepository, AuditInformation auditInformation )
108 throws RepositoryAdminException
109 {
110 return null;
111 }
112
113 @Override
114 public Boolean updateRemoteRepository( RemoteRepository remoteRepository, AuditInformation auditInformation )
115 throws RepositoryAdminException
116 {
117 return null;
118 }
119
120 @Override
121 public Map<String, RemoteRepository> getRemoteRepositoriesAsMap()
122 throws RepositoryAdminException
123 {
124 return null;
125 }
126
127 @Override
128 public IndexingContext createIndexContext( RemoteRepository repository )
129 throws RepositoryAdminException
130 {
131 return null;
132 }
133
134 @Override
135 public List<ManagedRepository> getManagedRepositories()
136 throws RepositoryAdminException
137 {
138 return null;
139 }
140
141 @Override
142 public Map<String, ManagedRepository> getManagedRepositoriesAsMap()
143 throws RepositoryAdminException
144 {
145 return null;
146 }
147
148 @Override
149 public ManagedRepository getManagedRepository( String repositoryId )
150 throws RepositoryAdminException
151 {
152 for ( ManagedRepositoryConfiguration repoConfig : archivaConfiguration.getConfiguration().getManagedRepositories() )
153 {
154 if ( StringUtils.equals( repositoryId, repoConfig.getId() ) )
155 {
156 return new ManagedRepository( repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
157 repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
158 repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
159 repoConfig.getIndexDir(), repoConfig.isScanned(),
160 repoConfig.getDaysOlder(), repoConfig.getRetentionCount(),
161 repoConfig.isDeleteReleasedSnapshots(), false );
162 }
163 }
164 return null;
165 }
166
167 @Override
168 public Boolean deleteManagedRepository( String repositoryId, AuditInformation auditInformation,
169 boolean deleteContent )
170 throws RepositoryAdminException
171 {
172 return null;
173 }
174
175 @Override
176 public Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
177 AuditInformation auditInformation )
178 throws RepositoryAdminException
179 {
180 return null;
181 }
182
183 @Override
184 public Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
185 AuditInformation auditInformation, boolean resetStats )
186 throws RepositoryAdminException
187 {
188 return null;
189 }
190
191 @Override
192 public IndexingContext createIndexContext( ManagedRepository repository )
193 throws RepositoryAdminException
194 {
195 return null;
196 }
197
198 @Override
199 public List<ProxyConnector> getProxyConnectors()
200 throws RepositoryAdminException
201 {
202 List<ProxyConnectorConfiguration> proxyConnectorConfigurations =
203 archivaConfiguration.getConfiguration().getProxyConnectors();
204 List<ProxyConnector> proxyConnectors = new ArrayList<>( proxyConnectorConfigurations.size() );
205 for ( ProxyConnectorConfiguration configuration : proxyConnectorConfigurations )
206 {
207 proxyConnectors.add( getProxyConnector( configuration ) );
208 }
209 Collections.sort( proxyConnectors, ProxyConnectorOrderComparator.getInstance() );
210 return proxyConnectors;
211 }
212
213 @Override
214 public ProxyConnector getProxyConnector( String sourceRepoId, String targetRepoId )
215 throws RepositoryAdminException
216 {
217 return null;
218 }
219
220 @Override
221 public Boolean addProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
222 throws RepositoryAdminException
223 {
224 return null;
225 }
226
227 @Override
228 public Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
229 throws RepositoryAdminException
230 {
231 return null;
232 }
233
234 @Override
235 public Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
236 throws RepositoryAdminException
237 {
238 return null;
239 }
240
241 @Override
242 public Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
243 throws RepositoryAdminException
244 {
245 Map<String, List<ProxyConnector>> proxyConnectorMap = new HashMap<>();
246
247 Iterator<ProxyConnector> it = getProxyConnectors().iterator();
248 while ( it.hasNext() )
249 {
250 ProxyConnector proxyConfig = it.next();
251 String key = proxyConfig.getSourceRepoId();
252
253 List<ProxyConnector> connectors = proxyConnectorMap.get( key );
254 if ( connectors == null )
255 {
256 connectors = new ArrayList<>( 1 );
257 proxyConnectorMap.put( key, connectors );
258 }
259
260 connectors.add( proxyConfig );
261
262 Collections.sort( connectors, ProxyConnectorOrderComparator.getInstance() );
263 }
264
265 return proxyConnectorMap;
266 }
267
268 @Override
269 public List<NetworkProxy> getNetworkProxies()
270 throws RepositoryAdminException
271 {
272 return null;
273 }
274
275 @Override
276 public NetworkProxy getNetworkProxy( String networkProxyId )
277 throws RepositoryAdminException
278 {
279 return null;
280 }
281
282 @Override
283 public void addNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
284 throws RepositoryAdminException
285 {
286
287 }
288
289 @Override
290 public void updateNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
291 throws RepositoryAdminException
292 {
293
294 }
295
296 @Override
297 public void deleteNetworkProxy( String networkProxyId, AuditInformation auditInformation )
298 throws RepositoryAdminException
299 {
300
301 }
302
303 protected ProxyConnector getProxyConnector( ProxyConnectorConfiguration proxyConnectorConfiguration )
304 {
305 return proxyConnectorConfiguration == null
306 ? null
307 : new ModelMapper().map( proxyConnectorConfiguration, ProxyConnector.class );
308 }
309
310 public List<ProxyConnectorRule> getProxyConnectorRules()
311 throws RepositoryAdminException
312 {
313 return null;
314 }
315
316 public void addProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
317 throws RepositoryAdminException
318 {
319
320 }
321
322 public void deleteProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
323 throws RepositoryAdminException
324 {
325
326 }
327
328 public void updateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
329 throws RepositoryAdminException
330 {
331
332 }
333 }