You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/11/08 09:15:48 UTC
[maven-indexer] branch master updated: [MINDEXER-173] Make Search API and SMO backend Java8 (#261)
This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-indexer.git
The following commit(s) were added to refs/heads/master by this push:
new 23ed05f [MINDEXER-173] Make Search API and SMO backend Java8 (#261)
23ed05f is described below
commit 23ed05fae2e3350859ca874e473bafbda60a261f
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Tue Nov 8 10:15:43 2022 +0100
[MINDEXER-173] Make Search API and SMO backend Java8 (#261)
There is nothing special with them, but provide
alt transport for Java11. The Indexer backend MUST be Java11 as it directly uses Indexer that is Java11.
---
https://issues.apache.org/jira/browse/MINDEXER-173
---
search-api/pom.xml | 4 ++
.../backend/indexer/IndexerCoreSearchBackend.java | 6 +++
...d.java => IndexerCoreSearchBackendFactory.java} | 23 +++++++--
.../internal/IndexerCoreSearchBackendImplTest.java | 6 ++-
search-backend-smo/pom.xml | 37 +++++++++++++++
.../maven/search/backend/smo/SmoSearchBackend.java | 6 +++
.../backend/smo/SmoSearchBackendFactory.java | 55 ++++++++++++++++++++++
.../{internal => }/SmoSearchTransportSupport.java | 2 +-
.../backend/smo/internal/SmoSearchBackendImpl.java | 26 ++++------
.../SmoSearchTransportSupplier.java} | 19 ++++----
...t.java => UrlConnectionSmoSearchTransport.java} | 47 +++++++++---------
.../Java11HttpClientSmoSearchTransport.java | 1 +
.../smo/internal/SmoSearchTransportSupplier.java} | 19 ++++----
.../smo/internal/SmoSearchBackendImplTest.java | 4 +-
14 files changed, 188 insertions(+), 67 deletions(-)
diff --git a/search-api/pom.xml b/search-api/pom.xml
index f4640d8..f840dcd 100644
--- a/search-api/pom.xml
+++ b/search-api/pom.xml
@@ -33,6 +33,10 @@ under the License.
Indexer Search API.
</description>
+ <properties>
+ <javaVersion>8</javaVersion>
+ </properties>
+
<dependencies>
<!-- Test -->
<dependency>
diff --git a/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java b/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java
index 9b9843a..7c4f725 100644
--- a/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java
+++ b/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java
@@ -19,14 +19,20 @@ package org.apache.maven.search.backend.indexer;
* under the License.
*/
+import java.io.IOException;
+
import org.apache.maven.index.context.IndexingContext;
import org.apache.maven.search.SearchBackend;
+import org.apache.maven.search.SearchRequest;
/**
* The Indexer Core search backend.
*/
public interface IndexerCoreSearchBackend extends SearchBackend
{
+ @Override
+ IndexerCoreSearchResponse search( SearchRequest searchRequest ) throws IOException;
+
/**
* Returns the {@link IndexingContext} used by this search backend, never {@code null}.
*/
diff --git a/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java b/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackendFactory.java
similarity index 56%
copy from search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java
copy to search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackendFactory.java
index 9b9843a..035a84c 100644
--- a/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackend.java
+++ b/search-backend-indexer/src/main/java/org/apache/maven/search/backend/indexer/IndexerCoreSearchBackendFactory.java
@@ -19,16 +19,29 @@ package org.apache.maven.search.backend.indexer;
* under the License.
*/
+import org.apache.maven.index.Indexer;
import org.apache.maven.index.context.IndexingContext;
-import org.apache.maven.search.SearchBackend;
+import org.apache.maven.search.backend.indexer.internal.IndexerCoreSearchBackendImpl;
+
+import static java.util.Objects.requireNonNull;
/**
- * The Indexer Core search backend.
+ * The Indexer Core search backend factory.
*/
-public interface IndexerCoreSearchBackend extends SearchBackend
+public class IndexerCoreSearchBackendFactory
{
+ private final Indexer indexer;
+
+ public IndexerCoreSearchBackendFactory( Indexer indexer )
+ {
+ this.indexer = requireNonNull( indexer, "indexer cannot be null" );
+ }
+
/**
- * Returns the {@link IndexingContext} used by this search backend, never {@code null}.
+ * Creates {@link IndexerCoreSearchBackend} instance using passed in context.
*/
- IndexingContext getIndexingContext();
+ public IndexerCoreSearchBackend createIndexerCoreSearchBackend( IndexingContext indexingContext )
+ {
+ return new IndexerCoreSearchBackendImpl( indexer, indexingContext );
+ }
}
diff --git a/search-backend-indexer/src/test/java/org/apache/maven/search/backend/indexer/internal/IndexerCoreSearchBackendImplTest.java b/search-backend-indexer/src/test/java/org/apache/maven/search/backend/indexer/internal/IndexerCoreSearchBackendImplTest.java
index 2f72518..1ed462d 100644
--- a/search-backend-indexer/src/test/java/org/apache/maven/search/backend/indexer/internal/IndexerCoreSearchBackendImplTest.java
+++ b/search-backend-indexer/src/test/java/org/apache/maven/search/backend/indexer/internal/IndexerCoreSearchBackendImplTest.java
@@ -49,6 +49,8 @@ import org.apache.maven.search.MAVEN;
import org.apache.maven.search.Record;
import org.apache.maven.search.SearchRequest;
import org.apache.maven.search.SearchResponse;
+import org.apache.maven.search.backend.indexer.IndexerCoreSearchBackend;
+import org.apache.maven.search.backend.indexer.IndexerCoreSearchBackendFactory;
import org.apache.maven.search.request.FieldQuery;
import org.eclipse.sisu.launch.InjectedTest;
import org.junit.After;
@@ -74,7 +76,7 @@ public class IndexerCoreSearchBackendImplTest extends InjectedTest
private IndexingContext centralContext;
- private IndexerCoreSearchBackendImpl backend;
+ private IndexerCoreSearchBackend backend;
private void dumpSingle( AtomicInteger counter, List<Record> page )
{
@@ -185,7 +187,7 @@ public class IndexerCoreSearchBackendImplTest extends InjectedTest
System.out.println( "Done in " + Duration.ofMillis( System.currentTimeMillis() - start ) );
System.out.println();
- this.backend = new IndexerCoreSearchBackendImpl( indexer, centralContext );
+ this.backend = new IndexerCoreSearchBackendFactory( indexer ).createIndexerCoreSearchBackend( centralContext );
}
@After
diff --git a/search-backend-smo/pom.xml b/search-backend-smo/pom.xml
index 9638104..ad710db 100644
--- a/search-backend-smo/pom.xml
+++ b/search-backend-smo/pom.xml
@@ -33,6 +33,10 @@ under the License.
Indexer Search Backend implemented by SMO.
</description>
+ <properties>
+ <javaVersion>8</javaVersion>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.apache.maven.indexer</groupId>
@@ -66,6 +70,39 @@ under the License.
<filtering>true</filtering>
</resource>
</resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>compile-java-11</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <configuration>
+ <release>11</release>
+ <compileSourceRoots>
+ <compileSourceRoot>${project.basedir}/src/main/java11</compileSourceRoot>
+ </compileSourceRoots>
+ <multiReleaseOutput>true</multiReleaseOutput>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Multi-Release>true</Multi-Release>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
</build>
</project>
diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
index 26b27cb..b470ec6 100644
--- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
+++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
@@ -19,13 +19,19 @@ package org.apache.maven.search.backend.smo;
* under the License.
*/
+import java.io.IOException;
+
import org.apache.maven.search.SearchBackend;
+import org.apache.maven.search.SearchRequest;
/**
* The SMO search backend.
*/
public interface SmoSearchBackend extends SearchBackend
{
+ @Override
+ SmoSearchResponse search( SearchRequest searchRequest ) throws IOException;
+
/**
* Returns the base "service URI" that is used by this SMO backend. never {@code null}.
*/
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
new file mode 100644
index 0000000..ea28ce6
--- /dev/null
+++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackendFactory.java
@@ -0,0 +1,55 @@
+package org.apache.maven.search.backend.smo;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.search.backend.smo.internal.SmoSearchBackendImpl;
+import org.apache.maven.search.backend.smo.internal.SmoSearchTransportSupplier;
+
+/**
+ * The SMO search backend factory.
+ */
+public class SmoSearchBackendFactory
+{
+ public static final String DEFAULT_BACKEND_ID = "central-smo";
+
+ public static final String DEFAULT_REPOSITORY_ID = "central";
+
+ public static final String DEFAULT_SMO_URI = "https://search.maven.org/solrsearch/select";
+
+ /**
+ * 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() );
+ }
+
+ /**
+ * Creates SMO search backend using provided parameters.
+ */
+ public SmoSearchBackend create( String backendId,
+ String repositoryId,
+ String smoUri,
+ SmoSearchTransportSupport transportSupport )
+ {
+ return new SmoSearchBackendImpl( backendId, repositoryId, smoUri, transportSupport );
+ }
+}
diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupport.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchTransportSupport.java
similarity index 98%
rename from search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupport.java
rename to search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchTransportSupport.java
index 07c5402..16fc2ba 100644
--- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupport.java
+++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchTransportSupport.java
@@ -1,4 +1,4 @@
-package org.apache.maven.search.backend.smo.internal;
+package org.apache.maven.search.backend.smo;
/*
* Licensed to the Apache Software Foundation (ASF) under one
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 4405c11..5c350cc 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
@@ -40,6 +40,7 @@ import org.apache.maven.search.Record;
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.SmoSearchTransportSupport;
import org.apache.maven.search.request.BooleanQuery;
import org.apache.maven.search.request.Field;
import org.apache.maven.search.request.FieldQuery;
@@ -51,12 +52,6 @@ import static java.util.Objects.requireNonNull;
public class SmoSearchBackendImpl extends SearchBackendSupport implements SmoSearchBackend
{
- public static final String DEFAULT_BACKEND_ID = "central-smo";
-
- public static final String DEFAULT_REPOSITORY_ID = "central";
-
- public static final String DEFAULT_SMO_URI = "https://search.maven.org/solrsearch/select";
-
private static final Map<Field, String> FIELD_TRANSLATION;
static
@@ -77,14 +72,6 @@ public class SmoSearchBackendImpl extends SearchBackendSupport implements SmoSea
private final SmoSearchTransportSupport transportSupport;
- /**
- * Creates a "default" instance of SMO backend against {@link #DEFAULT_SMO_URI}.
- */
- public SmoSearchBackendImpl()
- {
- this( DEFAULT_BACKEND_ID, DEFAULT_REPOSITORY_ID, DEFAULT_SMO_URI, new Java11HttpClientSmoSearchTransport() );
- }
-
/**
* Creates a customized instance of SMO backend, like an in-house instances of SMO or different IDs.
*/
@@ -155,8 +142,15 @@ public class SmoSearchBackendImpl extends SearchBackendSupport implements SmoSea
private String encodeQueryParameterValue( String parameterValue )
{
- return URLEncoder.encode( parameterValue, StandardCharsets.UTF_8 )
- .replace( "+", "%20" );
+ try
+ {
+ return URLEncoder.encode( parameterValue, StandardCharsets.UTF_8.name() )
+ .replace( "+", "%20" );
+ }
+ catch ( UnsupportedEncodingException e )
+ {
+ throw new RuntimeException( e );
+ }
}
private int populateFromRaw( JsonObject raw, List<Record> page )
diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
similarity index 67%
copy from search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
copy to search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
index 26b27cb..15922cc 100644
--- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
+++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
@@ -1,4 +1,4 @@
-package org.apache.maven.search.backend.smo;
+package org.apache.maven.search.backend.smo.internal;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,15 +19,18 @@ package org.apache.maven.search.backend.smo;
* under the License.
*/
-import org.apache.maven.search.SearchBackend;
+import java.util.function.Supplier;
+
+import org.apache.maven.search.backend.smo.SmoSearchTransportSupport;
/**
- * The SMO search backend.
+ * Transport supplier.
*/
-public interface SmoSearchBackend extends SearchBackend
+public class SmoSearchTransportSupplier implements Supplier<SmoSearchTransportSupport>
{
- /**
- * Returns the base "service URI" that is used by this SMO backend. never {@code null}.
- */
- String getSmoUri();
+ @Override
+ public SmoSearchTransportSupport get()
+ {
+ return new UrlConnectionSmoSearchTransport();
+ }
}
diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java
similarity index 51%
copy from search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java
copy to search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java
index 58bd0ab..312f9a3 100644
--- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java
+++ b/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/UrlConnectionSmoSearchTransport.java
@@ -20,46 +20,41 @@ package org.apache.maven.search.backend.smo.internal;
*/
import java.io.IOException;
+import java.io.InputStream;
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.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.util.Scanner;
import org.apache.maven.search.SearchRequest;
+import org.apache.maven.search.backend.smo.SmoSearchTransportSupport;
/**
- * Java 11 {@link HttpClient} backed transport.
+ * {@link java.net.HttpURLConnection} backed transport.
*/
-public class Java11HttpClientSmoSearchTransport extends SmoSearchTransportSupport
+public class UrlConnectionSmoSearchTransport extends SmoSearchTransportSupport
{
- private final HttpClient client = HttpClient.newBuilder().followRedirects( HttpClient.Redirect.NEVER ).build();
-
@Override
public String fetch( SearchRequest searchRequest, String serviceUri ) throws IOException
{
- HttpRequest request = HttpRequest.newBuilder()
- .uri( URI.create( serviceUri ) )
- .header( "User-Agent", getUserAgent() )
- .header( "Accept", "application/json" )
- .GET()
- .build();
- try
+ HttpURLConnection httpConnection = (HttpURLConnection) new URL( serviceUri ).openConnection();
+ httpConnection.setInstanceFollowRedirects( false );
+ httpConnection.setRequestProperty( "User-Agent", getUserAgent() );
+ httpConnection.setRequestProperty( "Accept", "application/json" );
+ int httpCode = httpConnection.getResponseCode();
+ if ( httpCode == HttpURLConnection.HTTP_OK )
{
- HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() );
- if ( response.statusCode() == HttpURLConnection.HTTP_OK )
- {
- return response.body();
- }
- else
+ try ( InputStream inputStream = httpConnection.getInputStream() )
{
- throw new IOException( "Unexpected response: " + response );
+ try ( Scanner scanner = new Scanner( inputStream, StandardCharsets.UTF_8.name() ) )
+ {
+ return scanner.useDelimiter( "\\A" ).next();
+ }
}
}
- catch ( InterruptedException e )
+ else
{
- Thread.currentThread().interrupt();
- throw new IOException( e );
+ throw new IOException( "Unexpected response code: " + httpCode );
}
}
-}
+}
\ No newline at end of file
diff --git a/search-backend-smo/src/main/java/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
similarity index 97%
rename from search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java
rename to search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/Java11HttpClientSmoSearchTransport.java
index 58bd0ab..0b45143 100644
--- a/search-backend-smo/src/main/java/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
@@ -27,6 +27,7 @@ import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import org.apache.maven.search.SearchRequest;
+import org.apache.maven.search.backend.smo.SmoSearchTransportSupport;
/**
* Java 11 {@link HttpClient} backed transport.
diff --git a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java b/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
similarity index 67%
copy from search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
copy to search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
index 26b27cb..08327be 100644
--- a/search-backend-smo/src/main/java/org/apache/maven/search/backend/smo/SmoSearchBackend.java
+++ b/search-backend-smo/src/main/java11/org/apache/maven/search/backend/smo/internal/SmoSearchTransportSupplier.java
@@ -1,4 +1,4 @@
-package org.apache.maven.search.backend.smo;
+package org.apache.maven.search.backend.smo.internal;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,15 +19,18 @@ package org.apache.maven.search.backend.smo;
* under the License.
*/
-import org.apache.maven.search.SearchBackend;
+import java.util.function.Supplier;
+
+import org.apache.maven.search.backend.smo.SmoSearchTransportSupport;
/**
- * The SMO search backend.
+ * Transport supplier.
*/
-public interface SmoSearchBackend extends SearchBackend
+public class SmoSearchTransportSupplier implements Supplier<SmoSearchTransportSupport>
{
- /**
- * Returns the base "service URI" that is used by this SMO backend. never {@code null}.
- */
- String getSmoUri();
+ @Override
+ public SmoSearchTransportSupport get()
+ {
+ return new Java11HttpClientSmoSearchTransport();
+ }
}
diff --git a/search-backend-smo/src/test/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImplTest.java b/search-backend-smo/src/test/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImplTest.java
index 5c55a10..bce9bd9 100644
--- a/search-backend-smo/src/test/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImplTest.java
+++ b/search-backend-smo/src/test/java/org/apache/maven/search/backend/smo/internal/SmoSearchBackendImplTest.java
@@ -28,6 +28,8 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.maven.search.MAVEN;
import org.apache.maven.search.Record;
import org.apache.maven.search.SearchRequest;
+import org.apache.maven.search.backend.smo.SmoSearchBackend;
+import org.apache.maven.search.backend.smo.SmoSearchBackendFactory;
import org.apache.maven.search.backend.smo.SmoSearchResponse;
import org.apache.maven.search.request.BooleanQuery;
import org.apache.maven.search.request.FieldQuery;
@@ -38,7 +40,7 @@ import org.junit.Test;
@Ignore( "This is not a test, is more a showcase" )
public class SmoSearchBackendImplTest
{
- private final SmoSearchBackendImpl backend = new SmoSearchBackendImpl();
+ private final SmoSearchBackend backend = new SmoSearchBackendFactory().createDefault();
private void dumpSingle( AtomicInteger counter, List<Record> page )
{