You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MockRepoAdmin.java 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. package org.apache.archiva.repository.maven.mock.configuration;
  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. * Unless required by applicable law or agreed to in writing,
  13. * software distributed under the License is distributed on an
  14. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. * KIND, either express or implied. See the License for the
  16. * specific language governing permissions and limitations
  17. * under the License.
  18. */
  19. import org.apache.archiva.admin.model.AuditInformation;
  20. import org.apache.archiva.admin.model.RepositoryAdminException;
  21. import org.apache.archiva.admin.model.beans.ManagedRepository;
  22. import org.apache.archiva.admin.model.beans.NetworkProxy;
  23. import org.apache.archiva.admin.model.beans.ProxyConnector;
  24. import org.apache.archiva.admin.model.beans.ProxyConnectorRule;
  25. import org.apache.archiva.admin.model.beans.RemoteRepository;
  26. import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
  27. import org.apache.archiva.admin.model.networkproxy.NetworkProxyAdmin;
  28. import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorAdmin;
  29. import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorOrderComparator;
  30. import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
  31. import org.apache.archiva.configuration.ArchivaConfiguration;
  32. import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
  33. import org.apache.archiva.configuration.ProxyConnectorConfiguration;
  34. import org.apache.archiva.configuration.RemoteRepositoryConfiguration;
  35. import org.apache.archiva.indexer.ArchivaIndexingContext;
  36. import org.apache.commons.lang3.StringUtils;
  37. import org.modelmapper.ModelMapper;
  38. import org.springframework.stereotype.Service;
  39. import javax.inject.Inject;
  40. import javax.inject.Named;
  41. import java.util.ArrayList;
  42. import java.util.Collections;
  43. import java.util.HashMap;
  44. import java.util.Iterator;
  45. import java.util.List;
  46. import java.util.Locale;
  47. import java.util.Map;
  48. /**
  49. * @author Olivier Lamy
  50. */
  51. @Service
  52. public class MockRepoAdmin
  53. implements RemoteRepositoryAdmin, ManagedRepositoryAdmin, ProxyConnectorAdmin, NetworkProxyAdmin
  54. {
  55. @Inject
  56. @Named ( "archivaConfiguration#test" )
  57. private ArchivaConfiguration archivaConfiguration;
  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( Locale.getDefault(), 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. @Override
  85. public RemoteRepository getRemoteRepository( String repositoryId )
  86. throws RepositoryAdminException
  87. {
  88. for ( RemoteRepository remoteRepository : getRemoteRepositories() )
  89. {
  90. if ( StringUtils.equals( repositoryId, remoteRepository.getId() ) )
  91. {
  92. return remoteRepository;
  93. }
  94. }
  95. return null;
  96. }
  97. @Override
  98. public Boolean deleteRemoteRepository( String repositoryId, AuditInformation auditInformation )
  99. throws RepositoryAdminException
  100. {
  101. return null; //To change body of implemented methods use File | Settings | File Templates.
  102. }
  103. @Override
  104. public Boolean addRemoteRepository( RemoteRepository remoteRepository, AuditInformation auditInformation )
  105. throws RepositoryAdminException
  106. {
  107. return null; //To change body of implemented methods use File | Settings | File Templates.
  108. }
  109. @Override
  110. public Boolean updateRemoteRepository( RemoteRepository remoteRepository, AuditInformation auditInformation )
  111. throws RepositoryAdminException
  112. {
  113. return null; //To change body of implemented methods use File | Settings | File Templates.
  114. }
  115. @Override
  116. public Map<String, RemoteRepository> getRemoteRepositoriesAsMap()
  117. throws RepositoryAdminException
  118. {
  119. return null; //To change body of implemented methods use File | Settings | File Templates.
  120. }
  121. @Override
  122. public ArchivaIndexingContext createIndexContext( RemoteRepository repository )
  123. throws RepositoryAdminException
  124. {
  125. return null; //To change body of implemented methods use File | Settings | File Templates.
  126. }
  127. @Override
  128. public List<ManagedRepository> getManagedRepositories()
  129. throws RepositoryAdminException
  130. {
  131. return null; //To change body of implemented methods use File | Settings | File Templates.
  132. }
  133. @Override
  134. public Map<String, ManagedRepository> getManagedRepositoriesAsMap()
  135. throws RepositoryAdminException
  136. {
  137. return null; //To change body of implemented methods use File | Settings | File Templates.
  138. }
  139. @Override
  140. public ManagedRepository getManagedRepository( String repositoryId )
  141. throws RepositoryAdminException
  142. {
  143. for ( ManagedRepositoryConfiguration repoConfig : archivaConfiguration.getConfiguration().getManagedRepositories() )
  144. {
  145. if ( StringUtils.equals( repositoryId, repoConfig.getId() ) )
  146. {
  147. return new ManagedRepository( Locale.getDefault(), repoConfig.getId(), repoConfig.getName(), repoConfig.getLocation(),
  148. repoConfig.getLayout(), repoConfig.isSnapshots(), repoConfig.isReleases(),
  149. repoConfig.isBlockRedeployments(), repoConfig.getRefreshCronExpression(),
  150. repoConfig.getIndexDir(), repoConfig.isScanned(),
  151. repoConfig.getRetentionPeriod(), repoConfig.getRetentionCount(),
  152. repoConfig.isDeleteReleasedSnapshots(), false );
  153. }
  154. }
  155. return null;
  156. }
  157. @Override
  158. public Boolean deleteManagedRepository( String repositoryId, AuditInformation auditInformation,
  159. boolean deleteContent )
  160. throws RepositoryAdminException
  161. {
  162. return null; //To change body of implemented methods use File | Settings | File Templates.
  163. }
  164. @Override
  165. public Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
  166. AuditInformation auditInformation )
  167. throws RepositoryAdminException
  168. {
  169. return null; //To change body of implemented methods use File | Settings | File Templates.
  170. }
  171. @Override
  172. public Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
  173. AuditInformation auditInformation, boolean resetStats )
  174. throws RepositoryAdminException
  175. {
  176. return null; //To change body of implemented methods use File | Settings | File Templates.
  177. }
  178. @Override
  179. public List<ProxyConnector> getProxyConnectors()
  180. throws RepositoryAdminException
  181. {
  182. List<ProxyConnectorConfiguration> proxyConnectorConfigurations =
  183. archivaConfiguration.getConfiguration().getProxyConnectors();
  184. List<ProxyConnector> proxyConnectors = new ArrayList<>( proxyConnectorConfigurations.size() );
  185. for ( ProxyConnectorConfiguration configuration : proxyConnectorConfigurations )
  186. {
  187. proxyConnectors.add( getProxyConnector( configuration ) );
  188. }
  189. Collections.sort( proxyConnectors, ProxyConnectorOrderComparator.getInstance() );
  190. return proxyConnectors;
  191. }
  192. @Override
  193. public ProxyConnector getProxyConnector( String sourceRepoId, String targetRepoId )
  194. throws RepositoryAdminException
  195. {
  196. return null; //To change body of implemented methods use File | Settings | File Templates.
  197. }
  198. @Override
  199. public Boolean addProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
  200. throws RepositoryAdminException
  201. {
  202. return null; //To change body of implemented methods use File | Settings | File Templates.
  203. }
  204. @Override
  205. public Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
  206. throws RepositoryAdminException
  207. {
  208. return null; //To change body of implemented methods use File | Settings | File Templates.
  209. }
  210. @Override
  211. public Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
  212. throws RepositoryAdminException
  213. {
  214. return null;
  215. }
  216. @Override
  217. public Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
  218. throws RepositoryAdminException
  219. {
  220. Map<String, List<ProxyConnector>> proxyConnectorMap = new HashMap<>();
  221. Iterator<ProxyConnector> it = getProxyConnectors().iterator();
  222. while ( it.hasNext() )
  223. {
  224. ProxyConnector proxyConfig = it.next();
  225. String key = proxyConfig.getSourceRepoId();
  226. List<ProxyConnector> connectors = proxyConnectorMap.get( key );
  227. if ( connectors == null )
  228. {
  229. connectors = new ArrayList<>( 1 );
  230. proxyConnectorMap.put( key, connectors );
  231. }
  232. connectors.add( proxyConfig );
  233. Collections.sort( connectors, ProxyConnectorOrderComparator.getInstance() );
  234. }
  235. return proxyConnectorMap;
  236. }
  237. @Override
  238. public List<NetworkProxy> getNetworkProxies()
  239. throws RepositoryAdminException
  240. {
  241. return null; //To change body of implemented methods use File | Settings | File Templates.
  242. }
  243. @Override
  244. public NetworkProxy getNetworkProxy( String networkProxyId )
  245. throws RepositoryAdminException
  246. {
  247. return null; //To change body of implemented methods use File | Settings | File Templates.
  248. }
  249. @Override
  250. public void addNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
  251. throws RepositoryAdminException
  252. {
  253. //To change body of implemented methods use File | Settings | File Templates.
  254. }
  255. @Override
  256. public void updateNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
  257. throws RepositoryAdminException
  258. {
  259. //To change body of implemented methods use File | Settings | File Templates.
  260. }
  261. @Override
  262. public void deleteNetworkProxy( String networkProxyId, AuditInformation auditInformation )
  263. throws RepositoryAdminException
  264. {
  265. //To change body of implemented methods use File | Settings | File Templates.
  266. }
  267. protected ProxyConnector getProxyConnector( ProxyConnectorConfiguration proxyConnectorConfiguration )
  268. {
  269. return proxyConnectorConfiguration == null
  270. ? null
  271. : new ModelMapper().map( proxyConnectorConfiguration, ProxyConnector.class );
  272. }
  273. public List<ProxyConnectorRule> getProxyConnectorRules()
  274. throws RepositoryAdminException
  275. {
  276. return null;
  277. }
  278. public void addProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  279. throws RepositoryAdminException
  280. {
  281. }
  282. public void deleteProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  283. throws RepositoryAdminException
  284. {
  285. }
  286. public void updateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  287. throws RepositoryAdminException
  288. {
  289. }
  290. }