1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.search.backend.remoterepository;
20
21 import org.apache.maven.search.backend.remoterepository.extractor.MavenCentralResponseExtractor;
22 import org.apache.maven.search.backend.remoterepository.extractor.Nx2ResponseExtractor;
23 import org.apache.maven.search.backend.remoterepository.internal.Java11HttpClientRemoteRepositorySearchTransport;
24 import org.apache.maven.search.backend.remoterepository.internal.RemoteRepositorySearchBackendImpl;
25
26
27
28
29 public class RemoteRepositorySearchBackendFactory {
30 public static final String BACKEND_ID = "search-rr";
31
32 public static final String CENTRAL_REPOSITORY_ID = "central";
33
34 public static final String CENTRAL_URI = "https://repo.maven.apache.org/maven2/";
35
36 public static final String RAO_RELEASES_REPOSITORY_ID = "apache.releases.https";
37
38 public static final String RAO_RELEASES_URI = "https://repository.apache.org/content/repositories/releases/";
39
40
41
42
43 public static RemoteRepositorySearchBackend createDefaultMavenCentral() {
44 return create(
45 BACKEND_ID,
46 CENTRAL_REPOSITORY_ID,
47 CENTRAL_URI,
48 new Java11HttpClientRemoteRepositorySearchTransport(),
49 new MavenCentralResponseExtractor());
50 }
51
52
53
54
55 public static RemoteRepositorySearchBackend createDefaultRAOReleases() {
56 return create(
57 BACKEND_ID,
58 RAO_RELEASES_REPOSITORY_ID,
59 RAO_RELEASES_URI,
60 new Java11HttpClientRemoteRepositorySearchTransport(),
61 new Nx2ResponseExtractor());
62 }
63
64
65
66
67 public static RemoteRepositorySearchBackend create(
68 String backendId,
69 String repositoryId,
70 String baseUri,
71 RemoteRepositorySearchTransport transport,
72 ResponseExtractor responseExtractor) {
73 return new RemoteRepositorySearchBackendImpl(backendId, repositoryId, baseUri, transport, responseExtractor);
74 }
75 }