diff --git a/pom.xml b/pom.xml index 5759e9c9..3b860ef9 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,8 @@ under the License. ${javaVersion} ${javaVersion} [3.8.7,) - [17.0.6,18) + + [17.0.6,21) true true diff --git a/search-api/pom.xml b/search-api/pom.xml index 622053be..d2e40806 100644 --- a/search-api/pom.xml +++ b/search-api/pom.xml @@ -31,10 +31,6 @@ under the License. Maven :: Search API Indexer Search API. - - 8 - - diff --git a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/Java11HttpClientRemoteRepositorySearchTransport.java b/search-api/src/main/java/org/apache/maven/search/transport/Java11HttpClientTransport.java similarity index 89% rename from search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/Java11HttpClientRemoteRepositorySearchTransport.java rename to search-api/src/main/java/org/apache/maven/search/transport/Java11HttpClientTransport.java index 42be6b9f..5a0019c6 100644 --- a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/Java11HttpClientRemoteRepositorySearchTransport.java +++ b/search-api/src/main/java/org/apache/maven/search/transport/Java11HttpClientTransport.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.maven.search.backend.remoterepository.internal; +package org.apache.maven.search.transport; import java.io.IOException; import java.io.InputStream; @@ -29,14 +29,12 @@ import java.util.Map; import java.util.stream.Collectors; -import org.apache.maven.search.backend.remoterepository.RemoteRepositorySearchTransport; - import static java.util.Objects.requireNonNull; /** * Java 11 {@link HttpClient} backed transport. */ -public class Java11HttpClientRemoteRepositorySearchTransport implements RemoteRepositorySearchTransport { +public class Java11HttpClientTransport implements Transport { private static class ResponseImpl implements Response { private final HttpResponse response; @@ -78,11 +76,11 @@ public void close() throws IOException { private final HttpClient client; - public Java11HttpClientRemoteRepositorySearchTransport() { + public Java11HttpClientTransport() { this(Duration.ofSeconds(10L)); } - public Java11HttpClientRemoteRepositorySearchTransport(Duration timeout) { + public Java11HttpClientTransport(Duration timeout) { this( timeout, HttpClient.newBuilder() @@ -91,7 +89,7 @@ public Java11HttpClientRemoteRepositorySearchTransport(Duration timeout) { .build()); } - public Java11HttpClientRemoteRepositorySearchTransport(Duration timeout, HttpClient client) { + public Java11HttpClientTransport(Duration timeout, HttpClient client) { this.timeout = requireNonNull(timeout); this.client = requireNonNull(client); } diff --git a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchTransport.java b/search-api/src/main/java/org/apache/maven/search/transport/Transport.java similarity index 79% rename from search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchTransport.java rename to search-api/src/main/java/org/apache/maven/search/transport/Transport.java index e01a8598..c8fbc44d 100644 --- a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchTransport.java +++ b/search-api/src/main/java/org/apache/maven/search/transport/Transport.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.maven.search.backend.remoterepository; +package org.apache.maven.search.transport; import java.io.Closeable; import java.io.IOException; @@ -24,9 +24,12 @@ import java.util.Map; /** - * A trivial "transport abstraction" to make possible pluggable implementations. + * A trivial "transport abstraction" to make possible pluggable implementations. Most obviously leans toward HTTP, + * but is not limited to. + * + * @since TBD */ -public interface RemoteRepositorySearchTransport { +public interface Transport { /** * Trivial response. */ @@ -39,12 +42,12 @@ interface Response extends Closeable { } /** - * This method should issue a HTTP GET requests using {@code serviceUri} and return response. + * This method should issue HTTP GET requests using {@code serviceUri} and return response. */ Response get(String serviceUri, Map headers) throws IOException; /** - * This method should issue a HTTP HEAD requests using {@code serviceUri} and return response. + * This method should issue HTTP HEAD requests using {@code serviceUri} and return response. */ Response head(String serviceUri, Map headers) throws IOException; } diff --git a/search-backend-remoterepository/pom.xml b/search-backend-remoterepository/pom.xml index 9f8a2ec8..6649b21e 100644 --- a/search-backend-remoterepository/pom.xml +++ b/search-backend-remoterepository/pom.xml @@ -31,10 +31,6 @@ under the License. Maven :: Search API Remote Repository Backend Indexer Search Backend implemented by remote repository (limited). - - 11 - - org.apache.maven.indexer diff --git a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchBackendFactory.java b/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchBackendFactory.java index 4acb6289..d2dc515b 100644 --- a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchBackendFactory.java +++ b/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/RemoteRepositorySearchBackendFactory.java @@ -20,8 +20,9 @@ import org.apache.maven.search.backend.remoterepository.extractor.MavenCentralResponseExtractor; import org.apache.maven.search.backend.remoterepository.extractor.Nx2ResponseExtractor; -import org.apache.maven.search.backend.remoterepository.internal.Java11HttpClientRemoteRepositorySearchTransport; import org.apache.maven.search.backend.remoterepository.internal.RemoteRepositorySearchBackendImpl; +import org.apache.maven.search.transport.Java11HttpClientTransport; +import org.apache.maven.search.transport.Transport; /** * The remote repository search backend factory. @@ -45,7 +46,7 @@ public static RemoteRepositorySearchBackend createDefaultMavenCentral() { BACKEND_ID, CENTRAL_REPOSITORY_ID, CENTRAL_URI, - new Java11HttpClientRemoteRepositorySearchTransport(), + new Java11HttpClientTransport(), new MavenCentralResponseExtractor()); } @@ -57,7 +58,7 @@ public static RemoteRepositorySearchBackend createDefaultRAOReleases() { BACKEND_ID, RAO_RELEASES_REPOSITORY_ID, RAO_RELEASES_URI, - new Java11HttpClientRemoteRepositorySearchTransport(), + new Java11HttpClientTransport(), new Nx2ResponseExtractor()); } @@ -68,7 +69,7 @@ public static RemoteRepositorySearchBackend create( String backendId, String repositoryId, String baseUri, - RemoteRepositorySearchTransport transport, + Transport transport, ResponseExtractor responseExtractor) { return new RemoteRepositorySearchBackendImpl(backendId, repositoryId, baseUri, transport, responseExtractor); } diff --git a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/RemoteRepositorySearchBackendImpl.java b/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/RemoteRepositorySearchBackendImpl.java index aeba1608..748a88ad 100644 --- a/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/RemoteRepositorySearchBackendImpl.java +++ b/search-backend-remoterepository/src/main/java/org/apache/maven/search/backend/remoterepository/internal/RemoteRepositorySearchBackendImpl.java @@ -35,9 +35,9 @@ import org.apache.maven.search.backend.remoterepository.RecordFactory; import org.apache.maven.search.backend.remoterepository.RemoteRepositorySearchBackend; import org.apache.maven.search.backend.remoterepository.RemoteRepositorySearchResponse; -import org.apache.maven.search.backend.remoterepository.RemoteRepositorySearchTransport; import org.apache.maven.search.backend.remoterepository.ResponseExtractor; import org.apache.maven.search.support.SearchBackendSupport; +import org.apache.maven.search.transport.Transport; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.parser.Parser; @@ -53,7 +53,7 @@ public class RemoteRepositorySearchBackendImpl extends SearchBackendSupport implements RemoteRepositorySearchBackend { private final String baseUri; - private final RemoteRepositorySearchTransport transport; + private final Transport transport; private final ResponseExtractor responseExtractor; @@ -74,7 +74,7 @@ public RemoteRepositorySearchBackendImpl( String backendId, String repositoryId, String baseUri, - RemoteRepositorySearchTransport transport, + Transport transport, ResponseExtractor responseExtractor) { super(backendId, repositoryId); this.baseUri = requireNonNull(baseUri); @@ -149,7 +149,7 @@ public RemoteRepositorySearchResponse search(SearchRequest searchRequest) throws Document document = null; if (state.ordinal() < State.GAVCE.ordinal()) { Parser parser = state == State.GA ? Parser.xmlParser() : Parser.htmlParser(); - try (RemoteRepositorySearchTransport.Response response = transport.get(uri, commonHeaders)) { + try (Transport.Response response = transport.get(uri, commonHeaders)) { if (response.getCode() == 200) { document = Jsoup.parse(response.getBody(), StandardCharsets.UTF_8.name(), uri, parser); } @@ -173,12 +173,11 @@ public RemoteRepositorySearchResponse search(SearchRequest searchRequest) throws throw new IllegalStateException("State" + state); // checkstyle } } else { - try (RemoteRepositorySearchTransport.Response response = transport.head(uri, commonHeaders)) { + try (Transport.Response response = transport.head(uri, commonHeaders)) { if (response.getCode() == 200) { boolean matches = context.getSha1() == null; if (context.getSha1() != null) { - try (RemoteRepositorySearchTransport.Response sha1Response = - transport.get(uri + ".sha1", commonHeaders)) { + try (Transport.Response sha1Response = transport.get(uri + ".sha1", commonHeaders)) { if (response.getCode() == 200) { try (InputStream body = sha1Response.getBody()) { String remoteSha1 = readChecksum(body); @@ -211,7 +210,7 @@ private static String readChecksum(InputStream inputStream) throws IOException { break; } line = line.trim(); - if (line.length() > 0) { + if (!line.isEmpty()) { checksum = line; break; } diff --git a/search-backend-smo/pom.xml b/search-backend-smo/pom.xml index 050fa503..333ebec1 100644 --- a/search-backend-smo/pom.xml +++ b/search-backend-smo/pom.xml @@ -31,10 +31,6 @@ under the License. Maven :: Search API SMO Backend Indexer Search Backend implemented by SMO. - - 8 - - org.apache.maven.indexer @@ -73,39 +69,6 @@ under the License. src/main/filtered-resources - - - org.apache.maven.plugins - maven-compiler-plugin - - - compile-java-11 - - compile - - compile - - 11 - - ${project.basedir}/src/main/java11 - - true - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - - true - - - - - diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackendFactory.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackendFactory.java index 08188116..d7ad33b6 100644 --- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackendFactory.java +++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackendFactory.java @@ -19,7 +19,8 @@ package org.apache.maven.search.backend.smo; import org.apache.maven.search.backend.smo.internal.SmoSearchBackendImpl; -import org.apache.maven.search.backend.smo.internal.SmoSearchTransportSupplier; +import org.apache.maven.search.transport.Java11HttpClientTransport; +import org.apache.maven.search.transport.Transport; /** * The SMO search backend factory. @@ -35,15 +36,13 @@ public class SmoSearchBackendFactory { * Creates "default" SMO search backend suitable for most use cases. */ public SmoSearchBackend createDefault() { - return create( - DEFAULT_BACKEND_ID, DEFAULT_REPOSITORY_ID, DEFAULT_SMO_URI, new SmoSearchTransportSupplier().get()); + return create(DEFAULT_BACKEND_ID, DEFAULT_REPOSITORY_ID, DEFAULT_SMO_URI, new Java11HttpClientTransport()); } /** * Creates SMO search backend using provided parameters. */ - public SmoSearchBackend create( - String backendId, String repositoryId, String smoUri, SmoSearchTransport transportSupport) { - return new SmoSearchBackendImpl(backendId, repositoryId, smoUri, transportSupport); + public SmoSearchBackend create(String backendId, String repositoryId, String smoUri, Transport transport) { + return new SmoSearchBackendImpl(backendId, repositoryId, smoUri, transport); } } diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImpl.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImpl.java index 332dcb75..9573a1aa 100644 --- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImpl.java +++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImpl.java @@ -20,11 +20,10 @@ import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -41,13 +40,13 @@ import org.apache.maven.search.SearchRequest; import org.apache.maven.search.backend.smo.SmoSearchBackend; import org.apache.maven.search.backend.smo.SmoSearchResponse; -import org.apache.maven.search.backend.smo.SmoSearchTransport; import org.apache.maven.search.request.BooleanQuery; import org.apache.maven.search.request.Field; import org.apache.maven.search.request.FieldQuery; import org.apache.maven.search.request.Paging; import org.apache.maven.search.request.Query; import org.apache.maven.search.support.SearchBackendSupport; +import org.apache.maven.search.transport.Transport; import static java.util.Objects.requireNonNull; @@ -55,38 +54,44 @@ public class SmoSearchBackendImpl extends SearchBackendSupport implements SmoSea private static final Map FIELD_TRANSLATION; static { - HashMap map = new HashMap<>(); - map.put(MAVEN.GROUP_ID, "g"); - map.put(MAVEN.ARTIFACT_ID, "a"); - map.put(MAVEN.VERSION, "v"); - map.put(MAVEN.CLASSIFIER, "l"); - map.put(MAVEN.PACKAGING, "p"); - map.put(MAVEN.CLASS_NAME, "c"); - map.put(MAVEN.FQ_CLASS_NAME, "fc"); - map.put(MAVEN.SHA1, "1"); - FIELD_TRANSLATION = Collections.unmodifiableMap(map); + FIELD_TRANSLATION = Map.of( + MAVEN.GROUP_ID, + "g", + MAVEN.ARTIFACT_ID, + "a", + MAVEN.VERSION, + "v", + MAVEN.CLASSIFIER, + "l", + MAVEN.PACKAGING, + "p", + MAVEN.CLASS_NAME, + "c", + MAVEN.FQ_CLASS_NAME, + "fc", + MAVEN.SHA1, + "1"); } private final String smoUri; - private final SmoSearchTransport transportSupport; + private final Transport transport; private final Map commonHeaders; /** * Creates a customized instance of SMO backend, like an in-house instances of SMO or different IDs. */ - public SmoSearchBackendImpl( - String backendId, String repositoryId, String smoUri, SmoSearchTransport transportSupport) { + public SmoSearchBackendImpl(String backendId, String repositoryId, String smoUri, Transport transport) { super(backendId, repositoryId); this.smoUri = requireNonNull(smoUri); - this.transportSupport = requireNonNull(transportSupport); + this.transport = requireNonNull(transport); this.commonHeaders = new HashMap<>(); this.commonHeaders.put( "User-Agent", "Apache-Maven-Search-SMO/" + discoverVersion() + " " - + transportSupport.getClass().getSimpleName()); + + transport.getClass().getSimpleName()); this.commonHeaders.put("Accept", "application/json"); } @@ -113,7 +118,7 @@ public String getSmoUri() { @Override public SmoSearchResponse search(SearchRequest searchRequest) throws IOException { String searchUri = toURI(searchRequest); - String payload = transportSupport.fetch(searchUri, commonHeaders); + String payload = fetch(searchUri, commonHeaders); JsonObject raw = JsonParser.parseString(payload).getAsJsonObject(); List page = new ArrayList<>(searchRequest.getPaging().getPageSize()); int totalHits = populateFromRaw(raw, page); @@ -133,6 +138,16 @@ private String toURI(SearchRequest searchRequest) { return smoUri + "?q=" + smoQuery; } + private String fetch(String serviceUri, Map headers) throws IOException { + try (Transport.Response response = transport.get(serviceUri, headers)) { + if (response.getCode() == HttpURLConnection.HTTP_OK) { + return new String(response.getBody().readAllBytes(), StandardCharsets.UTF_8); + } else { + throw new IOException("Unexpected response: " + response); + } + } + } + private String toSMOQuery(HashSet searchedFields, Query query) { if (query instanceof BooleanQuery.And) { BooleanQuery bq = (BooleanQuery) query; @@ -151,12 +166,7 @@ private String toSMOQuery(HashSet searchedFields, Query query) { } private String encodeQueryParameterValue(String parameterValue) { - try { - return URLEncoder.encode(parameterValue, StandardCharsets.UTF_8.name()) - .replace("+", "%20"); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + return URLEncoder.encode(parameterValue, StandardCharsets.UTF_8).replace("+", "%20"); } private int populateFromRaw(JsonObject raw, List page) { diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java deleted file mode 100644 index e6fb423e..00000000 --- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.search.backend.smo.internal; - -import java.util.function.Supplier; - -import org.apache.maven.search.backend.smo.SmoSearchTransport; - -/** - * Transport supplier. - */ -public class SmoSearchTransportSupplier implements Supplier { - @Override - public SmoSearchTransport get() { - return new UrlConnectionSmoSearchTransport(); - } -} diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java deleted file mode 100644 index 4787bbfd..00000000 --- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.search.backend.smo.internal; - -import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.Map; -import java.util.Scanner; - -import org.apache.maven.search.backend.smo.SmoSearchTransport; - -/** - * {@link java.net.HttpURLConnection} backed transport. - */ -public class UrlConnectionSmoSearchTransport implements SmoSearchTransport { - @Override - public String fetch(String serviceUri, Map headers) throws IOException { - HttpURLConnection httpConnection = (HttpURLConnection) new URL(serviceUri).openConnection(); - httpConnection.setInstanceFollowRedirects(false); - for (Map.Entry entry : headers.entrySet()) { - httpConnection.setRequestProperty(entry.getKey(), entry.getValue()); - } - int httpCode = httpConnection.getResponseCode(); - if (httpCode == HttpURLConnection.HTTP_OK) { - try (InputStream inputStream = httpConnection.getInputStream()) { - try (Scanner scanner = new Scanner(inputStream, StandardCharsets.UTF_8.name())) { - return scanner.useDelimiter("\\A").next(); - } - } - } else { - throw new IOException("Unexpected response code: " + httpCode); - } - } -} diff --git a/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java b/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java deleted file mode 100644 index 2785a432..00000000 --- a/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.search.backend.smo.internal; - -import java.io.IOException; -import java.net.HttpURLConnection; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.util.Map; - -import org.apache.maven.search.backend.smo.SmoSearchTransport; - -/** - * Java 11 {@link HttpClient} backed transport. - */ -public class Java11HttpClientSmoSearchTransport implements SmoSearchTransport -{ - private final HttpClient client = HttpClient.newBuilder().followRedirects( HttpClient.Redirect.NEVER ).build(); - - @Override - public String fetch( String serviceUri, Map headers ) throws IOException - { - HttpRequest.Builder builder = HttpRequest.newBuilder().uri( URI.create( serviceUri ) ).GET(); - for ( Map.Entry header : headers.entrySet() ) - { - builder.header( header.getKey(), header.getValue() ); - } - HttpRequest request = builder.build(); - try - { - HttpResponse response = client.send( request, HttpResponse.BodyHandlers.ofString() ); - if ( response.statusCode() == HttpURLConnection.HTTP_OK ) - { - return response.body(); - } - else - { - throw new IOException( "Unexpected response: " + response ); - } - } - catch ( InterruptedException e ) - { - Thread.currentThread().interrupt(); - throw new IOException( e ); - } - } -} diff --git a/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java b/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java deleted file mode 100644 index 98f52c25..00000000 --- a/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.maven.search.backend.smo.internal; - -import java.util.function.Supplier; - -import org.apache.maven.search.backend.smo.SmoSearchTransport; - -/** - * Transport supplier. - */ -public class SmoSearchTransportSupplier implements Supplier -{ - @Override - public SmoSearchTransport get() - { - return new Java11HttpClientSmoSearchTransport(); - } -}