From e73e335c1a5a334ae1ff79219020916b4d1b3021 Mon Sep 17 00:00:00 2001 From: Shinsuke Sugaya Date: Sun, 13 Sep 2026 10:46:01 +0900 Subject: [PATCH] refactor: compile fess-crawler-opensearch against the forked OpenSearch package fesen-httpclient now ships the OpenSearch DTOs and query builders under org.codelibs.fesen.opensearch, so org.opensearch:opensearch is no longer inherited transitively. Rewrite every org.opensearch reference in the module - 147 imports and 6 fully-qualified inner-class references in FesenClient - to the forked package. The four node-booting tests need no structural change: they drive FesenClient over HTTP via a host:port system property and never touch runner.client(), so the embedded node keeps using the real org.opensearch types from the test-scope opensearch-runner dependency. --- .../fess/crawler/client/FesenClient.java | 151 +++++++++--------- .../entity/OpenSearchAccessResult.java | 4 +- .../entity/OpenSearchAccessResultData.java | 4 +- .../crawler/entity/OpenSearchUrlFilter.java | 4 +- .../crawler/entity/OpenSearchUrlQueue.java | 4 +- .../fess/crawler/order/UrlQueueOrder.java | 4 +- .../order/impl/DepthFirstUrlQueueOrder.java | 6 +- .../order/impl/NewestFirstUrlQueueOrder.java | 6 +- .../order/impl/RandomUrlQueueOrder.java | 14 +- .../order/impl/SequentialUrlQueueOrder.java | 6 +- .../order/impl/WeightFirstUrlQueueOrder.java | 6 +- .../service/impl/AbstractCrawlerService.java | 60 +++---- .../service/impl/OpenSearchDataService.java | 14 +- .../impl/OpenSearchUrlFilterService.java | 4 +- .../impl/OpenSearchUrlQueueService.java | 20 +-- .../fess/crawler/client/FesenClientTest.java | 42 ++--- .../crawler/order/impl/UrlQueueOrderTest.java | 10 +- .../impl/OpenSearchDataServiceTest.java | 2 +- .../impl/OpenSearchUrlFilterServiceTest.java | 2 +- .../impl/OpenSearchUrlQueueServiceTest.java | 4 +- 20 files changed, 184 insertions(+), 183 deletions(-) diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/client/FesenClient.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/client/FesenClient.java index a48018aa9..55f89a18a 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/client/FesenClient.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/client/FesenClient.java @@ -32,75 +32,75 @@ import org.codelibs.core.lang.ThreadUtil; import org.codelibs.fesen.client.HttpClient; import org.codelibs.fess.crawler.exception.OpenSearchAccessException; -import org.opensearch.OpenSearchException; -import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionType; -import org.opensearch.action.admin.cluster.health.ClusterHealthResponse; -import org.opensearch.action.admin.indices.segments.IndicesSegmentResponse; -import org.opensearch.action.admin.indices.segments.PitSegmentsRequest; -import org.opensearch.action.bulk.BulkRequest; -import org.opensearch.action.bulk.BulkRequestBuilder; -import org.opensearch.action.bulk.BulkResponse; -import org.opensearch.action.delete.DeleteRequest; -import org.opensearch.action.delete.DeleteRequestBuilder; -import org.opensearch.action.delete.DeleteResponse; -import org.opensearch.action.explain.ExplainRequest; -import org.opensearch.action.explain.ExplainRequestBuilder; -import org.opensearch.action.explain.ExplainResponse; -import org.opensearch.action.fieldcaps.FieldCapabilitiesRequest; -import org.opensearch.action.fieldcaps.FieldCapabilitiesRequestBuilder; -import org.opensearch.action.fieldcaps.FieldCapabilitiesResponse; -import org.opensearch.action.get.GetRequest; -import org.opensearch.action.get.GetRequestBuilder; -import org.opensearch.action.get.GetResponse; -import org.opensearch.action.get.MultiGetRequest; -import org.opensearch.action.get.MultiGetRequestBuilder; -import org.opensearch.action.get.MultiGetResponse; -import org.opensearch.action.index.IndexRequest; -import org.opensearch.action.index.IndexRequestBuilder; -import org.opensearch.action.index.IndexResponse; -import org.opensearch.action.search.ClearScrollRequest; -import org.opensearch.action.search.ClearScrollRequestBuilder; -import org.opensearch.action.search.ClearScrollResponse; -import org.opensearch.action.search.CreatePitAction; -import org.opensearch.action.search.CreatePitRequest; -import org.opensearch.action.search.CreatePitResponse; -import org.opensearch.action.search.DeletePitRequest; -import org.opensearch.action.search.DeletePitResponse; -import org.opensearch.action.search.GetAllPitNodesRequest; -import org.opensearch.action.search.GetAllPitNodesResponse; -import org.opensearch.action.search.MultiSearchRequest; -import org.opensearch.action.search.MultiSearchRequestBuilder; -import org.opensearch.action.search.MultiSearchResponse; -import org.opensearch.action.search.SearchRequest; -import org.opensearch.action.search.SearchRequestBuilder; -import org.opensearch.action.search.SearchResponse; -import org.opensearch.action.search.SearchScrollRequest; -import org.opensearch.action.search.SearchScrollRequestBuilder; -import org.opensearch.action.termvectors.MultiTermVectorsRequest; -import org.opensearch.action.termvectors.MultiTermVectorsRequestBuilder; -import org.opensearch.action.termvectors.MultiTermVectorsResponse; -import org.opensearch.action.termvectors.TermVectorsRequest; -import org.opensearch.action.termvectors.TermVectorsRequestBuilder; -import org.opensearch.action.termvectors.TermVectorsResponse; -import org.opensearch.action.update.UpdateRequest; -import org.opensearch.action.update.UpdateRequestBuilder; -import org.opensearch.action.update.UpdateResponse; -import org.opensearch.common.action.ActionFuture; -import org.opensearch.common.settings.Settings; -import org.opensearch.common.unit.TimeValue; -import org.opensearch.core.action.ActionListener; -import org.opensearch.core.action.ActionResponse; -import org.opensearch.index.IndexNotFoundException; -import org.opensearch.index.engine.VersionConflictEngineException; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.search.Scroll; -import org.opensearch.search.SearchHit; -import org.opensearch.search.builder.PointInTimeBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.threadpool.ThreadPool; -import org.opensearch.transport.client.AdminClient; -import org.opensearch.transport.client.Client; +import org.codelibs.fesen.opensearch.OpenSearchException; +import org.codelibs.fesen.opensearch.action.ActionRequest; +import org.codelibs.fesen.opensearch.action.ActionType; +import org.codelibs.fesen.opensearch.action.admin.cluster.health.ClusterHealthResponse; +import org.codelibs.fesen.opensearch.action.admin.indices.segments.IndicesSegmentResponse; +import org.codelibs.fesen.opensearch.action.admin.indices.segments.PitSegmentsRequest; +import org.codelibs.fesen.opensearch.action.bulk.BulkRequest; +import org.codelibs.fesen.opensearch.action.bulk.BulkRequestBuilder; +import org.codelibs.fesen.opensearch.action.bulk.BulkResponse; +import org.codelibs.fesen.opensearch.action.delete.DeleteRequest; +import org.codelibs.fesen.opensearch.action.delete.DeleteRequestBuilder; +import org.codelibs.fesen.opensearch.action.delete.DeleteResponse; +import org.codelibs.fesen.opensearch.action.explain.ExplainRequest; +import org.codelibs.fesen.opensearch.action.explain.ExplainRequestBuilder; +import org.codelibs.fesen.opensearch.action.explain.ExplainResponse; +import org.codelibs.fesen.opensearch.action.fieldcaps.FieldCapabilitiesRequest; +import org.codelibs.fesen.opensearch.action.fieldcaps.FieldCapabilitiesRequestBuilder; +import org.codelibs.fesen.opensearch.action.fieldcaps.FieldCapabilitiesResponse; +import org.codelibs.fesen.opensearch.action.get.GetRequest; +import org.codelibs.fesen.opensearch.action.get.GetRequestBuilder; +import org.codelibs.fesen.opensearch.action.get.GetResponse; +import org.codelibs.fesen.opensearch.action.get.MultiGetRequest; +import org.codelibs.fesen.opensearch.action.get.MultiGetRequestBuilder; +import org.codelibs.fesen.opensearch.action.get.MultiGetResponse; +import org.codelibs.fesen.opensearch.action.index.IndexRequest; +import org.codelibs.fesen.opensearch.action.index.IndexRequestBuilder; +import org.codelibs.fesen.opensearch.action.index.IndexResponse; +import org.codelibs.fesen.opensearch.action.search.ClearScrollRequest; +import org.codelibs.fesen.opensearch.action.search.ClearScrollRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.ClearScrollResponse; +import org.codelibs.fesen.opensearch.action.search.CreatePitAction; +import org.codelibs.fesen.opensearch.action.search.CreatePitRequest; +import org.codelibs.fesen.opensearch.action.search.CreatePitResponse; +import org.codelibs.fesen.opensearch.action.search.DeletePitRequest; +import org.codelibs.fesen.opensearch.action.search.DeletePitResponse; +import org.codelibs.fesen.opensearch.action.search.GetAllPitNodesRequest; +import org.codelibs.fesen.opensearch.action.search.GetAllPitNodesResponse; +import org.codelibs.fesen.opensearch.action.search.MultiSearchRequest; +import org.codelibs.fesen.opensearch.action.search.MultiSearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.MultiSearchResponse; +import org.codelibs.fesen.opensearch.action.search.SearchRequest; +import org.codelibs.fesen.opensearch.action.search.SearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.SearchResponse; +import org.codelibs.fesen.opensearch.action.search.SearchScrollRequest; +import org.codelibs.fesen.opensearch.action.search.SearchScrollRequestBuilder; +import org.codelibs.fesen.opensearch.action.termvectors.MultiTermVectorsRequest; +import org.codelibs.fesen.opensearch.action.termvectors.MultiTermVectorsRequestBuilder; +import org.codelibs.fesen.opensearch.action.termvectors.MultiTermVectorsResponse; +import org.codelibs.fesen.opensearch.action.termvectors.TermVectorsRequest; +import org.codelibs.fesen.opensearch.action.termvectors.TermVectorsRequestBuilder; +import org.codelibs.fesen.opensearch.action.termvectors.TermVectorsResponse; +import org.codelibs.fesen.opensearch.action.update.UpdateRequest; +import org.codelibs.fesen.opensearch.action.update.UpdateRequestBuilder; +import org.codelibs.fesen.opensearch.action.update.UpdateResponse; +import org.codelibs.fesen.opensearch.common.action.ActionFuture; +import org.codelibs.fesen.opensearch.common.settings.Settings; +import org.codelibs.fesen.opensearch.common.unit.TimeValue; +import org.codelibs.fesen.opensearch.core.action.ActionListener; +import org.codelibs.fesen.opensearch.core.action.ActionResponse; +import org.codelibs.fesen.opensearch.index.IndexNotFoundException; +import org.codelibs.fesen.opensearch.index.engine.VersionConflictEngineException; +import org.codelibs.fesen.opensearch.index.query.QueryBuilder; +import org.codelibs.fesen.opensearch.search.Scroll; +import org.codelibs.fesen.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.search.builder.PointInTimeBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.threadpool.ThreadPool; +import org.codelibs.fesen.opensearch.transport.client.AdminClient; +import org.codelibs.fesen.opensearch.transport.client.Client; import jakarta.annotation.PreDestroy; @@ -829,25 +829,26 @@ public void pitSegments(final PitSegmentsRequest pitSegmentsRequest, final Actio } @Override - public void searchView(org.opensearch.action.admin.indices.view.SearchViewAction.Request request, + public void searchView(org.codelibs.fesen.opensearch.action.admin.indices.view.SearchViewAction.Request request, ActionListener listener) { throw new UnsupportedOperationException("Not implemented yet"); } @Override - public ActionFuture searchView(org.opensearch.action.admin.indices.view.SearchViewAction.Request request) { + public ActionFuture searchView( + org.codelibs.fesen.opensearch.action.admin.indices.view.SearchViewAction.Request request) { throw new UnsupportedOperationException("Not implemented yet"); } @Override - public void listViewNames(org.opensearch.action.admin.indices.view.ListViewNamesAction.Request request, - ActionListener listener) { + public void listViewNames(org.codelibs.fesen.opensearch.action.admin.indices.view.ListViewNamesAction.Request request, + ActionListener listener) { throw new UnsupportedOperationException("Not implemented yet"); } @Override - public ActionFuture listViewNames( - org.opensearch.action.admin.indices.view.ListViewNamesAction.Request request) { + public ActionFuture listViewNames( + org.codelibs.fesen.opensearch.action.admin.indices.view.ListViewNamesAction.Request request) { throw new UnsupportedOperationException("Not implemented yet"); } } diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResult.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResult.java index 382a28c5a..a7c843ab4 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResult.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResult.java @@ -20,8 +20,8 @@ import org.codelibs.core.beans.util.BeanUtil; import org.codelibs.fess.crawler.service.impl.OpenSearchDataService; import org.lastaflute.di.core.SingletonLaContainer; -import org.opensearch.core.xcontent.ToXContent; -import org.opensearch.core.xcontent.XContentBuilder; +import org.codelibs.fesen.opensearch.core.xcontent.ToXContent; +import org.codelibs.fesen.opensearch.core.xcontent.XContentBuilder; /** * OpenSearchAccessResult is an implementation of {@link AccessResult} for OpenSearch. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResultData.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResultData.java index 980571524..94288225f 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResultData.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchAccessResultData.java @@ -20,8 +20,8 @@ import org.codelibs.core.misc.Base64Util; import org.codelibs.fess.crawler.exception.OpenSearchAccessException; -import org.opensearch.core.xcontent.ToXContent; -import org.opensearch.core.xcontent.XContentBuilder; +import org.codelibs.fesen.opensearch.core.xcontent.ToXContent; +import org.codelibs.fesen.opensearch.core.xcontent.XContentBuilder; /** * OpenSearchAccessResultData is an implementation of {@link AccessResultData} for OpenSearch. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlFilter.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlFilter.java index 7b14f36b2..48c1d2afe 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlFilter.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlFilter.java @@ -17,8 +17,8 @@ import java.io.IOException; -import org.opensearch.core.xcontent.ToXContent; -import org.opensearch.core.xcontent.XContentBuilder; +import org.codelibs.fesen.opensearch.core.xcontent.ToXContent; +import org.codelibs.fesen.opensearch.core.xcontent.XContentBuilder; /** * OpenSearchUrlFilter is an entity for URL filters in OpenSearch. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlQueue.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlQueue.java index a8678d0df..9f0a61577 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlQueue.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/entity/OpenSearchUrlQueue.java @@ -17,8 +17,8 @@ import java.io.IOException; -import org.opensearch.core.xcontent.ToXContent; -import org.opensearch.core.xcontent.XContentBuilder; +import org.codelibs.fesen.opensearch.core.xcontent.ToXContent; +import org.codelibs.fesen.opensearch.core.xcontent.XContentBuilder; /** * OpenSearchUrlQueue is an implementation of {@link UrlQueue} for OpenSearch. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/UrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/UrlQueueOrder.java index 4d139f7c5..556700837 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/UrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/UrlQueueOrder.java @@ -15,8 +15,8 @@ */ package org.codelibs.fess.crawler.order; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.index.query.QueryBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; /** * Decides which queued URLs are fetched next, and in what order. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/DepthFirstUrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/DepthFirstUrlQueueOrder.java index 00d2f628f..098f697fd 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/DepthFirstUrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/DepthFirstUrlQueueOrder.java @@ -17,9 +17,9 @@ import org.codelibs.fess.crawler.entity.OpenSearchUrlQueue; import org.codelibs.fess.crawler.order.UrlQueueOrder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; /** * Fetches the deepest queued URLs first, approximating a depth-first crawl. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/NewestFirstUrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/NewestFirstUrlQueueOrder.java index d6ea8900f..bf58b0841 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/NewestFirstUrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/NewestFirstUrlQueueOrder.java @@ -17,9 +17,9 @@ import org.codelibs.fess.crawler.entity.OpenSearchUrlQueue; import org.codelibs.fess.crawler.order.UrlQueueOrder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; /** * Fetches the most recently queued URLs first (last in, first out). diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/RandomUrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/RandomUrlQueueOrder.java index c5dbc29a5..d61aa9d4a 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/RandomUrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/RandomUrlQueueOrder.java @@ -16,13 +16,13 @@ package org.codelibs.fess.crawler.order.impl; import org.codelibs.fess.crawler.order.UrlQueueOrder; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder; -import org.opensearch.index.query.functionscore.RandomScoreFunctionBuilder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.index.query.QueryBuilder; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.index.query.functionscore.FunctionScoreQueryBuilder; +import org.codelibs.fesen.opensearch.index.query.functionscore.RandomScoreFunctionBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; /** * Fetches queued URLs in a random order, seeded per session. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/SequentialUrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/SequentialUrlQueueOrder.java index fc478d5e5..e031906b5 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/SequentialUrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/SequentialUrlQueueOrder.java @@ -17,9 +17,9 @@ import org.codelibs.fess.crawler.entity.OpenSearchUrlQueue; import org.codelibs.fess.crawler.order.UrlQueueOrder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; /** * Fetches queued URLs by descending weight, then by discovery order. This is the default. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/WeightFirstUrlQueueOrder.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/WeightFirstUrlQueueOrder.java index 36f7cf838..39c7d2ca8 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/WeightFirstUrlQueueOrder.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/order/impl/WeightFirstUrlQueueOrder.java @@ -17,9 +17,9 @@ import org.codelibs.fess.crawler.entity.OpenSearchUrlQueue; import org.codelibs.fess.crawler.order.UrlQueueOrder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortBuilders; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilders; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; /** * Fetches queued URLs by descending weight only, leaving ties in the index order. diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/AbstractCrawlerService.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/AbstractCrawlerService.java index 4f9b01a39..3ac328723 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/AbstractCrawlerService.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/AbstractCrawlerService.java @@ -15,7 +15,7 @@ */ package org.codelibs.fess.crawler.service.impl; -import static org.opensearch.common.xcontent.XContentFactory.jsonBuilder; +import static org.codelibs.fesen.opensearch.common.xcontent.XContentFactory.jsonBuilder; import java.io.IOException; import java.nio.charset.Charset; @@ -50,35 +50,35 @@ import org.joda.time.DateTimeZone; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.ISODateTimeFormat; -import org.opensearch.OpenSearchStatusException; -import org.opensearch.action.DocWriteRequest.OpType; -import org.opensearch.action.DocWriteResponse.Result; -import org.opensearch.action.admin.indices.create.CreateIndexResponse; -import org.opensearch.action.admin.indices.exists.indices.IndicesExistsResponse; -import org.opensearch.action.admin.indices.mapping.get.GetMappingsResponse; -import org.opensearch.action.admin.indices.refresh.RefreshResponse; -import org.opensearch.action.bulk.BulkItemResponse; -import org.opensearch.action.bulk.BulkRequestBuilder; -import org.opensearch.action.bulk.BulkResponse; -import org.opensearch.action.delete.DeleteResponse; -import org.opensearch.action.get.GetResponse; -import org.opensearch.action.index.IndexResponse; -import org.opensearch.action.search.SearchRequestBuilder; -import org.opensearch.action.search.SearchResponse; -import org.opensearch.action.support.WriteRequest.RefreshPolicy; -import org.opensearch.action.support.clustermanager.AcknowledgedResponse; -import org.opensearch.cluster.metadata.MappingMetadata; -import org.opensearch.common.unit.TimeValue; -import org.opensearch.common.xcontent.XContentType; -import org.opensearch.core.rest.RestStatus; -import org.opensearch.core.xcontent.XContentBuilder; -import org.opensearch.index.IndexNotFoundException; -import org.opensearch.index.query.BoolQueryBuilder; -import org.opensearch.index.query.QueryBuilder; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.search.SearchHit; -import org.opensearch.search.SearchHits; -import org.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.OpenSearchStatusException; +import org.codelibs.fesen.opensearch.action.DocWriteRequest.OpType; +import org.codelibs.fesen.opensearch.action.DocWriteResponse.Result; +import org.codelibs.fesen.opensearch.action.admin.indices.create.CreateIndexResponse; +import org.codelibs.fesen.opensearch.action.admin.indices.exists.indices.IndicesExistsResponse; +import org.codelibs.fesen.opensearch.action.admin.indices.mapping.get.GetMappingsResponse; +import org.codelibs.fesen.opensearch.action.admin.indices.refresh.RefreshResponse; +import org.codelibs.fesen.opensearch.action.bulk.BulkItemResponse; +import org.codelibs.fesen.opensearch.action.bulk.BulkRequestBuilder; +import org.codelibs.fesen.opensearch.action.bulk.BulkResponse; +import org.codelibs.fesen.opensearch.action.delete.DeleteResponse; +import org.codelibs.fesen.opensearch.action.get.GetResponse; +import org.codelibs.fesen.opensearch.action.index.IndexResponse; +import org.codelibs.fesen.opensearch.action.search.SearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.SearchResponse; +import org.codelibs.fesen.opensearch.action.support.WriteRequest.RefreshPolicy; +import org.codelibs.fesen.opensearch.action.support.clustermanager.AcknowledgedResponse; +import org.codelibs.fesen.opensearch.cluster.metadata.MappingMetadata; +import org.codelibs.fesen.opensearch.common.unit.TimeValue; +import org.codelibs.fesen.opensearch.common.xcontent.XContentType; +import org.codelibs.fesen.opensearch.core.rest.RestStatus; +import org.codelibs.fesen.opensearch.core.xcontent.XContentBuilder; +import org.codelibs.fesen.opensearch.index.IndexNotFoundException; +import org.codelibs.fesen.opensearch.index.query.BoolQueryBuilder; +import org.codelibs.fesen.opensearch.index.query.QueryBuilder; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.search.SearchHits; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataService.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataService.java index c47d2a7fc..30ce7bf4e 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataService.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataService.java @@ -28,13 +28,13 @@ import org.codelibs.fess.crawler.util.AccessResultCallback; import org.codelibs.fess.crawler.util.OpenSearchCrawlerConfig; import org.codelibs.fess.crawler.util.OpenSearchResultList; -import org.opensearch.action.DocWriteRequest.OpType; -import org.opensearch.action.search.SearchRequestBuilder; -import org.opensearch.action.search.SearchResponse; -import org.opensearch.common.unit.TimeValue; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.search.SearchHit; -import org.opensearch.search.SearchHits; +import org.codelibs.fesen.opensearch.action.DocWriteRequest.OpType; +import org.codelibs.fesen.opensearch.action.search.SearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.SearchResponse; +import org.codelibs.fesen.opensearch.common.unit.TimeValue; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.search.SearchHits; import jakarta.annotation.PostConstruct; diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterService.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterService.java index 638adcd69..8257625f5 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterService.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterService.java @@ -26,8 +26,8 @@ import org.codelibs.fess.crawler.exception.CrawlerSystemException; import org.codelibs.fess.crawler.service.UrlFilterService; import org.codelibs.fess.crawler.util.OpenSearchCrawlerConfig; -import org.opensearch.action.DocWriteRequest.OpType; -import org.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.action.DocWriteRequest.OpType; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; diff --git a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueService.java b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueService.java index 491306c46..ef5dee27d 100644 --- a/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueService.java +++ b/fess-crawler-opensearch/src/main/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueService.java @@ -35,16 +35,16 @@ import org.codelibs.fess.crawler.order.impl.SequentialUrlQueueOrder; import org.codelibs.fess.crawler.service.UrlQueueService; import org.codelibs.fess.crawler.util.OpenSearchCrawlerConfig; -import org.opensearch.action.DocWriteRequest.OpType; -import org.opensearch.action.bulk.BulkRequestBuilder; -import org.opensearch.action.bulk.BulkResponse; -import org.opensearch.action.search.SearchRequestBuilder; -import org.opensearch.action.support.WriteRequest.RefreshPolicy; -import org.opensearch.action.update.UpdateRequestBuilder; -import org.opensearch.common.unit.TimeValue; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.search.SearchHit; -import org.opensearch.search.SearchHits; +import org.codelibs.fesen.opensearch.action.DocWriteRequest.OpType; +import org.codelibs.fesen.opensearch.action.bulk.BulkRequestBuilder; +import org.codelibs.fesen.opensearch.action.bulk.BulkResponse; +import org.codelibs.fesen.opensearch.action.search.SearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.support.WriteRequest.RefreshPolicy; +import org.codelibs.fesen.opensearch.action.update.UpdateRequestBuilder; +import org.codelibs.fesen.opensearch.common.unit.TimeValue; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.search.SearchHits; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; diff --git a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/client/FesenClientTest.java b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/client/FesenClientTest.java index b3489a6b9..cc6abe5e3 100644 --- a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/client/FesenClientTest.java +++ b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/client/FesenClientTest.java @@ -51,27 +51,27 @@ import org.mockito.ArgumentCaptor; import org.mockito.MockedStatic; import org.mockito.Mockito; -import org.opensearch.action.admin.cluster.health.ClusterHealthResponse; -import org.opensearch.action.bulk.BulkRequestBuilder; -import org.opensearch.action.bulk.BulkResponse; -import org.opensearch.action.delete.DeleteRequestBuilder; -import org.opensearch.action.search.CreatePitAction; -import org.opensearch.action.search.CreatePitRequest; -import org.opensearch.action.search.CreatePitResponse; -import org.opensearch.action.search.DeletePitRequest; -import org.opensearch.action.search.SearchRequest; -import org.opensearch.action.search.SearchRequestBuilder; -import org.opensearch.action.search.SearchResponse; -import org.opensearch.common.action.ActionFuture; -import org.opensearch.common.unit.TimeValue; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.search.SearchHit; -import org.opensearch.search.SearchHits; -import org.opensearch.search.builder.PointInTimeBuilder; -import org.opensearch.search.sort.ShardDocSortBuilder; -import org.opensearch.transport.client.AdminClient; -import org.opensearch.transport.client.Client; -import org.opensearch.transport.client.ClusterAdminClient; +import org.codelibs.fesen.opensearch.action.admin.cluster.health.ClusterHealthResponse; +import org.codelibs.fesen.opensearch.action.bulk.BulkRequestBuilder; +import org.codelibs.fesen.opensearch.action.bulk.BulkResponse; +import org.codelibs.fesen.opensearch.action.delete.DeleteRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.CreatePitAction; +import org.codelibs.fesen.opensearch.action.search.CreatePitRequest; +import org.codelibs.fesen.opensearch.action.search.CreatePitResponse; +import org.codelibs.fesen.opensearch.action.search.DeletePitRequest; +import org.codelibs.fesen.opensearch.action.search.SearchRequest; +import org.codelibs.fesen.opensearch.action.search.SearchRequestBuilder; +import org.codelibs.fesen.opensearch.action.search.SearchResponse; +import org.codelibs.fesen.opensearch.common.action.ActionFuture; +import org.codelibs.fesen.opensearch.common.unit.TimeValue; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.search.SearchHits; +import org.codelibs.fesen.opensearch.search.builder.PointInTimeBuilder; +import org.codelibs.fesen.opensearch.search.sort.ShardDocSortBuilder; +import org.codelibs.fesen.opensearch.transport.client.AdminClient; +import org.codelibs.fesen.opensearch.transport.client.Client; +import org.codelibs.fesen.opensearch.transport.client.ClusterAdminClient; /** * Test class for FesenClient to verify improvements made to the implementation. diff --git a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/order/impl/UrlQueueOrderTest.java b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/order/impl/UrlQueueOrderTest.java index 420589a5d..05e7af43f 100644 --- a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/order/impl/UrlQueueOrderTest.java +++ b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/order/impl/UrlQueueOrderTest.java @@ -18,11 +18,11 @@ import org.codelibs.fess.crawler.order.UrlQueueOrder; import org.dbflute.utflute.core.PlainTestCase; import org.junit.jupiter.api.Test; -import org.opensearch.index.query.functionscore.FunctionScoreQueryBuilder; -import org.opensearch.search.sort.FieldSortBuilder; -import org.opensearch.search.sort.ScoreSortBuilder; -import org.opensearch.search.sort.SortBuilder; -import org.opensearch.search.sort.SortOrder; +import org.codelibs.fesen.opensearch.index.query.functionscore.FunctionScoreQueryBuilder; +import org.codelibs.fesen.opensearch.search.sort.FieldSortBuilder; +import org.codelibs.fesen.opensearch.search.sort.ScoreSortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortBuilder; +import org.codelibs.fesen.opensearch.search.sort.SortOrder; public class UrlQueueOrderTest extends PlainTestCase { diff --git a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataServiceTest.java b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataServiceTest.java index 0c6c8bf4e..9afaac104 100644 --- a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataServiceTest.java +++ b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchDataServiceTest.java @@ -29,7 +29,7 @@ import org.dbflute.utflute.lastadi.LastaDiTestCase; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; -import org.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; import jakarta.annotation.Resource; diff --git a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterServiceTest.java b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterServiceTest.java index d74ddd216..688967e7a 100644 --- a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterServiceTest.java +++ b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlFilterServiceTest.java @@ -29,7 +29,7 @@ import org.dbflute.utflute.lastadi.LastaDiTestCase; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; -import org.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; import jakarta.annotation.Resource; diff --git a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueServiceTest.java b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueServiceTest.java index 1d4b7c29c..76b6677c0 100644 --- a/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueServiceTest.java +++ b/fess-crawler-opensearch/src/test/java/org/codelibs/fess/crawler/service/impl/OpenSearchUrlQueueServiceTest.java @@ -34,8 +34,8 @@ import org.dbflute.utflute.lastadi.LastaDiTestCase; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; -import org.opensearch.index.query.QueryBuilders; -import org.opensearch.search.SearchHit; +import org.codelibs.fesen.opensearch.index.query.QueryBuilders; +import org.codelibs.fesen.opensearch.search.SearchHit; import jakarta.annotation.Resource;