diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java index 187d4d2b0cb..76e3ac726ee 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java @@ -25,11 +25,11 @@ import org.hibernate.search.engine.backend.index.IndexManager; import org.hibernate.search.engine.backend.index.spi.IndexManagerStartContext; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor; import org.hibernate.search.engine.backend.scope.spi.IndexScopeBuilder; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.cfg.spi.ConfigurationPropertySource; import org.hibernate.search.engine.cfg.spi.ConfigurationProperty; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; @@ -141,10 +141,10 @@ public ElasticsearchIndexModel getModel() { } @Override - public IndexWorkPlan createWorkPlan(BackendSessionContext sessionContext, + public IndexIndexingPlan createIndexingPlan(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { // The commit strategy is ignored, because Elasticsearch always commits changes to its transaction log. - return backendContext.createWorkPlan( + return backendContext.createIndexingPlan( serialOrchestrator, elasticsearchIndexName, refreshStrategy, @@ -153,17 +153,17 @@ public IndexWorkPlan createWorkPlan(BackendS } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { // The commit strategy is ignored, because Elasticsearch always commits changes to its transaction log. - return backendContext.createDocumentWorkExecutor( + return backendContext.createIndexer( parallelOrchestrator, elasticsearchIndexName, sessionContext ); } @Override - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return backendContext.createWorkExecutor( + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return backendContext.createWorkspace( parallelOrchestrator, elasticsearchIndexName, sessionContext ); } diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexManagerBackendContext.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexManagerBackendContext.java index 7cda7a4a275..963e21ef6dc 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexManagerBackendContext.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexManagerBackendContext.java @@ -25,14 +25,14 @@ import org.hibernate.search.backend.elasticsearch.multitenancy.impl.MultiTenancyStrategy; import org.hibernate.search.backend.elasticsearch.orchestration.impl.ElasticsearchWorkOrchestrator; import org.hibernate.search.backend.elasticsearch.orchestration.impl.ElasticsearchWorkOrchestratorProvider; -import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexDocumentWorkExecutor; -import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexWorkExecutor; -import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexWorkPlan; +import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexIndexer; +import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexWorkspace; +import org.hibernate.search.backend.elasticsearch.work.execution.impl.ElasticsearchIndexIndexingPlan; import org.hibernate.search.backend.elasticsearch.work.execution.impl.WorkExecutionBackendContext; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -79,14 +79,14 @@ public String toString() { } @Override - public IndexWorkPlan createWorkPlan( + public IndexIndexingPlan createIndexingPlan( ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, DocumentRefreshStrategy refreshStrategy, BackendSessionContext sessionContext) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new ElasticsearchIndexWorkPlan( + return new ElasticsearchIndexIndexingPlan( link.getWorkBuilderFactory(), multiTenancyStrategy, orchestrator, indexName, refreshStrategy, @@ -95,22 +95,22 @@ public IndexWorkPlan createWorkPlan( } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, BackendSessionContext sessionContext) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new ElasticsearchIndexDocumentWorkExecutor( link.getWorkBuilderFactory(), multiTenancyStrategy, orchestrator, + return new ElasticsearchIndexIndexer( link.getWorkBuilderFactory(), multiTenancyStrategy, orchestrator, indexName, sessionContext ); } @Override - public IndexWorkExecutor createWorkExecutor(ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, + public IndexWorkspace createWorkspace(ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, DetachedBackendSessionContext sessionContext) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new ElasticsearchIndexWorkExecutor( + return new ElasticsearchIndexWorkspace( link.getWorkBuilderFactory(), multiTenancyStrategy, orchestrator, indexName, sessionContext ); diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexDocumentWorkExecutor.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexer.java similarity index 90% rename from backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexDocumentWorkExecutor.java rename to backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexer.java index 28a9d5202df..aeaea5ad300 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexDocumentWorkExecutor.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexer.java @@ -16,12 +16,12 @@ import org.hibernate.search.backend.elasticsearch.work.builder.factory.impl.ElasticsearchWorkBuilderFactory; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; import com.google.gson.JsonObject; -public class ElasticsearchIndexDocumentWorkExecutor implements IndexDocumentWorkExecutor { +public class ElasticsearchIndexIndexer implements IndexIndexer { private final ElasticsearchWorkBuilderFactory factory; private final MultiTenancyStrategy multiTenancyStrategy; @@ -29,7 +29,7 @@ public class ElasticsearchIndexDocumentWorkExecutor implements IndexDocumentWork private final URLEncodedString indexName; private final String tenantId; - public ElasticsearchIndexDocumentWorkExecutor(ElasticsearchWorkBuilderFactory factory, MultiTenancyStrategy multiTenancyStrategy, + public ElasticsearchIndexIndexer(ElasticsearchWorkBuilderFactory factory, MultiTenancyStrategy multiTenancyStrategy, ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, BackendSessionContext sessionContext) { diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkPlan.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexingPlan.java similarity index 94% rename from backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkPlan.java rename to backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexingPlan.java index 042cf6c12c7..ed6218f66c8 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkPlan.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexIndexingPlan.java @@ -17,7 +17,7 @@ import org.hibernate.search.backend.elasticsearch.work.builder.factory.impl.ElasticsearchWorkBuilderFactory; import org.hibernate.search.backend.elasticsearch.work.impl.ElasticsearchWork; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -26,7 +26,7 @@ -public class ElasticsearchIndexWorkPlan implements IndexWorkPlan { +public class ElasticsearchIndexIndexingPlan implements IndexIndexingPlan { private final ElasticsearchWorkBuilderFactory builderFactory; private final MultiTenancyStrategy multiTenancyStrategy; @@ -37,7 +37,7 @@ public class ElasticsearchIndexWorkPlan implements IndexWorkPlan> works = new ArrayList<>(); - public ElasticsearchIndexWorkPlan(ElasticsearchWorkBuilderFactory builderFactory, + public ElasticsearchIndexIndexingPlan(ElasticsearchWorkBuilderFactory builderFactory, MultiTenancyStrategy multiTenancyStrategy, ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, @@ -78,7 +78,7 @@ public void delete(DocumentReferenceProvider referenceProvider) { } @Override - public void prepare() { + public void process() { /* * Nothing to do: we can't execute anything more * without sending a request to the cluster. diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkExecutor.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkspace.java similarity index 92% rename from backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkExecutor.java rename to backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkspace.java index 33951bd5459..a3642ac6c28 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkExecutor.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/ElasticsearchIndexWorkspace.java @@ -12,12 +12,12 @@ import org.hibernate.search.backend.elasticsearch.orchestration.impl.ElasticsearchWorkOrchestrator; import org.hibernate.search.backend.elasticsearch.util.spi.URLEncodedString; import org.hibernate.search.backend.elasticsearch.work.builder.factory.impl.ElasticsearchWorkBuilderFactory; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import com.google.gson.JsonObject; -public class ElasticsearchIndexWorkExecutor implements IndexWorkExecutor { +public class ElasticsearchIndexWorkspace implements IndexWorkspace { private final ElasticsearchWorkBuilderFactory builderFactory; private final MultiTenancyStrategy multiTenancyStrategy; @@ -25,7 +25,7 @@ public class ElasticsearchIndexWorkExecutor implements IndexWorkExecutor { private final URLEncodedString indexName; private final DetachedBackendSessionContext sessionContext; - public ElasticsearchIndexWorkExecutor(ElasticsearchWorkBuilderFactory builderFactory, + public ElasticsearchIndexWorkspace(ElasticsearchWorkBuilderFactory builderFactory, MultiTenancyStrategy multiTenancyStrategy, ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, DetachedBackendSessionContext sessionContext) { diff --git a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/WorkExecutionBackendContext.java b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/WorkExecutionBackendContext.java index 142137f7d39..0a2423e9ef3 100644 --- a/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/WorkExecutionBackendContext.java +++ b/backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/execution/impl/WorkExecutionBackendContext.java @@ -10,9 +10,9 @@ import org.hibernate.search.backend.elasticsearch.orchestration.impl.ElasticsearchWorkOrchestrator; import org.hibernate.search.backend.elasticsearch.util.spi.URLEncodedString; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -29,18 +29,18 @@ */ public interface WorkExecutionBackendContext { - IndexWorkPlan createWorkPlan( + IndexIndexingPlan createIndexingPlan( ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, DocumentRefreshStrategy refreshStrategy, BackendSessionContext sessionContext); - IndexDocumentWorkExecutor createDocumentWorkExecutor( + IndexIndexer createIndexer( ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, BackendSessionContext sessionContext); - IndexWorkExecutor createWorkExecutor(ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, + IndexWorkspace createWorkspace(ElasticsearchWorkOrchestrator orchestrator, URLEncodedString indexName, DetachedBackendSessionContext sessionContext); } diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/IndexManagerBackendContext.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/IndexManagerBackendContext.java index 642cc3a8445..5c3d3153754 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/IndexManagerBackendContext.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/IndexManagerBackendContext.java @@ -29,16 +29,16 @@ import org.hibernate.search.backend.lucene.search.projection.impl.LuceneSearchProjection; import org.hibernate.search.backend.lucene.search.query.impl.LuceneSearchQueryBuilder; import org.hibernate.search.backend.lucene.search.query.impl.SearchBackendContext; -import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexDocumentWorkExecutor; -import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexWorkExecutor; -import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexWorkPlan; +import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexIndexer; +import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexWorkspace; +import org.hibernate.search.backend.lucene.work.execution.impl.LuceneIndexIndexingPlan; import org.hibernate.search.backend.lucene.work.execution.impl.WorkExecutionBackendContext; import org.hibernate.search.backend.lucene.work.execution.impl.WorkExecutionIndexManagerContext; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.backend.lucene.document.impl.LuceneRootDocumentBuilder; import org.hibernate.search.backend.lucene.multitenancy.impl.MultiTenancyStrategy; import org.hibernate.search.backend.lucene.work.impl.LuceneWorkFactory; @@ -90,14 +90,14 @@ public String toString() { } @Override - public IndexWorkPlan createWorkPlan( + public IndexIndexingPlan createIndexingPlan( WorkExecutionIndexManagerContext indexManagerContext, LuceneIndexEntryFactory indexEntryFactory, BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new LuceneIndexWorkPlan( + return new LuceneIndexIndexingPlan( workFactory, indexManagerContext, indexEntryFactory, @@ -122,14 +122,14 @@ public LuceneWriteWorkOrchestratorImplementor createOrchestrator(String indexNam } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( WorkExecutionIndexManagerContext indexManagerContext, LuceneIndexEntryFactory indexEntryFactory, BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new LuceneIndexDocumentWorkExecutor( + return new LuceneIndexIndexer( workFactory, indexEntryFactory, indexManagerContext, @@ -139,11 +139,11 @@ public IndexDocumentWorkExecutor createDocumentWorkEx } @Override - public IndexWorkExecutor createWorkExecutor(WorkExecutionIndexManagerContext indexManagerContext, + public IndexWorkspace createWorkspace(WorkExecutionIndexManagerContext indexManagerContext, DetachedBackendSessionContext sessionContext) { multiTenancyStrategy.checkTenantId( sessionContext.getTenantIdentifier(), eventContext ); - return new LuceneIndexWorkExecutor( workFactory, indexManagerContext, sessionContext ); + return new LuceneIndexWorkspace( workFactory, indexManagerContext, sessionContext ); } @Override diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerImpl.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerImpl.java index 4bd971c4211..9127771ea48 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerImpl.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerImpl.java @@ -20,10 +20,10 @@ import org.hibernate.search.engine.backend.index.IndexManager; import org.hibernate.search.engine.backend.index.spi.IndexManagerStartContext; import org.hibernate.search.engine.backend.scope.spi.IndexScopeBuilder; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.backend.lucene.document.impl.LuceneRootDocumentBuilder; import org.hibernate.search.backend.lucene.document.model.impl.LuceneIndexModel; import org.hibernate.search.backend.lucene.logging.impl.Log; @@ -87,26 +87,26 @@ public void close() { } @Override - public IndexWorkPlan createWorkPlan(BackendSessionContext sessionContext, + public IndexIndexingPlan createIndexingPlan(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return backendContext.createWorkPlan( + return backendContext.createIndexingPlan( shardHolder, indexEntryFactory, sessionContext, commitStrategy, refreshStrategy ); } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { - return backendContext.createDocumentWorkExecutor( + return backendContext.createIndexer( shardHolder, indexEntryFactory, sessionContext, commitStrategy ); } @Override - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return backendContext.createWorkExecutor( shardHolder, sessionContext ); + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return backendContext.createWorkspace( shardHolder, sessionContext ); } @Override diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexDocumentWorkExecutor.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexer.java similarity index 92% rename from backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexDocumentWorkExecutor.java rename to backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexer.java index 5966308b39a..c54e64fda32 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexDocumentWorkExecutor.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexer.java @@ -17,10 +17,10 @@ import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; -public class LuceneIndexDocumentWorkExecutor implements IndexDocumentWorkExecutor { +public class LuceneIndexIndexer implements IndexIndexer { private final LuceneWorkFactory factory; private final LuceneIndexEntryFactory indexEntryFactory; @@ -28,7 +28,7 @@ public class LuceneIndexDocumentWorkExecutor implements IndexDocumentWorkExecuto private final String tenantId; private final DocumentCommitStrategy commitStrategy; - public LuceneIndexDocumentWorkExecutor(LuceneWorkFactory factory, + public LuceneIndexIndexer(LuceneWorkFactory factory, LuceneIndexEntryFactory indexEntryFactory, WorkExecutionIndexManagerContext indexManagerContext, BackendSessionContext sessionContext, diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkPlan.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexingPlan.java similarity index 95% rename from backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkPlan.java rename to backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexingPlan.java index bec94358666..9d94031c416 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkPlan.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexIndexingPlan.java @@ -15,7 +15,7 @@ import org.hibernate.search.backend.lucene.document.impl.LuceneIndexEntryFactory; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; import org.hibernate.search.backend.lucene.document.impl.LuceneIndexEntry; @@ -25,7 +25,7 @@ import org.hibernate.search.backend.lucene.work.impl.LuceneWorkFactory; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; -public class LuceneIndexWorkPlan implements IndexWorkPlan { +public class LuceneIndexIndexingPlan implements IndexIndexingPlan { private final LuceneWorkFactory factory; private final LuceneIndexEntryFactory indexEntryFactory; @@ -36,7 +36,7 @@ public class LuceneIndexWorkPlan implements IndexWorkPlan>> worksByOrchestrator = new HashMap<>(); - public LuceneIndexWorkPlan(LuceneWorkFactory factory, + public LuceneIndexIndexingPlan(LuceneWorkFactory factory, WorkExecutionIndexManagerContext indexManagerContext, LuceneIndexEntryFactory indexEntryFactory, BackendSessionContext sessionContext, @@ -80,7 +80,7 @@ public void delete(DocumentReferenceProvider referenceProvider) { } @Override - public void prepare() { + public void process() { // Nothing to do: we only have to send the works to the orchestrator } diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkExecutor.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkspace.java similarity index 93% rename from backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkExecutor.java rename to backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkspace.java index 7b359dd93d6..5a0db3eb5e9 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkExecutor.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/LuceneIndexWorkspace.java @@ -14,16 +14,16 @@ import org.hibernate.search.backend.lucene.work.impl.LuceneWriteWork; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; -public class LuceneIndexWorkExecutor implements IndexWorkExecutor { +public class LuceneIndexWorkspace implements IndexWorkspace { private final LuceneWorkFactory factory; private final WorkExecutionIndexManagerContext indexManagerContext; private final DetachedBackendSessionContext sessionContext; - public LuceneIndexWorkExecutor(LuceneWorkFactory factory, + public LuceneIndexWorkspace(LuceneWorkFactory factory, WorkExecutionIndexManagerContext indexManagerContext, DetachedBackendSessionContext sessionContext) { this.factory = factory; diff --git a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/WorkExecutionBackendContext.java b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/WorkExecutionBackendContext.java index 9f1029892df..2f26c7d8f1e 100644 --- a/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/WorkExecutionBackendContext.java +++ b/backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/execution/impl/WorkExecutionBackendContext.java @@ -14,9 +14,9 @@ import org.hibernate.search.backend.lucene.orchestration.impl.LuceneWriteWorkOrchestratorImplementor; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -32,7 +32,7 @@ * we would end up with methods with many parameters. */ public interface WorkExecutionBackendContext { - IndexWorkPlan createWorkPlan( + IndexIndexingPlan createIndexingPlan( WorkExecutionIndexManagerContext indexManagerContext, LuceneIndexEntryFactory indexEntryFactory, BackendSessionContext sessionContext, @@ -41,12 +41,12 @@ IndexWorkPlan createWorkPlan( LuceneWriteWorkOrchestratorImplementor createOrchestrator(String indexName, Optional shardId, IndexWriterDelegator indexWriterDelegator); - IndexDocumentWorkExecutor createDocumentWorkExecutor( + IndexIndexer createIndexer( WorkExecutionIndexManagerContext indexManagerContext, LuceneIndexEntryFactory indexEntryFactory, BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy); - IndexWorkExecutor createWorkExecutor(WorkExecutionIndexManagerContext indexManagerContext, + IndexWorkspace createWorkspace(WorkExecutionIndexManagerContext indexManagerContext, DetachedBackendSessionContext sessionContext); } diff --git a/documentation/src/main/asciidoc/internals.asciidoc b/documentation/src/main/asciidoc/internals.asciidoc index e8336f89d9a..9f7230ba12f 100644 --- a/documentation/src/main/asciidoc/internals.asciidoc +++ b/documentation/src/main/asciidoc/internals.asciidoc @@ -146,14 +146,14 @@ so that the value is added to the field. The other part of indexing (or altering the index in any way) is to give an order to the index manager: "add this document", "delete this document", ... -This is done through the `IndexWorkPlan` class. -The mapper should create a work plan whenever it needs to execute a series of works. +This is done through the `IndexIndexingPlan` class. +The mapper should create an indexing plan whenever it needs to add, update or delete a document. -`IndexWorkPlan` carries *some* context usually associated to a "session" in the JPA world, +`IndexIndexingPlan` carries *some* context usually associated to a "session" in the JPA world, including the tenant identifier when using multi-tenancy, in particular. -Thus the mapper should instantiate a new work plan whenever this context changes. +Thus the mapper should instantiate a new indexing plan whenever this context changes. -NOTE: For now index-scoped operations such as flush, optimize, etc. are unavailable from work plans. +NOTE: For now index-scoped operations such as flush, optimize, etc. are unavailable from indexing plans. HSEARCH-3305 will introduce APIs and SPIs for these. === Searching diff --git a/documentation/src/main/asciidoc/mapper-orm-indexing-automatic.asciidoc b/documentation/src/main/asciidoc/mapper-orm-indexing-automatic.asciidoc index e9be6a057e9..cff343add1d 100644 --- a/documentation/src/main/asciidoc/mapper-orm-indexing-automatic.asciidoc +++ b/documentation/src/main/asciidoc/mapper-orm-indexing-automatic.asciidoc @@ -55,7 +55,7 @@ entity changes performed up to the flush will be indexed correctly. If you come from Hibernate Search 5 or earlier, you may see this as a significant improvement: there is no need to call `flushToIndexes()` and update indexes in the middle of a transaction anymore, -except for larger volumes of data (see <>). +except for larger volumes of data (see <>). ==== Inside transactions, indexing happens after transactions are committed:: When entity changes happen inside a transaction, @@ -68,7 +68,7 @@ and perform flush/clear, regularly to save memory, be aware that Hibernate Search's internal buffer holding documents to index will grow on each flush, and will not be cleared until the transaction is committed or rolled back. If you encounter memory issues because of that, -see <> for a few solutions. +see <> for a few solutions. Outside of transactions, indexing happens on session flush:: When entity changes happen outside of any transaction (not recommended), indexes are updated immediately upon session `flush()`. diff --git a/documentation/src/main/asciidoc/mapper-orm-indexing-manual.asciidoc b/documentation/src/main/asciidoc/mapper-orm-indexing-manual.asciidoc index e012fb4aff0..2c1c1026893 100644 --- a/documentation/src/main/asciidoc/mapper-orm-indexing-manual.asciidoc +++ b/documentation/src/main/asciidoc/mapper-orm-indexing-manual.asciidoc @@ -24,8 +24,8 @@ As with everything in Hibernate Search, these APIs only affect the Hibernate Search indexes: they do not write anything to the database. -[[mapper-orm-indexing-manual-writeplan-process-execute]] -== Controlling entity reads and index writes with `SearchSessionWritePlan` +[[mapper-orm-indexing-manual-indexingplan-process-execute]] +== Controlling entity reads and index writes with `SearchIndexingPlan` // Search 5 anchors backward compatibility [[search-batchindex-flushtoindexes]] @@ -91,7 +91,7 @@ include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/Hibe Note we're relying on automatic indexing to index the entity, but this would work just as well if automatic indexing was disabled, only requiring an extra call to index the entity. -See <>. +See <>. <5> Commit the transaction at the end of each iteration of the outer loop. The entities will be flushed and indexed automatically. ==== @@ -113,7 +113,7 @@ after the call to `session.flush()`/`session.clear()`, without waiting for the database transaction to be committed: the internal document buffer will be cleared after each write to indexes. -This is done by calling the `execute()` method on the write plan, +This is done by calling the `execute()` method on the indexing plan, as shown in the example below. [IMPORTANT] @@ -126,7 +126,7 @@ The index will thus be inconsistent with the database. To recover from that situation, you will have to either execute the exact same database changes that failed manually (to get the database back in sync with the index), -or <> affected by the transaction manually +or <> affected by the transaction manually (to get the index back in sync with the database). Of course, if you can afford to take the indexes offline for a longer period of time, @@ -141,13 +141,13 @@ and <>. include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=persist-automatic-indexing-periodic-flush-execute-clear] ---- <1> Get the `SearchSession`. -<2> Get the search session's write plan. +<2> Get the search session's indexing plan. <3> For every iteration of the loop, instantiate a new entity and persist it. Note we're relying on automatic indexing to index the entity, but this would work just as well if automatic indexing was disabled, only requiring an extra call to index the entity. -See <>. -<4> After after a `flush()`/`clear()`, call `writePlan.execute()`. +See <>. +<4> After after a `flush()`/`clear()`, call `indexingPlan.execute()`. The entities will be processed and *the changes will be sent to the indexes immediately*. Hibernate Search will wait for index changes to be "completed" as required by the configured <>. @@ -156,7 +156,7 @@ The remaining entities that were not flushed/cleared will be flushed and indexed ==== -[[mapper-orm-indexing-manual-writeplan-writes]] +[[mapper-orm-indexing-manual-indexingplan-writes]] == Explicitly indexing and deleting specific documents // Search 5 anchors backward compatibility [[_adding_instances_to_the_index]] @@ -167,7 +167,7 @@ the indexes will start empty and stay that way until explicit indexing commands are sent to Hibernate Search. Indexing is done in the context of an ORM session -using the `SearchSessionWritePlan` interface. +using the `SearchIndexingPlan` interface. This interface represents the (mutable) set of changes that are planned in the context of a session, and will be applied to indexes upon transaction commit. @@ -193,35 +193,35 @@ Respectively, process the changes and apply them to indexes. + These methods will be executed automatically on commit, so they are only useful when processing large number of items, -as explained in <>. +as explained in <>. Below are examples of using `addOrUpdate` and `delete`. -.Explicitly adding or updating an entity in the index using `SearchSessionWritePlan` +.Explicitly adding or updating an entity in the index using `SearchIndexingPlan` ==== [source, JAVA, indent=0] ---- -include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=write-plan-addOrUpdate] +include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=indexing-plan-addOrUpdate] ---- <1> Get the `SearchSession`. -<2> Get the search session's write plan. +<2> Get the search session's indexing plan. <3> Fetch from the database the `Book` we want to index. -<4> Submit the `Book` to the write plan for an add-or-update operation. +<4> Submit the `Book` to the indexing plan for an add-or-update operation. The operation won't be executed immediately, but will be delayed until the transaction is committed. <5> Commit the transaction, allowing Hibernate Search to actually write the document to the index. ==== -.Explicitly deleting an entity from the index using `SearchSessionWritePlan` +.Explicitly deleting an entity from the index using `SearchIndexingPlan` ==== [source, JAVA, indent=0] ---- -include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=write-plan-delete] +include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=indexing-plan-delete] ---- <1> Get the `SearchSession`. -<2> Get the search session's write plan. +<2> Get the search session's indexing plan. <3> Fetch from the database the `Book` we want to un-index. -<4> Submit the `Book` to the write plan for a delete operation. +<4> Submit the `Book` to the indexing plan for a delete operation. The operation won't be executed immediately, but will be delayed until the transaction is committed. <5> Commit the transaction, allowing Hibernate Search to actually delete the document from the index. @@ -229,7 +229,7 @@ but will be delayed until the transaction is committed. [TIP] ==== -Multiple operations can be performed in a single write plan. +Multiple operations can be performed in a single indexing plan. The same entity can even be changed multiple times, for example added and then removed: Hibernate Search will simplify the operation as expected. @@ -238,7 +238,7 @@ This will work fine for any reasonable number of entities, but changing or simply loading large numbers of entities in a single session requires special care with Hibernate ORM, and then some extra care with Hibernate Search. -See <> for more information. +See <> for more information. ==== == Explicitly altering a whole index @@ -248,7 +248,7 @@ but rather about a large number of documents, possibly all of them. This includes, for example, purging the index to remove all of its content. The operations are performed *outside* of the context of an ORM session, -using the `SearchWriter` interface. +using the `SearchWorkspace` interface. This interface exposes various large-scale operations that can be applied to an index or a set of indexes. These operations are triggered as soon as they are requested, @@ -257,10 +257,10 @@ without waiting for the transaction commit. This interface offers the following methods: `purge()`:: -Purge the indexes targeted by this writer, removing all documents. +Purge the indexes targeted by this workspace, removing all documents. + When using multi-tenancy, only documents of one tenant will be removed: -the tenant of the session from which this writer originated. +the tenant of the session from which this workspace originated. `purgeAsync()`:: Asynchronous version of `purge()` returning a `CompletableFuture`. `flush()`:: @@ -273,7 +273,7 @@ Only to be used by experts fully aware of the implications. `flushAsync()`:: Asynchronous version of `flush()` returning a `CompletableFuture`. `optimize()`:: -Merge all segments of the indexes targeted by this writer into a single one. +Merge all segments of the indexes targeted by this workspace into a single one. + Note this operation may affect performance positively as well as negatively. As a rule of thumb, if indexes are read-only for extended periods of time, @@ -283,31 +283,31 @@ is likely to degrade read/write performance overall. `optimizeAsync()`:: Asynchronous version of `optimize()` returning a `CompletableFuture`. -Below is an example using a `SearchWriter` to purge several indexes. +Below is an example using a `SearchWorkspace` to purge several indexes. -.Purging indexes using a `SearchWriter` +.Purging indexes using a `SearchWorkspace` ==== [source, JAVA, indent=0] ---- -include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=writer-purge] +include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=workspace-purge] ---- <1> Get a `SearchSession`. -<2> Get a writer targeting the indexes mapped to the `Book` and `Author` entity types. +<2> Get a workspace targeting the indexes mapped to the `Book` and `Author` entity types. <3> Trigger a purge. This method is synchronous and will only return after the purge is complete, but an asynchronous method, `purgeAsync`, is also available. ==== -There are multiple ways to retrieve the `SearchWriter` to target one, several or all indexes: +There are multiple ways to retrieve a `SearchWorkspace` to target one, several or all indexes: -.Retrieving a `SearchWriter` +.Retrieving a `SearchWorkspace` ==== [source, JAVA, indent=0] ---- -include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=writer-retrieval] +include::{sourcedir}/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java[tags=workspace-retrieval] ---- <1> Get a `SearchSession`. -<2> Get a writer targeting all indexes. -<3> Get a writer targeting the index mapped to the `Book` entity type. -<4> Get a writer targeting the indexes mapped to the `Book` and `Author` entity types. +<2> Get a workspace targeting all indexes. +<3> Get a workspace targeting the index mapped to the `Book` entity type. +<4> Get a workspace targeting the indexes mapped to the `Book` and `Author` entity types. ==== diff --git a/documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java b/documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java index 90a990986eb..b29bc239bb5 100644 --- a/documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java +++ b/documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/indexing/HibernateOrmManualIndexingIT.java @@ -16,8 +16,8 @@ import org.hibernate.search.mapper.orm.automaticindexing.AutomaticIndexingStrategyName; import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; import org.hibernate.search.mapper.orm.session.SearchSession; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendConfiguration; import org.hibernate.search.util.impl.integrationtest.orm.OrmSetupHelper; import org.hibernate.search.util.impl.integrationtest.orm.OrmUtils; @@ -86,7 +86,7 @@ public void persist_automaticIndexing_periodicFlushExecuteClear() { // tag::persist-automatic-indexing-periodic-flush-execute-clear[] SearchSession searchSession = Search.session( entityManager ); // <1> - SearchSessionWritePlan searchWritePlan = searchSession.writePlan(); // <2> + SearchIndexingPlan indexingPlan = searchSession.indexingPlan(); // <2> entityManager.getTransaction().begin(); try { @@ -97,7 +97,7 @@ public void persist_automaticIndexing_periodicFlushExecuteClear() { if ( ( i + 1 ) % BATCH_SIZE == 0 ) { entityManager.flush(); entityManager.clear(); - searchWritePlan.execute(); // <4> + indexingPlan.execute(); // <4> } } entityManager.getTransaction().commit(); // <5> @@ -151,15 +151,15 @@ public void addOrUpdate() { OrmUtils.withinEntityManager( entityManagerFactory, entityManager -> { assertBookCount( entityManager, 0 ); - // tag::write-plan-addOrUpdate[] + // tag::indexing-plan-addOrUpdate[] SearchSession searchSession = Search.session( entityManager ); // <1> - SearchSessionWritePlan searchWritePlan = searchSession.writePlan(); // <2> + SearchIndexingPlan indexingPlan = searchSession.indexingPlan(); // <2> entityManager.getTransaction().begin(); try { Book book = entityManager.getReference( Book.class, 5 ); // <3> - searchWritePlan.addOrUpdate( book ); // <4> + indexingPlan.addOrUpdate( book ); // <4> entityManager.getTransaction().commit(); // <5> } @@ -167,7 +167,7 @@ public void addOrUpdate() { entityManager.getTransaction().rollback(); throw e; } - // end::write-plan-addOrUpdate[] + // end::indexing-plan-addOrUpdate[] assertBookCount( entityManager, 1 ); } ); @@ -182,15 +182,15 @@ public void delete() { OrmUtils.withinEntityManager( entityManagerFactory, entityManager -> { assertBookCount( entityManager, numberOfBooks ); - // tag::write-plan-delete[] + // tag::indexing-plan-delete[] SearchSession searchSession = Search.session( entityManager ); // <1> - SearchSessionWritePlan searchWritePlan = searchSession.writePlan(); // <2> + SearchIndexingPlan indexingPlan = searchSession.indexingPlan(); // <2> entityManager.getTransaction().begin(); try { Book book = entityManager.getReference( Book.class, 5 ); // <3> - searchWritePlan.delete( book ); // <4> + indexingPlan.delete( book ); // <4> entityManager.getTransaction().commit(); // <5> } @@ -198,36 +198,36 @@ public void delete() { entityManager.getTransaction().rollback(); throw e; } - // end::write-plan-delete[] + // end::indexing-plan-delete[] assertBookCount( entityManager, numberOfBooks - 1 ); } ); } @Test - public void writer() { + public void workspace() { int numberOfBooks = 10; EntityManagerFactory entityManagerFactory = setup( AutomaticIndexingStrategyName.SESSION ); initBooksAndAuthors( entityManagerFactory, numberOfBooks ); OrmUtils.withinEntityManager( entityManagerFactory, entityManager -> { - // tag::writer-retrieval[] + // tag::workspace-retrieval[] SearchSession searchSession = Search.session( entityManager ); // <1> - SearchWriter writer1 = searchSession.writer(); // <2> - SearchWriter writer2 = searchSession.writer( Book.class ); // <3> - SearchWriter writer3 = searchSession.writer( Book.class, Author.class ); // <4> - // end::writer-retrieval[] + SearchWorkspace workspace1 = searchSession.workspace(); // <2> + SearchWorkspace workspace2 = searchSession.workspace( Book.class ); // <3> + SearchWorkspace workspace3 = searchSession.workspace( Book.class, Author.class ); // <4> + // end::workspace-retrieval[] } ); OrmUtils.withinEntityManager( entityManagerFactory, entityManager -> { assertBookCount( entityManager, numberOfBooks ); assertAuthorCount( entityManager, numberOfBooks ); - // tag::writer-purge[] + // tag::workspace-purge[] SearchSession searchSession = Search.session( entityManager ); // <1> - SearchWriter writer = searchSession.writer( Book.class, Author.class ); // <2> - writer.purge(); // <3> - // end::writer-purge[] + SearchWorkspace workspace = searchSession.workspace( Book.class, Author.class ); // <2> + workspace.purge(); // <3> + // end::workspace-purge[] assertBookCount( entityManager, 0 ); assertAuthorCount( entityManager, 0 ); @@ -279,7 +279,7 @@ private Author newAuthor(int id) { private void assertBookCount(EntityManager entityManager, int expectedCount) { SearchSession searchSession = Search.session( entityManager ); // Ensure every committed work is searchable: flush also executes a refresh on Elasticsearch - searchSession.writer().flush(); + searchSession.workspace().flush(); assertThat( searchSession.search( Book.class ) .predicate( f -> f.matchAll() ) @@ -291,7 +291,7 @@ private void assertBookCount(EntityManager entityManager, int expectedCount) { private void assertAuthorCount(EntityManager entityManager, int expectedCount) { SearchSession searchSession = Search.session( entityManager ); // Ensure every committed work is searchable: flush also executes a refresh on Elasticsearch - searchSession.writer().flush(); + searchSession.workspace().flush(); assertThat( searchSession.search( Author.class ) .predicate( f -> f.matchAll() ) diff --git a/engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerImplementor.java b/engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerImplementor.java index 22561be96c1..104b5d9b12e 100644 --- a/engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerImplementor.java +++ b/engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerImplementor.java @@ -12,9 +12,9 @@ import org.hibernate.search.engine.backend.index.IndexManager; import org.hibernate.search.engine.backend.scope.spi.IndexScopeBuilder; import org.hibernate.search.engine.backend.spi.BackendStartContext; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -42,13 +42,13 @@ public interface IndexManagerImplementor extends Auto */ IndexManager toAPI(); - IndexWorkPlan createWorkPlan(BackendSessionContext sessionContext, + IndexIndexingPlan createIndexingPlan(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy); - IndexDocumentWorkExecutor createDocumentWorkExecutor(BackendSessionContext sessionContext, + IndexIndexer createIndexer(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy); - IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext); + IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext); IndexScopeBuilder createScopeBuilder(BackendMappingContext mappingContext); diff --git a/engine/src/main/java/org/hibernate/search/engine/backend/session/spi/DetachedBackendSessionContext.java b/engine/src/main/java/org/hibernate/search/engine/backend/session/spi/DetachedBackendSessionContext.java index 526693128d1..291255ef7d4 100644 --- a/engine/src/main/java/org/hibernate/search/engine/backend/session/spi/DetachedBackendSessionContext.java +++ b/engine/src/main/java/org/hibernate/search/engine/backend/session/spi/DetachedBackendSessionContext.java @@ -21,8 +21,8 @@ * The main downside is that this context cannot be used * everywhere {@link BackendSessionContext} can. * In particular, it cannot be used when creating document-related - * {@link org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor#createWorkPlan(BackendSessionContext, DocumentCommitStrategy, DocumentRefreshStrategy) work plans} - * or {@link org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor#createDocumentWorkExecutor(BackendSessionContext, DocumentCommitStrategy) work executors} + * {@link org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor#createIndexingPlan(BackendSessionContext, DocumentCommitStrategy, DocumentRefreshStrategy) indexing plans} + * or {@link org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor#createIndexer(BackendSessionContext, DocumentCommitStrategy) indexers} * because these may need access to the session. */ public final class DetachedBackendSessionContext { diff --git a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexDocumentWorkExecutor.java b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexer.java similarity index 78% rename from engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexDocumentWorkExecutor.java rename to engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexer.java index 41449fbea0d..166a8a28161 100644 --- a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexDocumentWorkExecutor.java +++ b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexer.java @@ -8,7 +8,12 @@ import java.util.concurrent.CompletableFuture; -public interface IndexDocumentWorkExecutor { +/** + * An indexer scoped to a single index. + * + * @param The expected document type. + */ +public interface IndexIndexer { CompletableFuture add(DocumentReferenceProvider documentReferenceProvider, DocumentContributor documentContributor); diff --git a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkPlan.java b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexingPlan.java similarity index 88% rename from engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkPlan.java rename to engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexingPlan.java index 014e23ffe69..af0111aaaaa 100644 --- a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkPlan.java +++ b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexIndexingPlan.java @@ -9,18 +9,17 @@ import java.util.concurrent.CompletableFuture; /** - * A set of works to be executed on an index. + * A set of works to be executed on a single index. *

* Works are accumulated when methods such as {@link #add(DocumentReferenceProvider, DocumentContributor)} * or {@link #update(DocumentReferenceProvider, DocumentContributor)} are called, * and executed only when {@link #execute()} is called. *

- * Relative ordering of works within a work plan will be preserved. + * Relative ordering of works within a plan will be preserved. *

* Implementations may not be thread-safe. - * */ -public interface IndexWorkPlan { +public interface IndexIndexingPlan { /** * Add a document to the index, assuming that the document is absent from the index. @@ -46,12 +45,12 @@ public interface IndexWorkPlan { void delete(DocumentReferenceProvider documentReferenceProvider); /** - * Prepare the work plan execution, i.e. execute as much as possible without writing to the index. + * Process works before their execution, i.e. do as much as possible without writing to the index. *

* Calling this method is optional: the {@link #execute()} method - * will perform the preparation if necessary. + * will perform the processing if necessary. */ - void prepare(); + void process(); /** * Start executing all the works in this plan, and clear the plan so that it can be re-used. diff --git a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkExecutor.java b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkspace.java similarity index 80% rename from engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkExecutor.java rename to engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkspace.java index 4f247dec0f7..d9688af64ca 100644 --- a/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkExecutor.java +++ b/engine/src/main/java/org/hibernate/search/engine/backend/work/execution/spi/IndexWorkspace.java @@ -8,7 +8,10 @@ import java.util.concurrent.CompletableFuture; -public interface IndexWorkExecutor { +/** + * The entry point for explicit index operations on a single index. + */ +public interface IndexWorkspace { CompletableFuture optimize(); diff --git a/engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexManagerImpl.java b/engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexManagerImpl.java index e67c7ddcbc2..fc4e8fd7a4e 100644 --- a/engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexManagerImpl.java +++ b/engine/src/main/java/org/hibernate/search/engine/common/impl/MappedIndexManagerImpl.java @@ -10,11 +10,11 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.index.IndexManager; import org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.mapper.scope.spi.MappedIndexScopeBuilder; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -34,20 +34,20 @@ public IndexManager toAPI() { } @Override - public IndexWorkPlan createWorkPlan(BackendSessionContext sessionContext, + public IndexIndexingPlan createIndexingPlan(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return implementor.createWorkPlan( sessionContext, commitStrategy, refreshStrategy ); + return implementor.createIndexingPlan( sessionContext, commitStrategy, refreshStrategy ); } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor(BackendSessionContext sessionContext, + public IndexIndexer createIndexer(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { - return implementor.createDocumentWorkExecutor( sessionContext, commitStrategy ); + return implementor.createIndexer( sessionContext, commitStrategy ); } @Override - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return implementor.createWorkExecutor( sessionContext ); + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return implementor.createWorkspace( sessionContext ); } @Override diff --git a/engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappedIndexManager.java b/engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappedIndexManager.java index 28b5dc456d3..d707efc4b45 100644 --- a/engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappedIndexManager.java +++ b/engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappedIndexManager.java @@ -9,10 +9,10 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.index.IndexManager; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.mapper.scope.spi.MappedIndexScopeBuilder; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; @@ -27,13 +27,13 @@ public interface MappedIndexManager { IndexManager toAPI(); - IndexWorkPlan createWorkPlan(BackendSessionContext sessionContext, + IndexIndexingPlan createIndexingPlan(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy); - IndexDocumentWorkExecutor createDocumentWorkExecutor(BackendSessionContext sessionContext, + IndexIndexer createIndexer(BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy); - IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext); + IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext); MappedIndexScopeBuilder createScopeBuilder(BackendMappingContext mappingContext); diff --git a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/ElasticsearchExtensionIT.java b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/ElasticsearchExtensionIT.java index 3ed4eec5699..4bd2d1e5722 100644 --- a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/ElasticsearchExtensionIT.java +++ b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/ElasticsearchExtensionIT.java @@ -27,7 +27,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.index.IndexManager; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.common.spi.SearchIntegration; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.predicate.SearchPredicate; @@ -579,8 +579,8 @@ public void indexManager_unwrap_error_unknownType() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( SECOND_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( SECOND_ID ), document -> { document.addValue( indexMapping.integer, "2" ); document.addValue( indexMapping.unsupportedType, "42" ); @@ -590,7 +590,7 @@ private void initData() { document.addValue( indexMapping.sort4, "z" ); document.addValue( indexMapping.sort5, "a" ); } ); - workPlan.add( referenceProvider( FIRST_ID ), document -> { + plan.add( referenceProvider( FIRST_ID ), document -> { document.addValue( indexMapping.string, "'text 1'" ); document.addValue( indexMapping.sort1, "a" ); @@ -599,7 +599,7 @@ private void initData() { document.addValue( indexMapping.sort4, "z" ); document.addValue( indexMapping.sort5, "a" ); } ); - workPlan.add( referenceProvider( THIRD_ID ), document -> { + plan.add( referenceProvider( THIRD_ID ), document -> { document.addValue( indexMapping.geoPoint, "{'lat': 40.12, 'lon': -71.34}" ); document.addValue( indexMapping.sort1, "z" ); @@ -608,7 +608,7 @@ private void initData() { document.addValue( indexMapping.sort4, "z" ); document.addValue( indexMapping.sort5, "a" ); } ); - workPlan.add( referenceProvider( FOURTH_ID ), document -> { + plan.add( referenceProvider( FOURTH_ID ), document -> { document.addValue( indexMapping.dateWithColons, "'2018:01:12'" ); document.addValue( indexMapping.sort1, "z" ); @@ -617,7 +617,7 @@ private void initData() { document.addValue( indexMapping.sort4, "a" ); document.addValue( indexMapping.sort5, "a" ); } ); - workPlan.add( referenceProvider( FIFTH_ID ), document -> { + plan.add( referenceProvider( FIFTH_ID ), document -> { // This document should not match any query document.addValue( indexMapping.string, "'text 2'" ); document.addValue( indexMapping.integer, "1" ); @@ -627,9 +627,9 @@ private void initData() { document.addValue( indexMapping.sort5, "z" ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/search/ElasticsearchMatchSearchPredicateIT.java b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/search/ElasticsearchMatchSearchPredicateIT.java index 01f32b3d6be..cd39b749777 100644 --- a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/search/ElasticsearchMatchSearchPredicateIT.java +++ b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/search/ElasticsearchMatchSearchPredicateIT.java @@ -11,7 +11,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; import org.hibernate.search.util.common.SearchException; @@ -64,9 +64,9 @@ public void match_skipAnalysis_normalizedStringField() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.normalizedStringField, TEST_TERM ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.normalizedStringField, TEST_TERM ) ); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchIndexingIT.java b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchIndexingIT.java index 48fb4c41366..628d30f0343 100644 --- a/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchIndexingIT.java +++ b/integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchIndexingIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.elasticsearch.testsupport.util.ElasticsearchClientSpy; import org.hibernate.search.integrationtest.backend.elasticsearch.testsupport.util.ElasticsearchRequestAssertionMode; import org.hibernate.search.util.impl.integrationtest.elasticsearch.dialect.ElasticsearchTestDialect; @@ -67,9 +67,9 @@ public void setup() { @Test public void addUpdateDelete_routing() { String routingKey = "someRoutingKey"; - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); - workPlan.add( referenceProvider( "1", routingKey ), document -> { + plan.add( referenceProvider( "1", routingKey ), document -> { document.addValue( indexMapping.string, "text1" ); } ); clientSpy.expectNext( @@ -82,10 +82,10 @@ public void addUpdateDelete_routing() { .build(), ElasticsearchRequestAssertionMode.EXTENSIBLE ); - workPlan.execute().join(); + plan.execute().join(); clientSpy.verifyExpectationsMet(); - workPlan.update( referenceProvider( "1", routingKey ), document -> { + plan.update( referenceProvider( "1", routingKey ), document -> { document.addValue( indexMapping.string, "text2" ); } ); clientSpy.expectNext( @@ -98,10 +98,10 @@ public void addUpdateDelete_routing() { .build(), ElasticsearchRequestAssertionMode.EXTENSIBLE ); - workPlan.execute().join(); + plan.execute().join(); clientSpy.verifyExpectationsMet(); - workPlan.delete( referenceProvider( "1", routingKey ) ); + plan.delete( referenceProvider( "1", routingKey ) ); clientSpy.expectNext( ElasticsearchRequest.delete() .pathComponent( URLEncodedString.fromString( INDEX_NAME ) ) @@ -111,7 +111,7 @@ public void addUpdateDelete_routing() { .build(), ElasticsearchRequestAssertionMode.EXTENSIBLE ); - workPlan.execute().join(); + plan.execute().join(); clientSpy.verifyExpectationsMet(); } diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java index 362f18f8d8a..564cf683afa 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java @@ -46,7 +46,7 @@ import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.index.IndexManager; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.common.spi.SearchIntegration; import org.hibernate.search.engine.search.projection.SearchProjection; import org.hibernate.search.engine.search.loading.context.spi.LoadingContext; @@ -631,11 +631,11 @@ public void projection_explanation() { @Test public void nativeField_invalidFieldPath() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); SubTest.expectException( "native field contributing field with invalid field path", - () -> workPlan.add( referenceProvider( FIRST_ID ), document -> { + () -> plan.add( referenceProvider( FIRST_ID ), document -> { document.addValue( indexMapping.nativeField_invalidFieldPath, 45 ); } ) ) .assertThrown() @@ -680,8 +680,8 @@ public void indexManager_unwrap_error_unknownType() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( FIRST_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( FIRST_ID ), document -> { document.addValue( indexMapping.string, "text 1" ); document.addValue( indexMapping.nativeField, 37 ); @@ -691,7 +691,7 @@ private void initData() { document.addValue( indexMapping.sort2, "z" ); document.addValue( indexMapping.sort3, "z" ); } ); - workPlan.add( referenceProvider( SECOND_ID ), document -> { + plan.add( referenceProvider( SECOND_ID ), document -> { document.addValue( indexMapping.integer, 2 ); document.addValue( indexMapping.nativeField, 78 ); @@ -701,7 +701,7 @@ private void initData() { document.addValue( indexMapping.sort2, "a" ); document.addValue( indexMapping.sort3, "z" ); } ); - workPlan.add( referenceProvider( THIRD_ID ), document -> { + plan.add( referenceProvider( THIRD_ID ), document -> { document.addValue( indexMapping.geoPoint, GeoPoint.of( 40.12, -71.34 ) ); document.addValue( indexMapping.nativeField, 13 ); @@ -711,7 +711,7 @@ private void initData() { document.addValue( indexMapping.sort2, "z" ); document.addValue( indexMapping.sort3, "a" ); } ); - workPlan.add( referenceProvider( FOURTH_ID ), document -> { + plan.add( referenceProvider( FOURTH_ID ), document -> { document.addValue( indexMapping.nativeField, 89 ); document.addValue( indexMapping.nativeField_unsupportedProjection, 89 ); @@ -719,7 +719,7 @@ private void initData() { document.addValue( indexMapping.sort2, "z" ); document.addValue( indexMapping.sort3, "z" ); } ); - workPlan.add( referenceProvider( FIFTH_ID ), document -> { + plan.add( referenceProvider( FIFTH_ID ), document -> { // This document should not match any query document.addValue( indexMapping.string, "text 2" ); document.addValue( indexMapping.integer, 1 ); @@ -730,7 +730,7 @@ private void initData() { document.addValue( indexMapping.sort3, "zz" ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/lowlevel/directory/AbstractDirectoryIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/lowlevel/directory/AbstractDirectoryIT.java index 0b4686a5539..9f59eda44cb 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/lowlevel/directory/AbstractDirectoryIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/lowlevel/directory/AbstractDirectoryIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.common.spi.SearchIntegration; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; @@ -47,17 +47,17 @@ public abstract class AbstractDirectoryIT { protected StubMappingIndexManager indexManager; protected final void checkIndexingAndQuerying() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.string, "text 1" ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.string, "text 2" ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.string, "text 3" ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldAttributesIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldAttributesIT.java index e42d4170a96..402e3016639 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldAttributesIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldAttributesIT.java @@ -17,7 +17,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.dsl.StringIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Norms; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.TermVector; @@ -123,8 +123,8 @@ private Document loadDocument() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "ID:1" ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "ID:1" ), document -> { document.addValue( indexMapping.string, "keyword" ); document.addValue( indexMapping.text, TEXT ); document.addValue( indexMapping.norms, TEXT ); @@ -133,7 +133,7 @@ private void initData() { document.addValue( indexMapping.moreOptions, "Search 6 groundwork - Add the missing common field type options compared to Search 5" ); } ); - workPlan.execute().join(); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldTypesIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldTypesIT.java index 0b04fd42881..42aed9730b4 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldTypesIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/mapping/LuceneFieldTypesIT.java @@ -16,7 +16,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; @@ -90,16 +90,16 @@ public void verifyProjectionsOnDifferentTypes() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); - workPlan.add( referenceProvider( "ID:1" ), document -> { + plan.add( referenceProvider( "ID:1" ), document -> { document.addValue( indexMapping.string, "keyword" ); document.addValue( indexMapping.text, TEXT_1 ); document.addValue( indexMapping.integer, 739 ); document.addValue( indexMapping.longNumber, 739L ); document.addValue( indexMapping.bool, true ); } ); - workPlan.add( referenceProvider( "ID:2" ), document -> { + plan.add( referenceProvider( "ID:2" ), document -> { document.addValue( indexMapping.string, "anotherKeyword" ); document.addValue( indexMapping.text, TEXT_2 ); document.addValue( indexMapping.integer, 123 ); @@ -107,7 +107,7 @@ private void initData() { document.addValue( indexMapping.bool, false ); } ); - workPlan.execute().join(); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneFloatingPointInfinitySearchIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneFloatingPointInfinitySearchIT.java index 49f89fb0e91..7b413aa2e8f 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneFloatingPointInfinitySearchIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneFloatingPointInfinitySearchIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.types.Aggregable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.search.aggregation.AggregationKey; import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.StandardFieldMapper; @@ -185,20 +185,20 @@ public void double_infinityExcluded() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "negative-infinity" ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "negative-infinity" ), document -> { document.addValue( indexMapping.floatFieldModel.reference, Float.NEGATIVE_INFINITY ); document.addValue( indexMapping.doubleFieldModel.reference, Double.NEGATIVE_INFINITY ); } ); - workPlan.add( referenceProvider( "zero" ), document -> { + plan.add( referenceProvider( "zero" ), document -> { document.addValue( indexMapping.floatFieldModel.reference, 0f ); document.addValue( indexMapping.doubleFieldModel.reference, 0d ); } ); - workPlan.add( referenceProvider( "positive-infinity" ), document -> { + plan.add( referenceProvider( "positive-infinity" ), document -> { document.addValue( indexMapping.floatFieldModel.reference, Float.POSITIVE_INFINITY ); document.addValue( indexMapping.doubleFieldModel.reference, Double.POSITIVE_INFINITY ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchResultAssert.assertThat( diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneMatchSearchPredicateIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneMatchSearchPredicateIT.java index 590a1e2f0ff..b71e350ec1f 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneMatchSearchPredicateIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneMatchSearchPredicateIT.java @@ -12,7 +12,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; @@ -67,9 +67,9 @@ public void match_skipAnalysis_normalizedStringField() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.normalizedStringField, TEST_TERM ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.normalizedStringField, TEST_TERM ) ); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneNormalizeWildcardExpressionsIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneNormalizeWildcardExpressionsIT.java index 7e68d851744..70dae772835 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneNormalizeWildcardExpressionsIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneNormalizeWildcardExpressionsIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; @@ -103,20 +103,20 @@ public void wildcard_tokenizeMatchingExpression() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.analyzed, TEXT_MATCHING_PATTERN_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.analyzed, TEXT_MATCHING_PATTERN_2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.analyzed, TEXT_MATCHING_PATTERN_3 ); } ); - workPlan.add( referenceProvider( DOCUMENT_4 ), document -> { + plan.add( referenceProvider( DOCUMENT_4 ), document -> { document.addValue( indexMapping.analyzed, TEXT_MATCHING_PATTERN_2_AND_3 ); } ); - workPlan.execute().join(); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchMultiIndexIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchMultiIndexIT.java index 45c82895830..43f55574b77 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchMultiIndexIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchMultiIndexIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.Projectable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.tck.search.SearchMultiIndexIT; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; import org.hibernate.search.engine.backend.common.DocumentReference; @@ -109,18 +109,18 @@ public void field_in_one_index_only_is_supported_for_sorting() { private void initData() { // Backend 1 / Index 1 - IndexWorkPlan workPlan = indexManager_1_1.createWorkPlan(); + IndexIndexingPlan plan = indexManager_1_1.createIndexingPlan(); - workPlan.add( referenceProvider( DOCUMENT_1_1_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_1_1 ), document -> { document.addValue( indexMapping_1_1.string, STRING_1 ); document.addValue( indexMapping_1_1.additionalField, ADDITIONAL_FIELD_1_1_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_1_1_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_1_2 ), document -> { document.addValue( indexMapping_1_1.string, STRING_2 ); document.addValue( indexMapping_1_1.additionalField, ADDITIONAL_FIELD_1_1_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); StubMappingScope scope = indexManager_1_1.createScope(); SearchQuery query = scope.query() @@ -130,13 +130,13 @@ private void initData() { // Backend 1 / Index 2 - workPlan = indexManager_1_2.createWorkPlan(); + plan = indexManager_1_2.createIndexingPlan(); - workPlan.add( referenceProvider( DOCUMENT_1_2_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_2_1 ), document -> { document.addValue( indexMapping_1_2.string, STRING_1 ); } ); - workPlan.execute().join(); + plan.execute().join(); scope = indexManager_1_2.createScope(); query = scope.query() diff --git a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java index 39eb8bc5463..4a10ec798c1 100644 --- a/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java +++ b/integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/search/LuceneSearchSortIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Sortable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.search.sort.dsl.SortFinalStep; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; @@ -80,19 +80,19 @@ public void byDistanceDesc() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( FIRST_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( FIRST_ID ), document -> { document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7705687,4.835233 ) ); } ); - workPlan.add( referenceProvider( SECOND_ID ), document -> { + plan.add( referenceProvider( SECOND_ID ), document -> { document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7541719, 4.8386221 ) ); } ); - workPlan.add( referenceProvider( THIRD_ID ), document -> { + plan.add( referenceProvider( THIRD_ID ), document -> { document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7530374, 4.8510299 ) ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/ObjectFieldStorageIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/ObjectFieldStorageIT.java index 6e28f14eecc..bed08957d69 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/ObjectFieldStorageIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/ObjectFieldStorageIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; @@ -72,48 +72,48 @@ public void setup() { @Test public void index_error_invalidFieldForDocumentElement_root() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); thrown.expect( SearchException.class ); thrown.expectMessage( "Invalid field reference for this document element" ); thrown.expectMessage( "this document element has path 'null', but the referenced field has a parent with path 'flattenedObject'." ); - workPlan.add( referenceProvider( "willNotWork" ), document -> { + plan.add( referenceProvider( "willNotWork" ), document -> { DocumentElement flattenedObject = document.addObject( indexMapping.flattenedObject.self ); flattenedObject.addValue( indexMapping.string, "willNotWork" ); } ); - workPlan.execute().join(); + plan.execute().join(); } @Test public void index_error_invalidFieldForDocumentElement_flattened() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); thrown.expect( SearchException.class ); thrown.expectMessage( "Invalid field reference for this document element" ); thrown.expectMessage( "this document element has path 'flattenedObject', but the referenced field has a parent with path 'null'." ); - workPlan.add( referenceProvider( "willNotWork" ), document -> { + plan.add( referenceProvider( "willNotWork" ), document -> { document.addValue( indexMapping.flattenedObject.string, "willNotWork" ); } ); - workPlan.execute().join(); + plan.execute().join(); } @Test public void index_error_invalidFieldForDocumentElement_nested() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); thrown.expect( SearchException.class ); thrown.expectMessage( "Invalid field reference for this document element" ); thrown.expectMessage( "this document element has path 'nestedObject', but the referenced field has a parent with path 'null'." ); - workPlan.add( referenceProvider( "willNotWork" ), document -> { + plan.add( referenceProvider( "willNotWork" ), document -> { document.addValue( indexMapping.nestedObject.string, "willNotWork" ); } ); - workPlan.execute().join(); + plan.execute().join(); } @Test @@ -220,8 +220,8 @@ public void search_error_missingField() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( EXPECTED_NESTED_MATCH_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( EXPECTED_NESTED_MATCH_ID ), document -> { ObjectMapping objectMapping; DocumentElement object; @@ -251,7 +251,7 @@ private void initData() { object.addValue( objectMapping.localDate, NON_MATCHING_LOCAL_DATE ); } ); - workPlan.add( referenceProvider( EXPECTED_NON_NESTED_MATCH_ID ), document -> { + plan.add( referenceProvider( EXPECTED_NON_NESTED_MATCH_ID ), document -> { /* * Below, we use the same content for both the flattened object and the nested object. * This is to demonstrate the practical difference of object storage: @@ -283,7 +283,7 @@ private void initData() { } } ); - workPlan.add( referenceProvider( "neverMatching" ), document -> { + plan.add( referenceProvider( "neverMatching" ), document -> { /* * This should not match, be it on the nested or the flattened object. * For first-level nesting tests, it's because of the integer field. @@ -310,9 +310,9 @@ private void initData() { } } ); - workPlan.add( referenceProvider( "empty" ), document -> { } ); + plan.add( referenceProvider( "empty" ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/SmokeIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/SmokeIT.java index 85e6e5d62ec..4bdced6c95d 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/SmokeIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/SmokeIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; import org.hibernate.search.integrationtest.backend.tck.testsupport.configuration.DefaultAnalysisDefinitions; @@ -255,8 +255,8 @@ public void separatePredicate() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), document -> { document.addValue( indexMapping.string, "text 1" ); document.addValue( indexMapping.string_analyzed, "text 1" ); document.addValue( indexMapping.integer, 1 ); @@ -278,7 +278,7 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, 102 ); } ); - workPlan.add( referenceProvider( "2" ), document -> { + plan.add( referenceProvider( "2" ), document -> { document.addValue( indexMapping.string, "text 2" ); document.addValue( indexMapping.string_analyzed, "text 2" ); document.addValue( indexMapping.integer, 2 ); @@ -300,21 +300,21 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, 202 ); } ); - workPlan.add( referenceProvider( "3" ), document -> { + plan.add( referenceProvider( "3" ), document -> { document.addValue( indexMapping.string, "text 3" ); document.addValue( indexMapping.string_analyzed, "text 3" ); document.addValue( indexMapping.integer, 3 ); } ); - workPlan.add( referenceProvider( "neverMatching" ), document -> { + plan.add( referenceProvider( "neverMatching" ), document -> { document.addValue( indexMapping.string, "never matching" ); document.addValue( indexMapping.string_analyzed, "never matching" ); document.addValue( indexMapping.integer, 9484 ); } ); - workPlan.add( referenceProvider( "empty" ), document -> { } ); + plan.add( referenceProvider( "empty" ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/analysis/AnalysisCustomIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/analysis/AnalysisCustomIT.java index f968c422f31..08a78e3cadd 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/analysis/AnalysisCustomIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/analysis/AnalysisCustomIT.java @@ -21,7 +21,7 @@ import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckBackendHelper; import org.hibernate.search.util.impl.integrationtest.common.assertion.SearchResultAssert; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; @@ -276,19 +276,19 @@ private void setup(String fieldName, } private void initData(Consumer valueContributor) { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); List documentIds = new ArrayList<>(); valueContributor.accept( (String documentId, String ... fieldValues) -> { documentIds.add( documentId ); - workPlan.add( referenceProvider( documentId ), document -> { + plan.add( referenceProvider( documentId ), document -> { for ( String fieldValue : fieldValues ) { indexMapping.field.write( document, fieldValue ); } } ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/decimalscale/DecimalScaleIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/decimalscale/DecimalScaleIT.java index 6abe86d3f12..346565ffc82 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/decimalscale/DecimalScaleIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/decimalscale/DecimalScaleIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexFieldTypeDefaultsProvider; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexedEntityBindingContext; @@ -103,9 +103,9 @@ public void decimalScale_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); + plan.execute().join(); // decimal scale is 3, affecting the search precision // so the provided value 739.11111 will be treated as if it were 739.111 @@ -121,9 +121,9 @@ public void decimalScale_zeroScale_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); + plan.execute().join(); // decimal scale is 0, affecting the search precision // so the provided value 739.11111 will be treated as if it were 739 @@ -139,9 +139,9 @@ public void decimalScale_zeroScale_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "739" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "739" ) ) ); + plan.execute().join(); // decimal scale is 0, affecting the search precision // so the provided value 739 will be treated as if it were 739 @@ -157,9 +157,9 @@ public void decimalScale_negativeScale_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "11111.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "11111.11111" ) ) ); + plan.execute().join(); // decimal scale is -3, affecting the search precision // so the provided value 11111.11111 will be treated as if it were 11000 @@ -175,9 +175,9 @@ public void decimalScale_negativeScale_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "11111" ) ) ); + plan.execute().join(); // decimal scale is -3, affecting the search precision // so the provided value 11111 will be treated as if it were 11000 @@ -217,9 +217,9 @@ public void decimalScale_largeScale_bigDecimal() { Assertions.assertThat( originalValue ) .isBetween( indexedValueLowerBound, indexedValueUpperBound ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, originalValue ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, originalValue ) ); + plan.execute().join(); matchAbove( indexedValueLowerBound ); doNotMatchAbove( indexedValueUpperBound ); @@ -257,9 +257,9 @@ public void decimalScale_negativeScale_largeScale_bigDecimal() { Assertions.assertThat( originalValue ) .isBetween( indexedValueLowerBound, indexedValueUpperBound ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, originalValue ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, originalValue ) ); + plan.execute().join(); matchAbove( indexedValueLowerBound ); doNotMatchAbove( indexedValueUpperBound ); @@ -297,9 +297,9 @@ public void decimalScale_negativeScale_largeScale_bigInteger() { Assertions.assertThat( originalValue ) .isBetween( indexedValueLowerBound, indexedValueUpperBound ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, originalValue ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, originalValue ) ); + plan.execute().join(); matchAbove( indexedValueLowerBound ); doNotMatchAbove( indexedValueUpperBound ); @@ -313,12 +313,12 @@ public void decimalScale_rounding_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.114999" ) ) ); - workPlan.add( referenceProvider( "2" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.115" ) ) ); - workPlan.add( referenceProvider( "3" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11" ) ) ); - workPlan.add( referenceProvider( "4" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.12" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.114999" ) ) ); + plan.add( referenceProvider( "2" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.115" ) ) ); + plan.add( referenceProvider( "3" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11" ) ) ); + plan.add( referenceProvider( "4" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.12" ) ) ); + plan.execute().join(); // RoundingMode.HALF_UP expected on both values: match( new BigDecimal( "739.11" ), "1", "3" ); @@ -337,12 +337,12 @@ public void decimalScale_rounding_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7394999" ) ) ); - workPlan.add( referenceProvider( "2" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7395000" ) ) ); - workPlan.add( referenceProvider( "3" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7390000" ) ) ); - workPlan.add( referenceProvider( "4" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7400000" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7394999" ) ) ); + plan.add( referenceProvider( "2" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7395000" ) ) ); + plan.add( referenceProvider( "3" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7390000" ) ) ); + plan.add( referenceProvider( "4" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "7400000" ) ) ); + plan.execute().join(); // RoundingMode.HALF_UP expected on both values: match( new BigInteger( "7390000" ), "1", "3" ); @@ -365,9 +365,9 @@ public void decimalScale_largeDecimal_bigDecimal() { // If the exponent were 54, the test would fail for Elasticsearch, whereas it would work for Lucene backend. BigDecimal largeDecimal = new BigDecimal( "2" ).pow( 53 ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, largeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, largeDecimal ) ); + plan.execute().join(); // the precision is supposed to be preserved matchAbove( largeDecimal.subtract( BigDecimal.ONE ) ); @@ -386,9 +386,9 @@ public void decimalScale_largeDecimal_bigInteger() { // If the exponent were 54, the test would fail for Elasticsearch, whereas it would work for Lucene backend. BigInteger largeInteger = new BigInteger( "2" ).pow( 53 ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, largeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, largeInteger ) ); + plan.execute().join(); // the precision is supposed to be preserved matchAbove( largeInteger.subtract( BigInteger.ONE ) ); @@ -407,9 +407,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigDecimal() { BigDecimal tooLargeDecimal = BigDecimal.valueOf( Long.MAX_VALUE ).multiply( BigDecimal.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -428,9 +428,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigDecimal_queryPredicateBuildTi // Provide a value that cannot be represented as a long BigDecimal tooLargeDecimal = veryLargeDecimal.multiply( BigDecimal.TEN ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, veryLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, veryLargeDecimal ) ); + plan.execute().join(); SubTest.expectException( () -> { indexManager.createScope() @@ -454,9 +454,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigDecimal_lowerBound() { BigDecimal tooLargeDecimal = BigDecimal.valueOf( Long.MIN_VALUE ).multiply( BigDecimal.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -475,9 +475,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigInteger() { BigInteger tooLargeInteger = BigInteger.valueOf( Long.MAX_VALUE ).multiply( BigInteger.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -496,9 +496,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigInteger_lowerBound() { BigInteger tooLargeInteger = BigInteger.valueOf( Long.MIN_VALUE ).multiply( BigInteger.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -517,9 +517,9 @@ public void decimalScale_tooLargeDecimal_scale0_bigInteger_lowerBound_queryPredi // Provide a value that cannot be represented as a long BigInteger tooLargeInteger = veryLargeNegativeInteger.multiply( BigInteger.TEN ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, veryLargeNegativeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, veryLargeNegativeInteger ) ); + plan.execute().join(); SubTest.expectException( () -> { indexManager.createScope() @@ -543,9 +543,9 @@ public void decimalScale_tooLargeDecimal_scale2_bigDecimal() { BigDecimal tooLargeDecimal = BigDecimal.valueOf( Long.MAX_VALUE ).divide( BigDecimal.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -564,9 +564,9 @@ public void decimalScale_tooLargeDecimal_scale2_bigDecimal_lowerBound() { BigDecimal tooLargeDecimal = BigDecimal.valueOf( Long.MIN_VALUE ).divide( BigDecimal.TEN ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, tooLargeDecimal ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -585,9 +585,9 @@ public void decimalScale_tooLargeDecimal_scale2_bigDecimal_lowerBound_queryPredi BigDecimal tooLargeDecimal = BigDecimal.valueOf( Long.MIN_VALUE ).divide( BigDecimal.TEN ); BigDecimal veryLargeDecimal = tooLargeDecimal.divide( BigDecimal.TEN ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, veryLargeDecimal ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, veryLargeDecimal ) ); + plan.execute().join(); SubTest.expectException( () -> { indexManager.createScope() @@ -611,9 +611,9 @@ public void decimalScale_tooLargeDecimal_scaleMinus2_bigInteger() { BigInteger tooLargeInteger = BigInteger.valueOf( Long.MAX_VALUE ).multiply( new BigInteger( "1000" ) ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -632,9 +632,9 @@ public void decimalScale_tooLargeDecimal_scaleMinus2_bigInteger_queryPredicateBu // Provide a value that if it were multiplied by 100, could not be represented as a long, because the scale of -2 BigInteger tooLargeInteger = veryLargeInteger.multiply( new BigInteger( "1000" ) ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, veryLargeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, veryLargeInteger ) ); + plan.execute().join(); SubTest.expectException( () -> { indexManager.createScope() @@ -658,9 +658,9 @@ public void decimalScale_tooLargeDecimal_scaleMinus2_bigInteger_lowerBound() { BigInteger tooLargeInteger = BigInteger.valueOf( Long.MIN_VALUE ).multiply( new BigInteger( "1000" ) ); SubTest.expectException( () -> { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, tooLargeInteger ) ); + plan.execute().join(); } ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -675,9 +675,9 @@ public void defaultDecimalScale_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( defaultDecimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( defaultDecimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); + plan.execute().join(); // default decimal scale is 2, affecting the search precision // so the provided value 739.11111 will be treated as if it were 739.11 @@ -693,9 +693,9 @@ public void defaultDecimalScale_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( defaultIntegerScaleIndexMapping.scaled, new BigInteger( "7391111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( defaultIntegerScaleIndexMapping.scaled, new BigInteger( "7391111" ) ) ); + plan.execute().join(); // default decimal scale is -2, affecting the search precision // so the provided value 7391111 will be treated as if it were 7391100 @@ -711,9 +711,9 @@ public void decimalScale_andDefaultDecimalScale_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( bothDecimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( bothDecimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); + plan.execute().join(); // default decimal scale is 2 // decimal scale has been set to 3, overriding the default and affecting the search precision @@ -730,9 +730,9 @@ public void decimalScale_andDefaultDecimalScale_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( bothIntegerScaleIndexMapping.scaled, new BigInteger( "7391111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( bothIntegerScaleIndexMapping.scaled, new BigInteger( "7391111" ) ) ); + plan.execute().join(); // default decimal scale is -2, // decimal scale has been set to -3, overriding the default and affecting the search precision @@ -749,9 +749,9 @@ public void decimalScale_doesNotAffectProjections_bigDecimal() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( decimalScaleIndexMapping.scaled, new BigDecimal( "739.11111" ) ) ); + plan.execute().join(); // even though decimal scale is 3, projected values wont be affected to projection( new BigDecimal( "739.11111" ) ); @@ -765,9 +765,9 @@ public void decimalScale_doesNotAffectProjections_bigInteger() { indexManager -> this.indexManager = indexManager ) .setup(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "73911111" ) ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( "1" ), doc -> doc.addValue( integerScaleIndexMapping.scaled, new BigInteger( "73911111" ) ) ); + plan.execute().join(); // even though decimal scale is -7, projected values wont be affected to projection( new BigInteger( "73911111" ) ); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementBaseIT.java index 4a973c71e04..d4604513e49 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementBaseIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexedEmbeddedBindingContext; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexBindingContext; @@ -230,9 +230,9 @@ private void setNullValues(AllTypesMapping mapping, DocumentElement document) { } private void executeAdd(String id, Consumer documentContributor) { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( id ), documentContributor::accept ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( id ), documentContributor::accept ); + plan.execute().join(); } /** diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementMultiValuedIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementMultiValuedIT.java index 53308d94b2e..f54f6d32b78 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementMultiValuedIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/document/DocumentElementMultiValuedIT.java @@ -16,7 +16,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexBindingContext; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; import org.hibernate.search.util.common.SearchException; @@ -291,9 +291,9 @@ private void expectSingleValuedException(String id, String absoluteFieldPath, Co } private void executeAdd(String id, Consumer documentContributor) { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( id ), documentContributor::accept ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( id ), documentContributor::accept ); + plan.execute().join(); } private abstract static class AbstractObjectMapping { diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/indexnull/IndexNullAsValueIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/indexnull/IndexNullAsValueIT.java index 418ab227bd1..bb510ec107b 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/indexnull/IndexNullAsValueIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/indexnull/IndexNullAsValueIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.engine.spatial.GeoPoint; @@ -113,8 +113,8 @@ private void setUp() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_WITH_INDEX_NULL_AS_VALUES ), document -> { indexMapping.matchFieldModels.forEach( f -> f.indexNullAsValue.write( document ) ); @@ -123,7 +123,7 @@ private void initData() { } } ); - workPlan.add( + plan.add( referenceProvider( DOCUMENT_WITH_DIFFERENT_VALUES ), document -> { indexMapping.matchFieldModels.forEach( f -> f.differentValue.write( document ) ); @@ -132,7 +132,7 @@ private void initData() { } } ); - workPlan.add( + plan.add( referenceProvider( DOCUMENT_WITH_NULL_VALUES ), document -> { indexMapping.matchFieldModels.forEach( f -> f.nullValue.write( document ) ); @@ -141,7 +141,7 @@ private void initData() { } } ); - workPlan.execute().join(); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyBaseIT.java index 7c4e63c817f..2222447c0fd 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyBaseIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckBackendHelper; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; @@ -175,7 +175,7 @@ public void search_on_nested_object_only_returns_elements_of_the_tenant() { @Test public void delete_only_deletes_elements_of_the_tenant() { - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant2SessionContext ); + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant2SessionContext ); StubMappingScope scope = indexManager.createScope(); SearchQuery query = scope.query( tenant2SessionContext ) @@ -198,9 +198,9 @@ public void delete_only_deletes_elements_of_the_tenant() { b.list( STRING_VALUE_2, INTEGER_VALUE_4 ); } ); - workPlan.delete( referenceProvider( DOCUMENT_ID_1 ) ); + plan.delete( referenceProvider( DOCUMENT_ID_1 ) ); - workPlan.execute().join(); + plan.execute().join(); assertThat( query ) .hasDocRefHitsAnyOrder( INDEX_NAME, DOCUMENT_ID_2 ); @@ -226,7 +226,7 @@ public void delete_only_deletes_elements_of_the_tenant() { @Test public void update_only_updates_elements_of_the_tenant() { - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant2SessionContext ); + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant2SessionContext ); StubMappingScope scope = indexManager.createScope(); SearchQuery checkQuery = scope.query( tenant2SessionContext ) @@ -235,7 +235,7 @@ public void update_only_updates_elements_of_the_tenant() { assertThat( checkQuery ) .hasDocRefHitsAnyOrder( INDEX_NAME, DOCUMENT_ID_1, DOCUMENT_ID_2 ); - workPlan.update( referenceProvider( DOCUMENT_ID_2 ), document -> { + plan.update( referenceProvider( DOCUMENT_ID_2 ), document -> { document.addValue( indexMapping.string, UPDATED_STRING ); document.addValue( indexMapping.integer, INTEGER_VALUE_4 ); @@ -244,7 +244,7 @@ public void update_only_updates_elements_of_the_tenant() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_4 ); } ); - workPlan.execute().join(); + plan.execute().join(); // The tenant 2 has been updated properly. @@ -347,9 +347,9 @@ public void not_using_multi_tenancy_for_add_while_enabled_throws_exception() { thrown.expectMessage( "Backend" ); thrown.expectMessage( "has multi-tenancy enabled, but no tenant identifier is provided." ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( new StubBackendSessionContext() ); + IndexIndexingPlan plan = indexManager.createIndexingPlan( new StubBackendSessionContext() ); - workPlan.add( referenceProvider( DOCUMENT_ID_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_ID_3 ), document -> { document.addValue( indexMapping.string, STRING_VALUE_3 ); document.addValue( indexMapping.integer, INTEGER_VALUE_5 ); @@ -358,7 +358,7 @@ public void not_using_multi_tenancy_for_add_while_enabled_throws_exception() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_5 ); } ); - workPlan.execute().join(); + plan.execute().join(); } @Test @@ -367,9 +367,9 @@ public void not_using_multi_tenancy_for_update_while_enabled_throws_exception() thrown.expectMessage( "Backend" ); thrown.expectMessage( "has multi-tenancy enabled, but no tenant identifier is provided." ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( new StubBackendSessionContext() ); + IndexIndexingPlan plan = indexManager.createIndexingPlan( new StubBackendSessionContext() ); - workPlan.update( referenceProvider( DOCUMENT_ID_2 ), document -> { + plan.update( referenceProvider( DOCUMENT_ID_2 ), document -> { document.addValue( indexMapping.string, UPDATED_STRING ); document.addValue( indexMapping.integer, INTEGER_VALUE_4 ); @@ -378,7 +378,7 @@ public void not_using_multi_tenancy_for_update_while_enabled_throws_exception() nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_4 ); } ); - workPlan.execute().join(); + plan.execute().join(); } @Test @@ -387,14 +387,14 @@ public void not_using_multi_tenancy_for_delete_while_enabled_throws_exception() thrown.expectMessage( "Backend" ); thrown.expectMessage( "has multi-tenancy enabled, but no tenant identifier is provided." ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( new StubBackendSessionContext() ); - workPlan.delete( referenceProvider( DOCUMENT_ID_1 ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan( new StubBackendSessionContext() ); + plan.delete( referenceProvider( DOCUMENT_ID_1 ) ); + plan.execute().join(); } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant1SessionContext ); - workPlan.add( referenceProvider( DOCUMENT_ID_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant1SessionContext ); + plan.add( referenceProvider( DOCUMENT_ID_1 ), document -> { document.addValue( indexMapping.string, STRING_VALUE_1 ); document.addValue( indexMapping.integer, INTEGER_VALUE_1 ); @@ -403,7 +403,7 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_ID_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_ID_2 ), document -> { document.addValue( indexMapping.string, STRING_VALUE_2 ); document.addValue( indexMapping.integer, INTEGER_VALUE_2 ); @@ -412,10 +412,10 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = indexManager.createWorkPlan( tenant2SessionContext ); - workPlan.add( referenceProvider( DOCUMENT_ID_1 ), document -> { + plan = indexManager.createIndexingPlan( tenant2SessionContext ); + plan.add( referenceProvider( DOCUMENT_ID_1 ), document -> { document.addValue( indexMapping.string, STRING_VALUE_1 ); document.addValue( indexMapping.integer, INTEGER_VALUE_3 ); @@ -424,7 +424,7 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_3 ); } ); - workPlan.add( referenceProvider( DOCUMENT_ID_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_ID_2 ), document -> { document.addValue( indexMapping.string, STRING_VALUE_2 ); document.addValue( indexMapping.integer, INTEGER_VALUE_4 ); @@ -433,7 +433,7 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, INTEGER_VALUE_4 ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyMismatchIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyMismatchIT.java index c71831bfb6e..b36bb806521 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyMismatchIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/multitenancy/MultiTenancyMismatchIT.java @@ -12,7 +12,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Projectable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; import org.hibernate.search.util.common.SearchException; import org.hibernate.search.util.impl.integrationtest.common.stub.StubBackendSessionContext; @@ -94,9 +94,9 @@ public void using_multi_tenancy_for_add_while_disabled_throws_exception() { thrown.expectMessage( "Tenant identifier" ); thrown.expectMessage( "is provided, but multi-tenancy is disabled for this backend" ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant1SessionContext ); - workPlan.update( referenceProvider( "1" ), document -> { } ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant1SessionContext ); + plan.update( referenceProvider( "1" ), document -> { } ); + plan.execute().join(); } @Test @@ -113,9 +113,9 @@ public void using_multi_tenancy_for_update_while_disabled_throws_exception() { thrown.expectMessage( "Tenant identifier" ); thrown.expectMessage( "is provided, but multi-tenancy is disabled for this backend" ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant1SessionContext ); - workPlan.update( referenceProvider( "1" ), document -> { } ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant1SessionContext ); + plan.update( referenceProvider( "1" ), document -> { } ); + plan.execute().join(); } @Test @@ -132,9 +132,9 @@ public void using_multi_tenancy_for_delete_while_disabled_throws_exception() { thrown.expectMessage( "Tenant identifier" ); thrown.expectMessage( "is provided, but multi-tenancy is disabled for this backend" ); - IndexWorkPlan workPlan = indexManager.createWorkPlan( tenant1SessionContext ); - workPlan.delete( referenceProvider( "1" ) ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan( tenant1SessionContext ); + plan.delete( referenceProvider( "1" ) ); + plan.execute().join(); } private static class IndexMapping { diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/SearchMultiIndexIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/SearchMultiIndexIT.java index c2b47e0a40c..9978ba07cf0 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/SearchMultiIndexIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/SearchMultiIndexIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.Projectable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; import org.hibernate.search.engine.reporting.spi.EventContexts; import org.hibernate.search.engine.backend.common.DocumentReference; @@ -297,22 +297,22 @@ public void search_across_backends_throws_exception() { private void initData() { // Backend 1 / Index 1 - IndexWorkPlan workPlan = indexManager_1_1.createWorkPlan(); + IndexIndexingPlan plan = indexManager_1_1.createIndexingPlan(); - workPlan.add( referenceProvider( DOCUMENT_1_1_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_1_1 ), document -> { document.addValue( indexMapping_1_1.string, STRING_1 ); document.addValue( indexMapping_1_1.additionalField, ADDITIONAL_FIELD_1_1_1 ); document.addValue( indexMapping_1_1.differentTypesField, DIFFERENT_TYPES_FIELD_1_1_1 ); document.addValue( indexMapping_1_1.sortField, SORT_FIELD_1_1_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_1_1_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_1_2 ), document -> { document.addValue( indexMapping_1_1.string, STRING_2 ); document.addValue( indexMapping_1_1.additionalField, ADDITIONAL_FIELD_1_1_2 ); document.addValue( indexMapping_1_1.differentTypesField, DIFFERENT_TYPES_FIELD_1_1_2 ); document.addValue( indexMapping_1_1.sortField, SORT_FIELD_1_1_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); StubMappingScope scope = indexManager_1_1.createScope(); SearchQuery query = scope.query() @@ -322,15 +322,15 @@ private void initData() { // Backend 1 / Index 2 - workPlan = indexManager_1_2.createWorkPlan(); + plan = indexManager_1_2.createIndexingPlan(); - workPlan.add( referenceProvider( DOCUMENT_1_2_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_1_2_1 ), document -> { document.addValue( indexMapping_1_2.string, STRING_1 ); document.addValue( indexMapping_1_2.differentTypesField, DIFFERENT_TYPES_FIELD_1_2_1 ); document.addValue( indexMapping_1_2.sortField, SORT_FIELD_1_2_1 ); } ); - workPlan.execute().join(); + plan.execute().join(); scope = indexManager_1_2.createScope(); query = scope.query() @@ -340,16 +340,16 @@ private void initData() { // Backend 2 / Index 1 - workPlan = indexManager_2_1.createWorkPlan(); + plan = indexManager_2_1.createIndexingPlan(); - workPlan.add( referenceProvider( DOCUMENT_2_1_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_2_1_1 ), document -> { document.addValue( indexMapping_2_1.string, STRING_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2_1_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2_1_2 ), document -> { document.addValue( indexMapping_2_1.string, STRING_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); scope = indexManager_2_1.createScope(); query = scope.query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/AggregationBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/AggregationBaseIT.java index f295e6aa2d2..dddfcf6a500 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/AggregationBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/AggregationBaseIT.java @@ -16,7 +16,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Aggregable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.aggregation.AggregationKey; import org.hibernate.search.engine.search.aggregation.dsl.AggregationFinalStep; @@ -96,19 +96,19 @@ public void extension() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.string, STRING_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.string, STRING_2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.string, STRING_1 ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java index 16f4aed1652..aca52f6da86 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java @@ -25,7 +25,7 @@ import org.hibernate.search.engine.backend.types.Aggregable; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.aggregation.AggregationKey; import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep; @@ -503,16 +503,16 @@ private void assumeNonCanonicalRangesSupported() { private void initData() { List documentFieldValues = ascendingValues.subList( 0, 7 ); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); for ( int i = 0; i < documentFieldValues.size(); i++ ) { F value = documentFieldValues.get( i ); - workPlan.add( referenceProvider( "document_" + i ), document -> { + plan.add( referenceProvider( "document_" + i ), document -> { document.addValue( indexMapping.fieldModel.reference, value ); document.addValue( indexMapping.fieldWithConverterModel.reference, value ); } ); } - workPlan.add( referenceProvider( "document_empty" ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( "document_empty" ), document -> { } ); + plan.execute().join(); // Check that all documents are searchable SearchResultAssert.assertThat( diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java index d7ae243f89e..0f988c5c199 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java @@ -29,7 +29,7 @@ import org.hibernate.search.engine.backend.types.converter.runtime.FromDocumentFieldValueConvertContext; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.search.aggregation.AggregationKey; import org.hibernate.search.engine.search.aggregation.SearchAggregation; import org.hibernate.search.engine.search.common.ValueConvert; @@ -748,10 +748,10 @@ private void initData() { List otherIndexDocumentFieldValues = expectations.getOtherIndexDocumentFieldValues(); List> multiValuedIndexDocumentFieldValues = expectations.getMultiValuedIndexDocumentFieldValues(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); for ( int i = 0; i < mainIndexDocumentFieldValues.size(); i++ ) { F value = mainIndexDocumentFieldValues.get( i ); - workPlan.add( referenceProvider( "document_" + i ), document -> { + plan.add( referenceProvider( "document_" + i ), document -> { document.addValue( indexMapping.fieldModel.reference, value ); document.addValue( indexMapping.fieldWithConverterModel.reference, value ); @@ -764,46 +764,46 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.fieldModel.reference, value ); } ); } - workPlan.add( referenceProvider( "document_empty" ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( "document_empty" ), document -> { } ); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); + plan = compatibleIndexManager.createIndexingPlan(); for ( int i = 0; i < otherIndexDocumentFieldValues.size(); i++ ) { F value = otherIndexDocumentFieldValues.get( i ); - workPlan.add( referenceProvider( "compatibleindex_document_" + i ), document -> { + plan.add( referenceProvider( "compatibleindex_document_" + i ), document -> { document.addValue( compatibleIndexMapping.fieldModel.reference, value ); document.addValue( compatibleIndexMapping.fieldWithConverterModel.reference, value ); } ); } - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); for ( int i = 0; i < otherIndexDocumentFieldValues.size(); i++ ) { F value = otherIndexDocumentFieldValues.get( i ); - workPlan.add( referenceProvider( "rawcompatibleindex_document_" + i ), document -> { + plan.add( referenceProvider( "rawcompatibleindex_document_" + i ), document -> { document.addValue( rawFieldCompatibleIndexMapping.fieldWithConverterModel.reference, value ); } ); } - workPlan.execute().join(); + plan.execute().join(); - workPlan = nullOnlyIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( "nullOnlyIndexManager_document_0" ), document -> { + plan = nullOnlyIndexManager.createIndexingPlan(); + plan.add( referenceProvider( "nullOnlyIndexManager_document_0" ), document -> { document.addValue( nullOnlyIndexMapping.fieldModel.reference, null ); } ); - workPlan.execute().join(); + plan.execute().join(); if ( TckConfiguration.get().getBackendFeatures().aggregationsOnMultiValuedFields( typeDescriptor.getJavaType() ) ) { - workPlan = multiValuedIndexManager.createWorkPlan(); + plan = multiValuedIndexManager.createIndexingPlan(); for ( int i = 0; i < multiValuedIndexDocumentFieldValues.size(); i++ ) { List values = multiValuedIndexDocumentFieldValues.get( i ); - workPlan.add( referenceProvider( "document_" + i ), document -> { + plan.add( referenceProvider( "document_" + i ), document -> { for ( F value : values ) { document.addValue( multiValuedIndexMapping.fieldModel.reference, value ); } } ); } - workPlan.add( referenceProvider( "document_empty" ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( "document_empty" ), document -> { } ); + plan.execute().join(); } // Check that all documents are searchable diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java index 8c8c1a3ccac..dc58f32a01e 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java @@ -26,7 +26,7 @@ import org.hibernate.search.engine.backend.types.Aggregable; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.aggregation.AggregationKey; import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep; @@ -606,21 +606,21 @@ private void assumeNonDefaultOrdersSupported() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); int documentCount = 0; for ( Map.Entry> entry : documentIdPerTerm.entrySet() ) { F value = entry.getKey(); for ( String documentId : entry.getValue() ) { - workPlan.add( referenceProvider( documentId ), document -> { + plan.add( referenceProvider( documentId ), document -> { document.addValue( indexMapping.fieldModel.reference, value ); document.addValue( indexMapping.fieldWithConverterModel.reference, value ); } ); ++documentCount; } } - workPlan.add( referenceProvider( "document_empty" ), document -> { } ); + plan.add( referenceProvider( "document_empty" ), document -> { } ); ++documentCount; - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchResultAssert.assertThat( diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java index e8e559f7db9..d712adfb032 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/bool/BooleanSortAndRangePredicateIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Sortable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep; import org.hibernate.search.engine.search.sort.dsl.SortFinalStep; @@ -174,24 +174,24 @@ private boolean isNullDocument(DocumentReference documentReference) { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.bool, true ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.bool, Boolean.FALSE ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.bool, Boolean.TRUE ); } ); - workPlan.add( referenceProvider( DOCUMENT_4 ), document -> { + plan.add( referenceProvider( DOCUMENT_4 ), document -> { document.addValue( indexMapping.bool, null ); } ); - workPlan.add( referenceProvider( DOCUMENT_5 ), document -> { + plan.add( referenceProvider( DOCUMENT_5 ), document -> { document.addValue( indexMapping.bool, false ); } ); - workPlan.execute().join(); + plan.execute().join(); checkAllDocumentsAreSearchable(); } diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/BoolSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/BoolSearchPredicateIT.java index 4c738984a98..84bcdee7214 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/BoolSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/BoolSearchPredicateIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.search.predicate.dsl.MinimumShouldMatchConditionStep; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; @@ -1029,22 +1029,22 @@ public void minimumShouldMatch_default_withinFilter_filterSibling() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.field1, FIELD1_VALUE1 ); document.addValue( indexMapping.field2, FIELD2_VALUE1 ); document.addValue( indexMapping.field3, FIELD3_VALUE1 ); document.addValue( indexMapping.field4, FIELD4_VALUE1AND2 ); document.addValue( indexMapping.field5, FIELD5_VALUE1AND2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.field1, FIELD1_VALUE2 ); document.addValue( indexMapping.field2, FIELD2_VALUE2 ); document.addValue( indexMapping.field3, FIELD3_VALUE2 ); document.addValue( indexMapping.field4, FIELD4_VALUE1AND2 ); document.addValue( indexMapping.field5, FIELD5_VALUE1AND2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.field1, FIELD1_VALUE3 ); document.addValue( indexMapping.field2, FIELD2_VALUE3 ); document.addValue( indexMapping.field3, FIELD3_VALUE3 ); @@ -1052,7 +1052,7 @@ private void initData() { document.addValue( indexMapping.field5, FIELD5_VALUE3 ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsSearchPredicateIT.java index 969a8b205b9..b408d0aacd5 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsSearchPredicateIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; @@ -382,8 +382,8 @@ public void multiIndex_withIncompatibleIndexManager() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithDocValuesModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.string1Field.document1Value.write( document ); @@ -405,7 +405,7 @@ private void initData() { indexMapping.nestedObject.supportedFieldModels.forEach( f -> f.document2Value.write( nestedObject2 ) ); indexMapping.nestedObject.supportedFieldWithDocValuesModels.forEach( f -> f.document2Value.write( nestedObject2 ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.supportedFieldWithDocValuesModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.string2Field.document2Value.write( document ); @@ -422,7 +422,7 @@ private void initData() { indexMapping.nestedObject.supportedFieldModels.forEach( f -> f.document2Value.write( nestedObject2 ) ); indexMapping.nestedObject.supportedFieldWithDocValuesModels.forEach( f -> f.document2Value.write( nestedObject2 ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.string1Field.document3Value.write( document ); // Add two empty objects @@ -433,20 +433,20 @@ private void initData() { document.addObject( indexMapping.nestedObject.self ); document.addObject( indexMapping.nestedObject.self ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( EMPTY ), document -> { } ); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { compatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { rawFieldCompatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchAllSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchAllSearchPredicateIT.java index 0a505505967..6cbf36b7088 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchAllSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchAllSearchPredicateIT.java @@ -12,7 +12,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -113,18 +113,18 @@ public void matchAll_multipleExcepts() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.string, STRING_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.string, STRING_2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.string, STRING_3 ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdSearchPredicateIT.java index 86f41093780..38aa4cd8985 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdSearchPredicateIT.java @@ -12,7 +12,7 @@ import java.util.Arrays; import org.hibernate.search.engine.backend.document.DocumentElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -119,11 +119,11 @@ public void match_any_ids() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { } ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_2 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_3 ), document -> { } ); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdWithConverterSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdWithConverterSearchPredicateIT.java index bb11304e2a7..6e490768b84 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdWithConverterSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchIdWithConverterSearchPredicateIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.types.converter.spi.ToDocumentIdentifierValueConverter; import org.hibernate.search.engine.backend.types.converter.runtime.spi.ToDocumentIdentifierValueConvertContext; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -143,11 +143,11 @@ public void match_any_ids() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { } ); - workPlan.execute().join(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_2 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_3 ), document -> { } ); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchSearchPredicateIT.java index 326e50e0d96..70a89525f83 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/MatchSearchPredicateIT.java @@ -19,7 +19,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; @@ -1334,8 +1334,8 @@ public void multiIndex_incompatibleSearchable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document1Value.write( document ) ); @@ -1351,7 +1351,7 @@ private void initData() { indexMapping.whitespaceLowercaseAnalyzedField.document1Value.write( document ); indexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document2Value.write( document ) ); @@ -1367,8 +1367,8 @@ private void initData() { indexMapping.whitespaceLowercaseAnalyzedField.document2Value.write( document ); indexMapping.scaledBigDecimal.document2Value.write( document ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( EMPTY ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.string1Field.document3Value.write( document ); indexMapping.string2Field.document3Value.write( document ); indexMapping.string3Field.document3Value.write( document ); @@ -1381,32 +1381,32 @@ private void initData() { indexMapping.whitespaceLowercaseAnalyzedField.document3Value.write( document ); indexMapping.scaledBigDecimal.document3Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { compatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); compatibleIndexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { rawFieldCompatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = incompatibleAnalyzerIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { + plan = incompatibleAnalyzerIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { incompatibleAnalyzerIndexMapping.analyzedStringField.document1Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = incompatibleDecimalScaleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { + plan = incompatibleDecimalScaleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { incompatibleDecimalScaleIndexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NestedSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NestedSearchPredicateIT.java index d8a8b9dad5f..5f8cb7dfe17 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NestedSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NestedSearchPredicateIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -224,8 +224,8 @@ public void search_nestedOnTwoLevels_separatePredicates() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { ObjectMapping level1; SecondLevelObjectMapping level2; DocumentElement object; @@ -262,7 +262,7 @@ private void initData() { object.addNullObject( level2.self ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { ObjectMapping level1 = indexMapping.nestedObject; DocumentElement object = document.addObject( level1.self ); SecondLevelObjectMapping level2 = level1.nestedObject; @@ -294,7 +294,7 @@ private void initData() { object = document.addObject( level1.self ); } ); - workPlan.add( referenceProvider( "neverMatching" ), document -> { + plan.add( referenceProvider( "neverMatching" ), document -> { ObjectMapping level1 = indexMapping.nestedObject; SecondLevelObjectMapping level2 = level1.nestedObject; @@ -335,9 +335,9 @@ private void initData() { secondLevelObject.addValue( level2.field2, NON_MATCHING_SECOND_LEVEL_CONDITION1_FIELD2 ); } ); - workPlan.add( referenceProvider( "empty" ), document -> { } ); + plan.add( referenceProvider( "empty" ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PhraseSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PhraseSearchPredicateIT.java index c4aa44717bb..94b7c4a68d6 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PhraseSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PhraseSearchPredicateIT.java @@ -19,7 +19,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.reporting.spi.EventContexts; @@ -730,55 +730,55 @@ public void multiIndex_incompatibleSearchable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_EXACT_MATCH ); document.addValue( indexMapping.analyzedStringFieldWithDslConverter.reference, PHRASE_1_TEXT_EXACT_MATCH ); document.addValue( indexMapping.whitespaceAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH.toLowerCase( Locale.ROOT ) ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH.toLowerCase( Locale.ROOT ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_SLOP_1_MATCH ); document.addValue( indexMapping.analyzedStringField2.reference, PHRASE_2_TEXT_EXACT_MATCH ); document.addValue( indexMapping.whitespaceAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH.toUpperCase( Locale.ROOT ) ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH.toUpperCase( Locale.ROOT ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_SLOP_2_MATCH ); document.addValue( indexMapping.analyzedStringField2.reference, PHRASE_3_TEXT_EXACT_MATCH ); document.addValue( indexMapping.analyzedStringField3.reference, PHRASE_1_TEXT_EXACT_MATCH ); document.addValue( indexMapping.whitespaceAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, PHRASE_1_TEXT_EXACT_MATCH ); } ); - workPlan.add( referenceProvider( DOCUMENT_4 ), document -> { + plan.add( referenceProvider( DOCUMENT_4 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_SLOP_3_MATCH ); document.addValue( indexMapping.analyzedStringField3.reference, PHRASE_2_TEXT_EXACT_MATCH ); } ); - workPlan.add( referenceProvider( DOCUMENT_5 ), document -> { + plan.add( referenceProvider( DOCUMENT_5 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, PHRASE_2_TEXT_EXACT_MATCH ); document.addValue( indexMapping.analyzedStringField2.reference, PHRASE_1_TEXT_EXACT_MATCH ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( compatibleIndexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_EXACT_MATCH ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( rawFieldCompatibleIndexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_EXACT_MATCH ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = incompatibleAnalyzerIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { + plan = incompatibleAnalyzerIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { document.addValue( incompatibleAnalyzerIndexMapping.analyzedStringField1.reference, PHRASE_1_TEXT_EXACT_MATCH ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/RangeSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/RangeSearchPredicateIT.java index 54370fb2c70..8e9db4e0b0f 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/RangeSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/RangeSearchPredicateIT.java @@ -26,7 +26,7 @@ import org.hibernate.search.integrationtest.backend.tck.testsupport.types.expectations.RangePredicateExpectations; import org.hibernate.search.integrationtest.backend.tck.testsupport.types.FieldTypeDescriptor; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.reporting.spi.EventContexts; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingIndexManager; import org.hibernate.search.engine.backend.common.DocumentReference; @@ -983,8 +983,8 @@ public void multiIndex_incompatibleSearchable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document1Value.write( document ) ); @@ -995,7 +995,7 @@ private void initData() { indexMapping.string2FieldWithDslConverter.document1Value.write( document ); indexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document2Value.write( document ) ); @@ -1006,7 +1006,7 @@ private void initData() { indexMapping.string2FieldWithDslConverter.document2Value.write( document ); indexMapping.scaledBigDecimal.document2Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document3Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document3Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document3Value.write( document ) ); @@ -1017,27 +1017,27 @@ private void initData() { indexMapping.string2FieldWithDslConverter.document3Value.write( document ); indexMapping.scaledBigDecimal.document3Value.write( document ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { rawFieldCompatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = incompatibleDecimalScaleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { + plan = incompatibleDecimalScaleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { incompatibleDecimalScaleIndexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SearchPredicateIT.java index 024ab80e0f5..93badce1345 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SearchPredicateIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.predicate.SearchPredicate; import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep; @@ -340,16 +340,16 @@ public void extension() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.string, STRING_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.string, STRING_2 ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SimpleQueryStringSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SimpleQueryStringSearchPredicateIT.java index b8cf15ffb73..e4a91532dae 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SimpleQueryStringSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/SimpleQueryStringSearchPredicateIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; @@ -828,8 +828,8 @@ public void multiIndex_incompatibleSearchable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_TERM_1_AND_TERM_2 ); document.addValue( indexMapping.analyzedStringFieldWithDslConverter.reference, TEXT_TERM_1_AND_TERM_2 ); document.addValue( indexMapping.analyzedStringField2.reference, TEXT_TERM_1_AND_TERM_3 ); @@ -838,48 +838,48 @@ private void initData() { document.addValue( indexMapping.whitespaceAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2.toLowerCase( Locale.ROOT ) ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2.toLowerCase( Locale.ROOT ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_TERM_1_AND_TERM_3 ); document.addValue( indexMapping.analyzedStringField4.reference, PREFIX_2 ); document.addValue( indexMapping.whitespaceAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2.toUpperCase( Locale.ROOT ) ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2.toUpperCase( Locale.ROOT ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_TERM_2_IN_PHRASE ); document.addValue( indexMapping.analyzedStringField4.reference, PREFIX_3 ); document.addValue( indexMapping.whitespaceAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2 ); document.addValue( indexMapping.whitespaceLowercaseAnalyzedField.reference, TEXT_TERM_1_AND_TERM_2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_4 ), document -> { + plan.add( referenceProvider( DOCUMENT_4 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_TERM_4_IN_PHRASE_SLOP_2 ); document.addValue( indexMapping.analyzedStringField2.reference, TEXT_TERM_2_IN_PHRASE ); document.addValue( indexMapping.analyzedStringField4.reference, PREFIX_4 ); } ); - workPlan.add( referenceProvider( DOCUMENT_5 ), document -> { + plan.add( referenceProvider( DOCUMENT_5 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_TERM_1_EDIT_DISTANCE_1 ); document.addValue( indexMapping.analyzedStringField3.reference, TEXT_TERM_2_IN_PHRASE ); document.addValue( indexMapping.analyzedStringField3.reference, TEXT_TERM_1_AND_TERM_3 ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( compatibleIndexMapping.analyzedStringField1.reference, TEXT_TERM_1_AND_TERM_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( rawFieldCompatibleIndexMapping.analyzedStringField1.reference, TEXT_TERM_1_AND_TERM_2 ); } ); - workPlan.execute().join(); - workPlan = incompatibleAnalyzerIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { + plan.execute().join(); + plan = incompatibleAnalyzerIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_ANALYZER_INDEX_DOCUMENT_1 ), document -> { document.addValue( incompatibleAnalyzerIndexMapping.analyzedStringField1.reference, TEXT_TERM_1_AND_TERM_2 ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/WildcardSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/WildcardSearchPredicateIT.java index d37e0ed7476..a3c0951ea94 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/WildcardSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/WildcardSearchPredicateIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.reporting.spi.EventContexts; @@ -503,42 +503,42 @@ public void multiIndex_incompatibleSearchable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_1 ); document.addValue( indexMapping.analyzedStringFieldWithDslConverter.reference, TEXT_MATCHING_PATTERN_1 ); document.addValue( indexMapping.normalizedField.reference, TERM_MATCHING_PATTERN_1 ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_2 ); document.addValue( indexMapping.normalizedField.reference, TERM_MATCHING_PATTERN_2 ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_3 ); document.addValue( indexMapping.normalizedField.reference, TERM_MATCHING_PATTERN_2_AND_3 ); } ); - workPlan.add( referenceProvider( DOCUMENT_4 ), document -> { + plan.add( referenceProvider( DOCUMENT_4 ), document -> { document.addValue( indexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_2_AND_3 ); } ); - workPlan.add( referenceProvider( DOCUMENT_5 ), document -> { + plan.add( referenceProvider( DOCUMENT_5 ), document -> { document.addValue( indexMapping.analyzedStringField2.reference, TEXT_MATCHING_PATTERN_1 ); document.addValue( indexMapping.analyzedStringField3.reference, TEXT_MATCHING_PATTERN_3 ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( compatibleIndexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_1 ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { document.addValue( rawFieldCompatibleIndexMapping.analyzedStringField1.reference, TEXT_MATCHING_PATTERN_1 ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/CompositeSearchProjectionIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/CompositeSearchProjectionIT.java index 2f876398999..3c9e1302153 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/CompositeSearchProjectionIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/CompositeSearchProjectionIT.java @@ -21,7 +21,7 @@ import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.StandardFieldMapper; @@ -326,24 +326,24 @@ public void nestedComposite() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.author.document1Value.write( document ); indexMapping.title.document1Value.write( document ); indexMapping.releaseDate.document1Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.author.document2Value.write( document ); indexMapping.title.document2Value.write( document ); indexMapping.releaseDate.document2Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.author.document3Value.write( document ); indexMapping.title.document3Value.write( document ); indexMapping.releaseDate.document3Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/FieldSearchProjectionIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/FieldSearchProjectionIT.java index 472574160e8..4206598245f 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/FieldSearchProjectionIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/FieldSearchProjectionIT.java @@ -26,7 +26,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.common.ValueConvert; import org.hibernate.search.engine.search.query.SearchQuery; @@ -593,8 +593,8 @@ public void multiIndex_withIncompatibleIndexManager_inNestedObject() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithProjectionConverterModels.forEach( f -> f.document1Value.write( document ) ); @@ -608,7 +608,7 @@ private void initData() { DocumentElement nestedObject = document.addObject( indexMapping.nestedObject.self ); indexMapping.nestedObject.supportedFieldModels.forEach( f -> f.document1Value.write( nestedObject ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.supportedFieldWithProjectionConverterModels.forEach( f -> f.document2Value.write( document ) ); @@ -622,7 +622,7 @@ private void initData() { DocumentElement nestedObject = document.addObject( indexMapping.nestedObject.self ); indexMapping.nestedObject.supportedFieldModels.forEach( f -> f.document2Value.write( nestedObject ) ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document3Value.write( document ) ); indexMapping.supportedFieldWithProjectionConverterModels.forEach( f -> f.document3Value.write( document ) ); @@ -636,21 +636,21 @@ private void initData() { DocumentElement nestedObject = document.addObject( indexMapping.nestedObject.self ); indexMapping.nestedObject.supportedFieldModels.forEach( f -> f.document3Value.write( nestedObject ) ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( EMPTY ), document -> { } ); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { compatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); compatibleIndexMapping.supportedFieldWithProjectionConverterModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { rawFieldCompatibleIndexMapping.supportedFieldWithProjectionConverterModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/SearchProjectionIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/SearchProjectionIT.java index 85539872715..9f62640a6b5 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/SearchProjectionIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/projection/SearchProjectionIT.java @@ -23,7 +23,7 @@ import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.projection.SearchProjection; import org.hibernate.search.engine.search.projection.dsl.SearchProjectionFactory; @@ -536,8 +536,8 @@ public void extension() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.string1Field.document1Value.write( document ); indexMapping.string2Field.document1Value.write( document ); @@ -552,7 +552,7 @@ private void initData() { DocumentElement flattedDocument = nestedDocument.addObject( indexMapping.flattenedObject ); indexMapping.flattenedField.document1Value.write( flattedDocument ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.string1Field.document2Value.write( document ); indexMapping.string2Field.document2Value.write( document ); @@ -567,7 +567,7 @@ private void initData() { DocumentElement flattedDocument = nestedDocument.addObject( indexMapping.flattenedObject ); indexMapping.flattenedField.document2Value.write( flattedDocument ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.string1Field.document3Value.write( document ); indexMapping.string2Field.document3Value.write( document ); @@ -582,9 +582,9 @@ private void initData() { DocumentElement flattedDocument = nestedDocument.addObject( indexMapping.flattenedObject ); indexMapping.flattenedField.document3Value.write( flattedDocument ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); + plan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryBaseIT.java index 63b9e59ab91..cec9380b26c 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryBaseIT.java @@ -18,7 +18,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; import org.hibernate.search.engine.backend.common.DocumentReference; @@ -124,8 +124,8 @@ public void context_extension() { } private void initData(int documentCount) { - IndexDocumentWorkExecutor executor = - indexManager.createDocumentWorkExecutor( DocumentCommitStrategy.NONE ); + IndexIndexer executor = + indexManager.createIndexer( DocumentCommitStrategy.NONE ); List> futures = new ArrayList<>(); for ( int i = 0; i < documentCount; i++ ) { int intValue = i; @@ -135,7 +135,7 @@ private void initData(int documentCount) { } CompletableFuture.allOf( futures.toArray( new CompletableFuture[0] ) ).join(); - indexManager.createWorkExecutor().flush().join(); + indexManager.createWorkspace().flush().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java index d3983884bc8..fb53af557ad 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java @@ -21,7 +21,7 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.dsl.SearchQueryOptionsStep; @@ -288,8 +288,8 @@ public void maxResults_zero() { } private void initData() { - IndexDocumentWorkExecutor executor = - indexManager.createDocumentWorkExecutor( DocumentCommitStrategy.NONE ); + IndexIndexer executor = + indexManager.createIndexer( DocumentCommitStrategy.NONE ); List> futures = new ArrayList<>(); for ( int i = 0; i < DOCUMENT_COUNT; i++ ) { int intValue = i; @@ -299,7 +299,7 @@ private void initData() { } CompletableFuture.allOf( futures.toArray( new CompletableFuture[0] ) ).join(); - indexManager.createWorkExecutor().flush().join(); + indexManager.createWorkspace().flush().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryResultLoadingOrTransformingIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryResultLoadingOrTransformingIT.java index ed26d8e7290..8ebc880747e 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryResultLoadingOrTransformingIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryResultLoadingOrTransformingIT.java @@ -24,7 +24,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.types.Projectable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.loading.context.spi.LoadingContext; import org.hibernate.search.engine.search.loading.spi.DefaultProjectionHitMapper; @@ -547,8 +547,8 @@ public void failedEntityLoading_skipHit() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( MAIN_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( MAIN_ID ), document -> { document.addValue( indexMapping.string, STRING_VALUE ); document.addValue( indexMapping.string_analyzed, STRING_ANALYZED_VALUE ); document.addValue( indexMapping.integer, INTEGER_VALUE ); @@ -566,9 +566,9 @@ private void initData() { nestedObject.addValue( indexMapping.nestedObject.integer, NESTED_OBJECT_INTEGER_VALUE ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/CompositeSearchSortIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/CompositeSearchSortIT.java index 2ba7f2ceeda..36839d8048d 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/CompositeSearchSortIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/CompositeSearchSortIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.sort.SearchSort; import org.hibernate.search.engine.search.sort.dsl.SearchSortFactory; @@ -308,8 +308,8 @@ private SearchQuery simpleQuery(StubMappingScope scope, Searc } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.identicalForFirstTwo.write( document, "aaa" ); indexMapping.identicalForLastTwo.write( document, "aaa" ); @@ -318,7 +318,7 @@ private void initData() { DocumentElement nested = document.addObject( indexMapping.nestedObject ); indexMapping.nestedField.write( nested, "bbb" ); } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.identicalForFirstTwo.write( document, "aaa" ); indexMapping.identicalForLastTwo.write( document, "bbb" ); @@ -327,7 +327,7 @@ private void initData() { DocumentElement nested = document.addObject( indexMapping.nestedObject ); indexMapping.nestedField.write( nested, "aaa" ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.identicalForFirstTwo.write( document, "bbb" ); indexMapping.identicalForLastTwo.write( document, "bbb" ); @@ -336,7 +336,7 @@ private void initData() { DocumentElement nested = document.addObject( indexMapping.nestedObject ); indexMapping.nestedField.write( nested, "aaa" ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java index 01c43530a24..1ce82e2ccc3 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortIT.java @@ -25,7 +25,7 @@ import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.dsl.IndexFieldTypeFactory; import org.hibernate.search.engine.backend.types.dsl.StandardIndexFieldTypeOptionsStep; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.search.sort.dsl.SortFinalStep; import org.hibernate.search.engine.search.common.ValueConvert; import org.hibernate.search.integrationtest.backend.tck.testsupport.types.FieldModelConsumer; @@ -619,9 +619,9 @@ public void multiIndex_incompatibleDecimalScale() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); // Important: do not index the documents in the expected order after sorts (1, 2, 3) - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> { + plan.add( referenceProvider( DOCUMENT_2 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document2Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document2Value.write( document ) ); @@ -638,7 +638,7 @@ private void initData() { indexMapping.scaledBigDecimal.document2Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> { + plan.add( referenceProvider( DOCUMENT_1 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document1Value.write( document ) ); @@ -655,7 +655,7 @@ private void initData() { indexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> { + plan.add( referenceProvider( DOCUMENT_3 ), document -> { indexMapping.supportedFieldModels.forEach( f -> f.document3Value.write( document ) ); indexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document3Value.write( document ) ); indexMapping.unsupportedFieldModels.forEach( f -> f.document3Value.write( document ) ); @@ -672,43 +672,43 @@ private void initData() { indexMapping.scaledBigDecimal.document3Value.write( document ); } ); - workPlan.add( referenceProvider( EMPTY ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( EMPTY ), document -> { } ); + plan.execute().join(); - workPlan = compatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = compatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { compatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); compatibleIndexMapping.supportedFieldWithDslConverterModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = rawFieldCompatibleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { + plan = rawFieldCompatibleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( RAW_FIELD_COMPATIBLE_INDEX_DOCUMENT_1 ), document -> { rawFieldCompatibleIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = incompatibleDecimalScaleIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { + plan = incompatibleDecimalScaleIndexManager.createIndexingPlan(); + plan.add( referenceProvider( INCOMPATIBLE_DECIMAL_SCALE_INDEX_DOCUMENT_1 ), document -> { incompatibleDecimalScaleIndexMapping.scaledBigDecimal.document1Value.write( document ); } ); - workPlan.execute().join(); + plan.execute().join(); - workPlan = multipleEmptyIndexManager.createWorkPlan(); - workPlan.add( referenceProvider( EMPTY_1 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_2 ), document -> + plan = multipleEmptyIndexManager.createIndexingPlan(); + plan.add( referenceProvider( EMPTY_1 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_2 ), document -> multipleEmptyIndexMapping.supportedFieldModels.forEach( f -> f.document2Value.write( document ) ) ); - workPlan.add( referenceProvider( EMPTY_2 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_3 ), document -> + plan.add( referenceProvider( EMPTY_2 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_3 ), document -> multipleEmptyIndexMapping.supportedFieldModels.forEach( f -> f.document3Value.write( document ) ) ); - workPlan.add( referenceProvider( EMPTY_3 ), document -> { } ); - workPlan.add( referenceProvider( DOCUMENT_1 ), document -> + plan.add( referenceProvider( EMPTY_3 ), document -> { } ); + plan.add( referenceProvider( DOCUMENT_1 ), document -> multipleEmptyIndexMapping.supportedFieldModels.forEach( f -> f.document1Value.write( document ) ) ); - workPlan.add( referenceProvider( EMPTY_4 ), document -> { } ); - workPlan.execute().join(); + plan.add( referenceProvider( EMPTY_4 ), document -> { } ); + plan.execute().join(); // Check that all documents are searchable SearchQuery query = indexManager.createScope().query() diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java index 0fcddd300f5..2436d009b7c 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/SearchSortIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaObjectField; import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.types.Sortable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.predicate.SearchPredicate; import org.hibernate.search.engine.search.sort.dsl.SortFinalStep; @@ -513,9 +513,9 @@ public void extension() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); // Important: do not index the documents in the expected order after sorts - workPlan.add( referenceProvider( SECOND_ID ), document -> { + plan.add( referenceProvider( SECOND_ID ), document -> { document.addValue( indexMapping.string, "george" ); document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7705687,4.835233 ) ); @@ -537,7 +537,7 @@ private void initData() { nestedX2Object.addValue( indexMapping.nestedX2Object.string, "george" ); nestedX2Object.addValue( indexMapping.nestedX2Object.integer, 2 ); } ); - workPlan.add( referenceProvider( FIRST_ID ), document -> { + plan.add( referenceProvider( FIRST_ID ), document -> { document.addValue( indexMapping.string, "aaron" ); document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7541719, 4.8386221 ) ); @@ -559,7 +559,7 @@ private void initData() { nestedX2Object.addValue( indexMapping.nestedX2Object.string, "aaron" ); nestedX2Object.addValue( indexMapping.nestedX2Object.integer, 1 ); } ); - workPlan.add( referenceProvider( THIRD_ID ), document -> { + plan.add( referenceProvider( THIRD_ID ), document -> { document.addValue( indexMapping.string, "zach" ); document.addValue( indexMapping.geoPoint, GeoPoint.of( 45.7530374, 4.8510299 ) ); @@ -581,9 +581,9 @@ private void initData() { nestedX2Object.addValue( indexMapping.nestedX2Object.string, "zach" ); nestedX2Object.addValue( indexMapping.nestedX2Object.integer, 3 ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/AbstractSpatialWithinSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/AbstractSpatialWithinSearchPredicateIT.java index 27299f5315b..8bd92b7ef67 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/AbstractSpatialWithinSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/AbstractSpatialWithinSearchPredicateIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.Sortable; import org.hibernate.search.engine.backend.types.Projectable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.engine.spatial.GeoPoint; @@ -81,8 +81,8 @@ public void setup() { } protected void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { document.addValue( indexMapping.string, OURSON_QUI_BOIT_STRING ); document.addValue( indexMapping.geoPoint, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.geoPoint_1, GeoPoint.of( OURSON_QUI_BOIT_GEO_POINT.getLatitude() - 1, @@ -92,7 +92,7 @@ protected void initData() { document.addValue( indexMapping.geoPoint_with_longName, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.projectableUnsortableGeoPoint, OURSON_QUI_BOIT_GEO_POINT ); } ); - workPlan.add( referenceProvider( IMOUTO_ID ), document -> { + plan.add( referenceProvider( IMOUTO_ID ), document -> { document.addValue( indexMapping.string, IMOUTO_STRING ); document.addValue( indexMapping.geoPoint, IMOUTO_GEO_POINT ); document.addValue( indexMapping.geoPoint_1, GeoPoint.of( IMOUTO_GEO_POINT.getLatitude() - 1, @@ -102,7 +102,7 @@ protected void initData() { document.addValue( indexMapping.geoPoint_with_longName, IMOUTO_GEO_POINT ); document.addValue( indexMapping.projectableUnsortableGeoPoint, IMOUTO_GEO_POINT ); } ); - workPlan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { + plan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { document.addValue( indexMapping.string, CHEZ_MARGOTTE_STRING ); document.addValue( indexMapping.geoPoint, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.geoPoint_1, GeoPoint.of( CHEZ_MARGOTTE_GEO_POINT.getLatitude() - 1, @@ -112,9 +112,9 @@ protected void initData() { document.addValue( indexMapping.geoPoint_with_longName, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.projectableUnsortableGeoPoint, CHEZ_MARGOTTE_GEO_POINT ); } ); - workPlan.add( referenceProvider( EMPTY_ID ), document -> { } ); + plan.add( referenceProvider( EMPTY_ID ), document -> { } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/DistanceSearchSearchableSortableIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/DistanceSearchSearchableSortableIT.java index 2e2d34d33ed..91b27986434 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/DistanceSearchSearchableSortableIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/DistanceSearchSearchableSortableIT.java @@ -14,7 +14,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.types.Searchable; import org.hibernate.search.engine.backend.types.Sortable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.engine.spatial.GeoPoint; @@ -161,29 +161,29 @@ public void defaultSearchableSortable() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { document.addValue( indexMapping.searchableSortable, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.searchableNotSortable, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.searchableDefaultSortable, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.notSearchableSortable, OURSON_QUI_BOIT_GEO_POINT ); document.addValue( indexMapping.defaultSearchableSortable, OURSON_QUI_BOIT_GEO_POINT ); } ); - workPlan.add( referenceProvider( IMOUTO_ID ), document -> { + plan.add( referenceProvider( IMOUTO_ID ), document -> { document.addValue( indexMapping.searchableSortable, IMOUTO_GEO_POINT ); document.addValue( indexMapping.searchableNotSortable, IMOUTO_GEO_POINT ); document.addValue( indexMapping.searchableDefaultSortable, IMOUTO_GEO_POINT ); document.addValue( indexMapping.notSearchableSortable, IMOUTO_GEO_POINT ); document.addValue( indexMapping.defaultSearchableSortable, IMOUTO_GEO_POINT ); } ); - workPlan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { + plan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { document.addValue( indexMapping.searchableSortable, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.searchableNotSortable, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.searchableDefaultSortable, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.notSearchableSortable, CHEZ_MARGOTTE_GEO_POINT ); document.addValue( indexMapping.defaultSearchableSortable, CHEZ_MARGOTTE_GEO_POINT ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/NestedDocumentDistanceProjectionIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/NestedDocumentDistanceProjectionIT.java index 7ae757f9e5e..00dec5fe559 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/NestedDocumentDistanceProjectionIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/NestedDocumentDistanceProjectionIT.java @@ -20,7 +20,7 @@ import org.hibernate.search.engine.backend.document.model.dsl.ObjectFieldStorage; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.backend.types.Sortable; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.engine.spatial.GeoPoint; @@ -103,8 +103,8 @@ public void distance_nestedDocument() { } private void initData() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( OURSON_QUI_BOIT_ID ), document -> { document.addValue( indexMapping.ordinalField, 1 ); DocumentElement nestedDocument = document.addObject( indexMapping.nestedDocument ); @@ -113,7 +113,7 @@ private void initData() { DocumentElement flattenedDocument = document.addObject( indexMapping.flattenedDocument ); flattenedDocument.addValue( indexMapping.flattenedGeoPoint, OURSON_QUI_BOIT_GEO_POINT ); } ); - workPlan.add( referenceProvider( IMOUTO_ID ), document -> { + plan.add( referenceProvider( IMOUTO_ID ), document -> { document.addValue( indexMapping.ordinalField, 2 ); DocumentElement nestedDocument = document.addObject( indexMapping.nestedDocument ); @@ -122,7 +122,7 @@ private void initData() { DocumentElement flattenedDocument = document.addObject( indexMapping.flattenedDocument ); flattenedDocument.addValue( indexMapping.flattenedGeoPoint, IMOUTO_GEO_POINT ); } ); - workPlan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { + plan.add( referenceProvider( CHEZ_MARGOTTE_ID ), document -> { document.addValue( indexMapping.ordinalField, 3 ); DocumentElement nestedDocument = document.addObject( indexMapping.nestedDocument ); @@ -131,7 +131,7 @@ private void initData() { DocumentElement flattenedDocument = document.addObject( indexMapping.flattenedDocument ); flattenedDocument.addValue( indexMapping.flattenedGeoPoint, CHEZ_MARGOTTE_GEO_POINT ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinBoundingBoxSearchPredicateIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinBoundingBoxSearchPredicateIT.java index 518f370adc0..d0618d4fc14 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinBoundingBoxSearchPredicateIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/spatial/SpatialWithinBoundingBoxSearchPredicateIT.java @@ -10,7 +10,7 @@ import static org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMapperUtils.referenceProvider; import org.hibernate.search.engine.backend.document.DocumentElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.stub.mapper.StubMappingScope; import org.hibernate.search.engine.reporting.spi.EventContexts; import org.hibernate.search.engine.backend.common.DocumentReference; @@ -428,15 +428,15 @@ public void multiIndex_incompatibleSearchable() { protected void initData() { super.initData(); - IndexWorkPlan workPlan = indexManager.createWorkPlan(); - workPlan.add( referenceProvider( ADDITIONAL_POINT_1_ID ), document -> { + IndexIndexingPlan plan = indexManager.createIndexingPlan(); + plan.add( referenceProvider( ADDITIONAL_POINT_1_ID ), document -> { document.addValue( indexMapping.geoPoint, ADDITIONAL_POINT_1_GEO_POINT ); } ); - workPlan.add( referenceProvider( ADDITIONAL_POINT_2_ID ), document -> { + plan.add( referenceProvider( ADDITIONAL_POINT_2_ID ), document -> { document.addValue( indexMapping.geoPoint, ADDITIONAL_POINT_2_GEO_POINT ); } ); - workPlan.execute().join(); + plan.execute().join(); // Check that all documents are searchable StubMappingScope scope = indexManager.createScope(); diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/sharding/AbstractShardingIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/sharding/AbstractShardingIT.java index a11bf244dbe..9e8c78f2c04 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/sharding/AbstractShardingIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/sharding/AbstractShardingIT.java @@ -17,8 +17,8 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.mapper.mapping.building.spi.IndexedEntityBindingContext; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.util.impl.integrationtest.common.assertion.NormalizedDocRefHit; @@ -51,14 +51,14 @@ protected static DocumentReference[] docRefs(Stream docIds) { } protected final void initData(Map> docIdByRoutingKey) { - IndexDocumentWorkExecutor documentWorkExecutor = - indexManager.createDocumentWorkExecutor( DocumentCommitStrategy.NONE ); + IndexIndexer indexer = + indexManager.createIndexer( DocumentCommitStrategy.NONE ); List> tasks = new ArrayList<>(); for ( Map.Entry> entry : docIdByRoutingKey.entrySet() ) { String routingKey = entry.getKey(); for ( String documentId : entry.getValue() ) { - tasks.add( documentWorkExecutor.add( + tasks.add( indexer.add( referenceProvider( documentId, routingKey ), document -> document.addValue( indexMapping.indexedRoutingKey, routingKey ) ) ); @@ -66,8 +66,8 @@ protected final void initData(Map> docIdByRoutingKey) { } CompletableFuture.allOf( tasks.toArray( new CompletableFuture[0] ) ).join(); - IndexWorkExecutor indexWorkExecutor = indexManager.createWorkExecutor(); - indexWorkExecutor.flush().join(); + IndexWorkspace workspace = indexManager.createWorkspace(); + workspace.flush().join(); } protected class IndexMapping { diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexDocumentWorkExecutorIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexerIT.java similarity index 83% rename from integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexDocumentWorkExecutorIT.java rename to integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexerIT.java index e413a67be82..aaa5fd5f9fd 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexDocumentWorkExecutorIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexerIT.java @@ -14,8 +14,8 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -29,9 +29,9 @@ import org.assertj.core.api.Assertions; /** - * Verify that the {@link IndexDocumentWorkExecutor}, provided by a backend, is working properly, storing correctly the indexes. + * Verify that the {@link IndexIndexer}, provided by a backend, is working properly, storing correctly the indexes. */ -public class IndexDocumentWorkExecutorIT { +public class IndexIndexerIT { private static final String INDEX_NAME = "lordOfTheRingsChapters"; private static final int NUMBER_OF_BOOKS = 200; @@ -58,19 +58,19 @@ public void before() { @Test public void checkAllDocumentsAreSearchable() { - IndexDocumentWorkExecutor documentWorkExecutor = - indexManager.createDocumentWorkExecutor( DocumentCommitStrategy.NONE ); + IndexIndexer indexer = + indexManager.createIndexer( DocumentCommitStrategy.NONE ); CompletableFuture[] tasks = new CompletableFuture[NUMBER_OF_BOOKS]; - IndexWorkExecutor workExecutor = indexManager.createWorkExecutor(); + IndexWorkspace workspace = indexManager.createWorkspace(); for ( int i = 0; i < NUMBER_OF_BOOKS; i++ ) { final String id = i + ""; - tasks[i] = documentWorkExecutor.add( referenceProvider( id ), document -> { + tasks[i] = indexer.add( referenceProvider( id ), document -> { document.addValue( indexMapping.title, "The Lord of the Rings cap. " + id ); } ); } CompletableFuture.allOf( tasks ).join(); - workExecutor.flush().join(); + workspace.flush().join(); SearchQuery query = indexManager.createScope().query() .predicate( f -> f.matchAll() ) diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkPlanIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexingPlanIT.java similarity index 83% rename from integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkPlanIT.java rename to integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexingPlanIT.java index e7670ccf6cf..94a94581701 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkPlanIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexingPlanIT.java @@ -12,7 +12,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.rule.SearchSetupHelper; @@ -22,7 +22,7 @@ import org.junit.Rule; import org.junit.Test; -public class IndexWorkPlanIT { +public class IndexIndexingPlanIT { private static final String INDEX_NAME = "indexName"; @@ -45,13 +45,13 @@ public void before() { @Test public void discard() { - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); - workPlan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.title, "Title of Book 1" ) ); - workPlan.discard(); + plan.add( referenceProvider( "1" ), document -> document.addValue( indexMapping.title, "Title of Book 1" ) ); + plan.discard(); - workPlan.add( referenceProvider( "2" ), document -> document.addValue( indexMapping.title, "Title of Book 2" ) ); - workPlan.execute().join(); + plan.add( referenceProvider( "2" ), document -> document.addValue( indexMapping.title, "Title of Book 2" ) ); + plan.execute().join(); SearchQuery query = indexManager.createScope().query() .predicate( f -> f.matchAll() ) diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkExecutorIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkspaceIT.java similarity index 85% rename from integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkExecutorIT.java rename to integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkspaceIT.java index 86d40729a67..70c8b834a57 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkExecutorIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkspaceIT.java @@ -14,8 +14,8 @@ import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.common.DocumentReference; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.util.TckBackendHelper; @@ -31,10 +31,10 @@ /** * Verify that the work executor operations: - * {@link IndexWorkExecutor#optimize()}, {@link IndexWorkExecutor#purge()}, {@link IndexWorkExecutor#flush()} + * {@link IndexWorkspace#optimize()}, {@link IndexWorkspace#purge()}, {@link IndexWorkspace#flush()} * work properly, in every backends. */ -public class IndexWorkExecutorIT { +public class IndexWorkspaceIT { private static final String TENANT_1 = "tenant1"; private static final String TENANT_2 = "tenant2"; @@ -69,18 +69,18 @@ public void runOptimizePurgeAndFlushInSequence() { .setup(); // Do not provide a tenant - IndexWorkExecutor workExecutor = indexManager.createWorkExecutor(); + IndexWorkspace workspace = indexManager.createWorkspace(); createBookIndexes( noTenantSessionContext ); - workExecutor.flush().join(); + workspace.flush().join(); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, noTenantSessionContext ); - workExecutor.optimize().join(); + workspace.optimize().join(); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, noTenantSessionContext ); // purge without providing a tenant - workExecutor.purge().join(); - workExecutor.flush().join(); + workspace.purge().join(); + workspace.flush().join(); assertBookNumberIsEqualsTo( 0, noTenantSessionContext ); } @@ -97,21 +97,21 @@ public void runOptimizePurgeAndFlushWithMultiTenancy() { .setup(); // Do provide a tenant ID - IndexWorkExecutor workExecutor = indexManager.createWorkExecutor( tenant1SessionContext ); + IndexWorkspace workspace = indexManager.createWorkspace( tenant1SessionContext ); createBookIndexes( tenant1SessionContext ); createBookIndexes( tenant2SessionContext ); - workExecutor.flush().join(); + workspace.flush().join(); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, tenant1SessionContext ); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, tenant2SessionContext ); - workExecutor.optimize().join(); + workspace.optimize().join(); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, tenant1SessionContext ); assertBookNumberIsEqualsTo( NUMBER_OF_BOOKS, tenant2SessionContext ); - workExecutor.purge().join(); - workExecutor.flush().join(); + workspace.purge().join(); + workspace.flush().join(); // check that only TENANT_1 is affected by the purge assertBookNumberIsEqualsTo( 0, tenant1SessionContext ); @@ -119,13 +119,13 @@ public void runOptimizePurgeAndFlushWithMultiTenancy() { } private void createBookIndexes(StubBackendSessionContext sessionContext) { - IndexDocumentWorkExecutor documentWorkExecutor = - indexManager.createDocumentWorkExecutor( sessionContext, DocumentCommitStrategy.NONE ); + IndexIndexer indexer = + indexManager.createIndexer( sessionContext, DocumentCommitStrategy.NONE ); CompletableFuture[] tasks = new CompletableFuture[NUMBER_OF_BOOKS]; for ( int i = 0; i < NUMBER_OF_BOOKS; i++ ) { final String id = i + ""; - tasks[i] = documentWorkExecutor.add( referenceProvider( id ), document -> { + tasks[i] = indexer.add( referenceProvider( id ), document -> { document.addValue( indexMapping.title, "The Lord of the Rings cap. " + id ); } ); } diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexingIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexingIT.java index 9cfdb034ac8..e957e7155c9 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexingIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexingIT.java @@ -17,7 +17,7 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.document.IndexFieldReference; import org.hibernate.search.engine.backend.document.model.dsl.IndexSchemaElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.types.Projectable; import org.hibernate.search.engine.search.query.SearchQuery; import org.hibernate.search.integrationtest.backend.tck.testsupport.types.FieldTypeDescriptor; @@ -88,16 +88,16 @@ public void index() { List> expectedDocuments = new ArrayList<>(); // Index all values, each in its own document - IndexWorkPlan workPlan = indexManager.createWorkPlan(); + IndexIndexingPlan plan = indexManager.createIndexingPlan(); for ( int i = 0; i < values.size(); i++ ) { String documentId = "document_" + i; F value = values.get( i ); - workPlan.add( referenceProvider( documentId ), document -> { + plan.add( referenceProvider( documentId ), document -> { document.addValue( indexMapping.fieldModel.reference, value ); } ); expectedDocuments.add( new IdAndValue<>( documentId, value ) ); } - workPlan.execute().join(); + plan.execute().join(); // If we get here, indexing went well. // However, it may have failed silently... Let's check the documents are there, with the right value. diff --git a/integrationtest/mapper/orm-envers/src/test/java/org/hibernate/search/integrationtest/mapper/orm/envers/EnversIT.java b/integrationtest/mapper/orm-envers/src/test/java/org/hibernate/search/integrationtest/mapper/orm/envers/EnversIT.java index 0e1696158f4..4f23d4e9be1 100644 --- a/integrationtest/mapper/orm-envers/src/test/java/org/hibernate/search/integrationtest/mapper/orm/envers/EnversIT.java +++ b/integrationtest/mapper/orm-envers/src/test/java/org/hibernate/search/integrationtest/mapper/orm/envers/EnversIT.java @@ -93,7 +93,7 @@ public void test() { .field( "text", "initial" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); checkEnversAuditedCorrectly( IndexedEntity.class, @@ -114,7 +114,7 @@ public void test() { .field( "text", "initial" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); checkEnversAuditedCorrectly( IndexedEntity.class, @@ -135,7 +135,7 @@ public void test() { .field( "text", "updated" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); checkEnversAuditedCorrectly( IndexedEntity.class, @@ -151,7 +151,7 @@ public void test() { backendMock.expectWorks( IndexedEntity.INDEX ) .delete( "1" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); checkEnversAuditedCorrectly( IndexedEntity.class, diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingAssociationIT.java index 45138b8d20b..c81569f35b6 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingAssociationIT.java @@ -189,7 +189,7 @@ public void indirectValueUpdate_indexedEmbedded_singleValue_indexed() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -206,7 +206,7 @@ public void indirectValueUpdate_indexedEmbedded_singleValue_indexed() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -252,7 +252,7 @@ public void indirectValueUpdate_indexedEmbedded_singleValue_nonIndexed() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -307,7 +307,7 @@ public void indirectValueUpdate_indexedEmbedded_elementCollectionValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -328,7 +328,7 @@ public void indirectValueUpdate_indexedEmbedded_elementCollectionValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -349,7 +349,7 @@ public void indirectValueUpdate_indexedEmbedded_elementCollectionValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -413,7 +413,7 @@ public void indirectValueReplace_indexedEmbedded_elementCollectionValue_indexed( ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -436,7 +436,7 @@ public void indirectValueReplace_indexedEmbedded_elementCollectionValue_indexed( ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -484,7 +484,7 @@ public void indirectValueUpdate_indexedEmbedded_elementCollectionValue_nonIndexe ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -542,7 +542,7 @@ public void indirectValueReplace_indexedEmbedded_elementCollectionValue_nonIndex ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -562,7 +562,7 @@ public void indirectValueReplace_indexedEmbedded_elementCollectionValue_nonIndex ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -599,7 +599,7 @@ public void indirectValueUpdate_indexedEmbedded_containedDerivedValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -620,7 +620,7 @@ public void indirectValueUpdate_indexedEmbedded_containedDerivedValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -641,7 +641,7 @@ public void indirectValueUpdate_indexedEmbedded_containedDerivedValue_indexed() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -679,7 +679,7 @@ public void indirectValueUpdate_usedInCrossEntityDerivedProperty_crossEntityDeri ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -697,7 +697,7 @@ public void indirectValueUpdate_usedInCrossEntityDerivedProperty_crossEntityDeri ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -715,7 +715,7 @@ public void indirectValueUpdate_usedInCrossEntityDerivedProperty_crossEntityDeri ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -747,7 +747,7 @@ public void indirectValueUpdate_indexedEmbeddedNoReindexOnUpdate_singleValue_ind ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -798,7 +798,7 @@ public void indirectValueUpdate_indexedEmbeddedNoReindexOnUpdate_elementCollecti ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -861,7 +861,7 @@ public void indirectValueReplace_indexedEmbeddedNoReindexOnUpdate_elementCollect ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingBridgeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingBridgeIT.java index 6e3f8183716..feb21362ed2 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingBridgeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingBridgeIT.java @@ -66,7 +66,7 @@ public void directPersistUpdateDelete() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -83,7 +83,7 @@ public void directPersistUpdateDelete() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -94,7 +94,7 @@ public void directPersistUpdateDelete() { backendMock.expectWorks( IndexedEntity.INDEX ) .delete( "1" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -130,7 +130,7 @@ public void indirectAssociationUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -155,7 +155,7 @@ public void indirectAssociationUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -181,7 +181,7 @@ public void indirectAssociationUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -216,7 +216,7 @@ public void indirectAssociationUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -266,7 +266,7 @@ public void indirectValueUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -284,7 +284,7 @@ public void indirectValueUpdate_typeBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -335,7 +335,7 @@ public void indirectAssociationUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", null ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -357,7 +357,7 @@ public void indirectAssociationUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -380,7 +380,7 @@ public void indirectAssociationUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -412,7 +412,7 @@ public void indirectAssociationUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", null ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -460,7 +460,7 @@ public void indirectValueUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -475,7 +475,7 @@ public void indirectValueUpdate_singleValuedPropertyBridge() { .field( "includedInSingleValuedPropertyBridge", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -515,7 +515,7 @@ public void directAssociationUpdate_multiValuedPropertyBridge() { .field( "includedInMultiValuedPropertyBridge", null ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -543,7 +543,7 @@ public void directAssociationUpdate_multiValuedPropertyBridge() { .field( "includedInMultiValuedPropertyBridge", "value1" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -571,7 +571,7 @@ public void directAssociationUpdate_multiValuedPropertyBridge() { .field( "includedInMultiValuedPropertyBridge", "value1 value2" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -603,7 +603,7 @@ public void directAssociationUpdate_multiValuedPropertyBridge() { .field( "includedInMultiValuedPropertyBridge", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -621,7 +621,7 @@ public void directAssociationUpdate_multiValuedPropertyBridge() { .field( "includedInMultiValuedPropertyBridge", null ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingMultiAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingMultiAssociationIT.java index 34683ec8a07..4c47fe9067d 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingMultiAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AbstractAutomaticIndexingMultiAssociationIT.java @@ -51,7 +51,7 @@ public void directAssociationUpdate_indexedEmbedded() { backendMock.expectWorks( primitives.getIndexName() ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -73,7 +73,7 @@ public void directAssociationUpdate_indexedEmbedded() { .field( "indexedField", VALUE_1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -98,7 +98,7 @@ public void directAssociationUpdate_indexedEmbedded() { .field( "indexedField", VALUE_2 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -117,7 +117,7 @@ public void directAssociationUpdate_indexedEmbedded() { .field( "indexedField", VALUE_2 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -150,7 +150,7 @@ public void directAssociationReplace_indexedEmbedded() { .field( "indexedField", VALUE_1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -178,7 +178,7 @@ public void directAssociationReplace_indexedEmbedded() { .field( "indexedField", VALUE_2 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -198,7 +198,7 @@ public void directAssociationUpdate_nonIndexedEmbedded() { backendMock.expectWorks( primitives.getIndexName() ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -273,7 +273,7 @@ public void directAssociationReplace_nonIndexedEmbedded() { backendMock.expectWorks( primitives.getIndexName() ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -295,7 +295,7 @@ public void directAssociationReplace_nonIndexedEmbedded() { // TODO HSEARCH-3204: remove the statement below to not expect any work backendMock.expectWorks( primitives.getIndexName() ) .update( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -315,7 +315,7 @@ public void directAssociationUpdate_indexedEmbeddedNoReindexOnUpdate() { backendMock.expectWorks( primitives.getIndexName() ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -394,7 +394,7 @@ public void directAssociationReplace_indexedEmbeddedNoReindexOnUpdate() { .field( "indexedField", VALUE_1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -423,7 +423,7 @@ public void directAssociationReplace_indexedEmbeddedNoReindexOnUpdate() { .field( "indexedField", VALUE_2 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -449,7 +449,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -473,7 +473,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -500,7 +500,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -537,7 +537,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -577,7 +577,7 @@ public void indirectAssociationReplace_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -607,7 +607,7 @@ public void indirectAssociationReplace_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -634,7 +634,7 @@ public void indirectAssociationUpdate_nonIndexedEmbedded() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -715,7 +715,7 @@ public void indirectAssociationReplace_nonIndexedEmbedded() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -739,7 +739,7 @@ public void indirectAssociationReplace_nonIndexedEmbedded() { .update( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -767,7 +767,7 @@ public void indirectAssociationUpdate_indexedEmbeddedNoReindexOnUpdate() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -853,7 +853,7 @@ public void indirectAssociationReplace_indexedEmbeddedNoReindexOnUpdate() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -884,7 +884,7 @@ public void indirectAssociationReplace_indexedEmbeddedNoReindexOnUpdate() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -926,7 +926,7 @@ public void indirectValueUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -943,7 +943,7 @@ public void indirectValueUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -984,7 +984,7 @@ public void indirectValueUpdate_indexedEmbeddedNoReindexOnUpdate() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java index ff5eb7a31e9..56a7937fa40 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBasicIT.java @@ -20,7 +20,7 @@ import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.search.mapper.orm.Search; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; @@ -84,7 +84,7 @@ public void directPersistUpdateDelete() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -101,7 +101,7 @@ public void directPersistUpdateDelete() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -112,7 +112,7 @@ public void directPersistUpdateDelete() { backendMock.expectWorks( IndexedEntity.INDEX ) .delete( "1" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -137,7 +137,7 @@ public void rollback_discardPreparedWorks() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .prepared(); + .processed(); session.flush(); backendMock.verifyExpectationsMet(); @@ -176,7 +176,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -195,7 +195,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -213,7 +213,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -244,7 +244,7 @@ public void directValueReplace_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -264,7 +264,7 @@ public void directValueReplace_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -288,7 +288,7 @@ public void directValueUpdate_nonIndexedField() { .field( "indexedField", entity1.getIndexedField() ) .field( "noReindexOnUpdateField", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -328,7 +328,7 @@ public void directValueUpdate_nonIndexedElementCollectionField() { .field( "indexedField", null ) .field( "noReindexOnUpdateField", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -373,7 +373,7 @@ public void directValueReplace_nonIndexedElementCollectionField() { .field( "indexedField", null ) .field( "noReindexOnUpdateField", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -389,7 +389,7 @@ public void directValueReplace_nonIndexedElementCollectionField() { .field( "indexedField", null ) .field( "noReindexOnUpdateField", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -413,7 +413,7 @@ public void directValueUpdate_noReindexOnUpdateField() { .field( "indexedField", null ) .field( "noReindexOnUpdateField", entity1.getNoReindexOnUpdateField() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -454,7 +454,7 @@ public void directValueUpdate_noReindexOnUpdateElementCollectionField() { .field( "noReindexOnUpdateField", null ) .field( "noReindexOnUpdateElementCollectionField", "firstValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -500,7 +500,7 @@ public void directValueReplace_noReindexOnUpdateElementCollectionField() { .field( "noReindexOnUpdateField", null ) .field( "noReindexOnUpdateElementCollectionField", "firstValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -520,7 +520,7 @@ public void directValueReplace_noReindexOnUpdateElementCollectionField() { "newFirstValue", "newSecondValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -534,13 +534,13 @@ public void sessionClear() { session.persist( entity1 ); session.persist( entity2 ); - // flush triggers the prepare of the current PojoWorkPlan + // flush triggers the prepare of the current indexing plan Consumer documentFieldConsumer = b -> b.field( "indexedField", "number1" ).field( "noReindexOnUpdateField", null ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", expectedValue( "number1" ) ) .add( "2", expectedValue( "number2" ) ) - .prepared(); + .processed(); session.flush(); @@ -557,7 +557,7 @@ public void sessionClear() { backendMock.expectWorks( IndexedEntity.INDEX ) .add( "3", expectedValue( "number3" ) ) .add( "4", expectedValue( "number4" ) ) - .prepared(); + .processed(); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", expectedValue( "number1" ) ) @@ -576,11 +576,11 @@ public void sessionClear() { session.persist( entity5 ); session.persist( entity6 ); - // flush triggers the prepare of the current PojoWorkPlan + // flush triggers the prepare of the current indexing plan backendMock.expectWorks( IndexedEntity.INDEX ) .add( "5", expectedValue( "number5" ) ) .add( "6", expectedValue( "number6" ) ) - .prepared(); + .processed(); session.flush(); @@ -595,12 +595,12 @@ public void sessionClear() { session.persist( entity7 ); session.persist( entity8 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); - writePlan.addOrUpdate( entity9 ); - writePlan.addOrUpdate( entity10 ); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); + indexingPlan.addOrUpdate( entity9 ); + indexingPlan.addOrUpdate( entity10 ); // the clear will revert the changes that haven't been flushed yet, - // including the ones that have been inserted directly in the write plan (bypassing the ORM session) + // including the ones that have been inserted directly in the indexing plan (bypassing the ORM session) session.clear(); backendMock.expectWorks( IndexedEntity.INDEX ) diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBridgeExplicitReindexingFunctionalIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBridgeExplicitReindexingFunctionalIT.java index 3d360b20299..ae8eea1c7a0 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBridgeExplicitReindexingFunctionalIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingBridgeExplicitReindexingFunctionalIT.java @@ -95,7 +95,7 @@ public void test() { .add( "1", b -> b .objectField( "typeBridge", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -113,7 +113,7 @@ public void test() { .field( "includedInTypeBridge", "value1" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -136,7 +136,7 @@ public void test() { .field( "includedInTypeBridge", "value1" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -154,7 +154,7 @@ public void test() { .field( "includedInTypeBridge", "value1", "value2" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddableIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddableIT.java index 1f280e4016a..ec89ef5c28c 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddableIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddableIT.java @@ -116,7 +116,7 @@ public void indirectEmbeddedUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -144,7 +144,7 @@ public void indirectEmbeddedUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -173,7 +173,7 @@ public void indirectEmbeddedUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -190,7 +190,7 @@ public void indirectEmbeddedUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -228,7 +228,7 @@ public void indirectAssociationUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -257,7 +257,7 @@ public void indirectAssociationUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -275,7 +275,7 @@ public void indirectAssociationUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -313,7 +313,7 @@ public void indirectValueUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -334,7 +334,7 @@ public void indirectValueUpdate_embeddedSingle() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -370,7 +370,7 @@ public void indirectEmbeddedUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -398,7 +398,7 @@ public void indirectEmbeddedUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -427,7 +427,7 @@ public void indirectEmbeddedUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -444,7 +444,7 @@ public void indirectEmbeddedUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -471,7 +471,7 @@ public void indirectAssociationUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -499,7 +499,7 @@ public void indirectAssociationUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -530,7 +530,7 @@ public void indirectAssociationUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -553,7 +553,7 @@ public void indirectAssociationUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -591,7 +591,7 @@ public void indirectValueUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -612,7 +612,7 @@ public void indirectValueUpdate_embeddedList() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -648,7 +648,7 @@ public void indirectEmbeddedUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -677,7 +677,7 @@ public void indirectEmbeddedUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -711,7 +711,7 @@ public void indirectEmbeddedUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -735,7 +735,7 @@ public void indirectEmbeddedUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -770,7 +770,7 @@ public void indirectAssociationUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -799,7 +799,7 @@ public void indirectAssociationUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -830,7 +830,7 @@ public void indirectAssociationUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -850,7 +850,7 @@ public void indirectAssociationUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -889,7 +889,7 @@ public void indirectValueUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -911,7 +911,7 @@ public void indirectValueUpdate_elementCollection() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -957,7 +957,7 @@ public void indirectAssociationUpdate_inverseSideEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -986,7 +986,7 @@ public void indirectAssociationUpdate_inverseSideEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1005,7 +1005,7 @@ public void indirectAssociationUpdate_inverseSideEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -1042,7 +1042,7 @@ public void indirectValueUpdate_inverseSideEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1062,7 +1062,7 @@ public void indirectValueUpdate_inverseSideEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1098,7 +1098,7 @@ public void indirectEmbeddedUpdate_bidirectionalEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1126,7 +1126,7 @@ public void indirectEmbeddedUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1156,7 +1156,7 @@ public void indirectEmbeddedUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1174,7 +1174,7 @@ public void indirectEmbeddedUpdate_bidirectionalEmbedded() { .objectField( "containedEmbeddedList", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -1212,7 +1212,7 @@ public void indirectAssociationUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1242,7 +1242,7 @@ public void indirectAssociationUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1261,7 +1261,7 @@ public void indirectAssociationUpdate_bidirectionalEmbedded() { .objectField( "containedBidirectionalEmbedded", b3 -> { } ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -1299,7 +1299,7 @@ public void indirectValueUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -1320,7 +1320,7 @@ public void indirectValueUpdate_bidirectionalEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddedBridgeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddedBridgeIT.java index 1ddf4c27a09..a0009409842 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddedBridgeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingEmbeddedBridgeIT.java @@ -113,7 +113,7 @@ public void indirectValueUpdate_embeddedBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -130,7 +130,7 @@ public void indirectValueUpdate_embeddedBridge() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingGenericPolymorphicAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingGenericPolymorphicAssociationIT.java index 30dbd6b8826..a45ed4ddee5 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingGenericPolymorphicAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingGenericPolymorphicAssociationIT.java @@ -98,7 +98,7 @@ public void inversePathHandlesGenericTypes() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -116,7 +116,7 @@ public void inversePathHandlesGenericTypes() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingMappedSuperclassIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingMappedSuperclassIT.java index 69cf19bc7d9..6a625b4bf03 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingMappedSuperclassIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingMappedSuperclassIT.java @@ -87,7 +87,7 @@ public void inversePathHandlesMappedSuperclassDefinedAssociations() { .field( "includedInSingle", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -102,7 +102,7 @@ public void inversePathHandlesMappedSuperclassDefinedAssociations() { .field( "includedInSingle", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingNonEntityIdDocumentIdIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingNonEntityIdDocumentIdIT.java index 6d97abf6fe7..a046bb3c227 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingNonEntityIdDocumentIdIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingNonEntityIdDocumentIdIT.java @@ -74,7 +74,7 @@ public void directPersistUpdateDelete() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -90,7 +90,7 @@ public void directPersistUpdateDelete() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -101,7 +101,7 @@ public void directPersistUpdateDelete() { backendMock.expectWorks( IndexedEntity.INDEX ) .delete( "42" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -125,7 +125,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -143,7 +143,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -160,7 +160,7 @@ public void directValueUpdate_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -191,7 +191,7 @@ public void directValueReplace_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -210,7 +210,7 @@ public void directValueReplace_indexedElementCollectionField() { entity1.getIndexedElementCollectionField().get( 1 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOutOfTransactionIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOutOfTransactionIT.java index 2e2f05dbc4f..8936a653c40 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOutOfTransactionIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOutOfTransactionIT.java @@ -14,7 +14,7 @@ import org.hibernate.SessionFactory; import org.hibernate.cfg.AvailableSettings; import org.hibernate.search.mapper.orm.Search; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; @@ -54,7 +54,7 @@ public void add() { backendMock.expectWorks( IndexedEntity.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // Flush without a transaction acts as a commit. // So all the involved works here are supposed to be both prepared and executed, @@ -67,22 +67,22 @@ public void add() { @Test public void clear() { withinSession( sessionFactory, session -> { - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); IndexedEntity entity1 = new IndexedEntity( 1, "number1" ); - // working directly on the work plan to add works immediately (not at flush time!) - writePlan.addOrUpdate( entity1 ); + // working directly on the indexing plan to add works immediately (not at flush time!) + indexingPlan.addOrUpdate( entity1 ); // clearing the update of entity 1 session.clear(); IndexedEntity entity2 = new IndexedEntity( 2, "number2" ); - writePlan.addOrUpdate( entity2 ); + indexingPlan.addOrUpdate( entity2 ); // only entity 2 is supposed to be flushed here backendMock.expectWorks( IndexedEntity.INDEX_NAME ) .update( "2", b -> b.field( "text", "number2" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); session.flush(); } ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOverReindexingIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOverReindexingIT.java index b7a7eadaf17..10bcceca4e2 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOverReindexingIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingOverReindexingIT.java @@ -135,7 +135,7 @@ public void test() { .add( "1", b -> b .field( "property1FromBridge", "initialValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( Level2Entity.INDEX ) .add( "2", b -> b @@ -143,7 +143,7 @@ public void test() { .field( "property2", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -158,7 +158,7 @@ public void test() { .field( "property2", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -172,7 +172,7 @@ public void test() { .update( "1", b -> b .field( "property1FromBridge", "updatedValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicInverseSideAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicInverseSideAssociationIT.java index 9e92a9b5283..bcb45303ea2 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicInverseSideAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicInverseSideAssociationIT.java @@ -112,7 +112,7 @@ public void inversePathIgnoresUnrelatedTypes() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -129,7 +129,7 @@ public void inversePathIgnoresUnrelatedTypes() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -197,7 +197,7 @@ public void inversePathDependsOnConcreteType() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -221,7 +221,7 @@ public void inversePathDependsOnConcreteType() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicOriginalSideAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicOriginalSideAssociationIT.java index 92155cb9f17..350611d6289 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicOriginalSideAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingPolymorphicOriginalSideAssociationIT.java @@ -131,7 +131,7 @@ public void inversePathDependsOnConcreteType() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -155,7 +155,7 @@ public void inversePathDependsOnConcreteType() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSingleAssociationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSingleAssociationIT.java index 6b68a9b1ebd..f81250d148c 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSingleAssociationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSingleAssociationIT.java @@ -55,7 +55,7 @@ public void directAssociationUpdate_indexedEmbedded() { backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -78,7 +78,7 @@ public void directAssociationUpdate_indexedEmbedded() { .field( "indexedField", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -102,7 +102,7 @@ public void directAssociationUpdate_indexedEmbedded() { .field( "indexedField", "updatedValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -115,7 +115,7 @@ public void directAssociationUpdate_indexedEmbedded() { backendMock.expectWorks( IndexedEntity.INDEX ) .update( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -136,7 +136,7 @@ public void directAssociationUpdate_nonIndexedEmbedded() { backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -203,7 +203,7 @@ public void directAssociationUpdate_indexedEmbeddedNoReindexOnUpdate() { backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -278,7 +278,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -303,7 +303,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -329,7 +329,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -361,7 +361,7 @@ public void indirectAssociationUpdate_indexedEmbedded() { .update( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -390,7 +390,7 @@ public void indirectAssociationUpdate_nonIndexedEmbedded() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -466,7 +466,7 @@ public void indirectAssociationUpdate_indexedEmbeddedNoReindexOnUpdate() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -546,7 +546,7 @@ public void indirectAssociationUpdate_usedInCrossEntityDerivedProperty() { .add( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -573,7 +573,7 @@ public void indirectAssociationUpdate_usedInCrossEntityDerivedProperty() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -601,7 +601,7 @@ public void indirectAssociationUpdate_usedInCrossEntityDerivedProperty() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -634,7 +634,7 @@ public void indirectAssociationUpdate_usedInCrossEntityDerivedProperty() { .update( "1", b -> b .objectField( "child", b2 -> { } ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSynchronizationStrategyIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSynchronizationStrategyIT.java index 132d422cff6..185e22923ff 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSynchronizationStrategyIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/AutomaticIndexingSynchronizationStrategyIT.java @@ -233,7 +233,7 @@ private CompletableFuture runTransactionInDifferentThread(SessionFactory sess .add( "1", b -> b .field( "indexedField", entity1.getIndexedField() ) ) - .preparedThenExecuted( workFuture ); + .processedThenExecuted( workFuture ); justBeforeTransactionCommitFuture.complete( null ); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/SearchSessionFlushIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/SearchSessionFlushIT.java index 61bb746db22..a8d96dac053 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/SearchSessionFlushIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/automaticindexing/SearchSessionFlushIT.java @@ -18,7 +18,7 @@ import org.hibernate.SessionFactory; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; import org.hibernate.search.util.impl.integrationtest.orm.OrmSetupHelper; import org.hibernate.search.util.impl.test.annotation.TestForIssue; @@ -29,7 +29,7 @@ /** * Tests the behaviour of different kinds of {@link Session#flush()}. - * Each of ones has to trigger a {@link PojoWorkPlan#prepare()} exactly when the flush is expected. + * Each of ones has to trigger a {@link PojoIndexingPlan#process()} exactly when the flush is expected. */ @TestForIssue( jiraKey = "HSEARCH-3360" ) public class SearchSessionFlushIT { @@ -58,7 +58,7 @@ public void onExplicitFlush() { backendMock.expectWorks( IndexedEntity.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) - .prepared(); + .processed(); session.flush(); backendMock.verifyExpectationsMet(); @@ -79,7 +79,7 @@ public void onAutoFlush() { backendMock.expectWorks( IndexedEntity.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) - .prepared(); + .processed(); // An auto flush is performed on query invocation List resultList = session.createQuery( "select i from IndexedEntity i" ) diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/HibernateOrmIntegrationBooterIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/HibernateOrmIntegrationBooterIT.java index 290b9605fef..52f8e869736 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/HibernateOrmIntegrationBooterIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/HibernateOrmIntegrationBooterIT.java @@ -97,7 +97,7 @@ public void configure(HibernateOrmMappingConfigurationContext context) { backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); // If the entity was indexed, it means Hibernate Search booted correctly backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmIT.java index c0e14a6acb7..3caa6d09cff 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToHibernateOrmIT.java @@ -74,7 +74,7 @@ public void setup() { .add( "2", b -> b .field( "text", entity2.getText() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToJpaIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToJpaIT.java index 68c9cde80d6..2532c258a93 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToJpaIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/hibernateormapis/ToJpaIT.java @@ -78,7 +78,7 @@ public void setup() { .add( "2", b -> b .field( "text", entity2.getText() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingBaseIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingBaseIT.java index ab53311d7eb..f0202c87f68 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingBaseIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingBaseIT.java @@ -90,7 +90,7 @@ public void defaultMassIndexerStartAndWait() throws Exception { .field( "title", TITLE_3 ) .field( "author", AUTHOR_3 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // purgeAtStart, optimizeAfterPurge and purgeAtStart flags are active by default, // so we expect 1 purge, 2 optimize and 1 flush calls in this order: @@ -134,7 +134,7 @@ public void fromMappingWithoutSession() throws Exception { .field( "title", TITLE_3 ) .field( "author", AUTHOR_3 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // purgeAtStart, optimizeAfterPurge and purgeAtStart flags are active by default, // so we expect 1 purge, 2 optimize and 1 flush calls in this order: diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingEmbeddedIdIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingEmbeddedIdIT.java index 73c901b6420..8248033fdb8 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingEmbeddedIdIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingEmbeddedIdIT.java @@ -97,7 +97,7 @@ public void defaultMassIndexerStartAndWait() { .field( "title", TITLE_3 ) .field( "author", AUTHOR_3 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // purgeAtStart, optimizeAfterPurge and purgeAtStart flags are active by default, // so we expect 1 purge, 2 optimize and 1 flush calls in this order: diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingNonEntityIdDocumentIdIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingNonEntityIdDocumentIdIT.java index fbe64b934ed..545a56d744a 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingNonEntityIdDocumentIdIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/massindexing/MassIndexingNonEntityIdDocumentIdIT.java @@ -89,7 +89,7 @@ public void defaultMassIndexerStartAndWait() { .field( "title", TITLE_3 ) .field( "author", AUTHOR_3 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // purgeAtStart, optimizeAfterPurge and purgeAtStart flags are active by default, // so we expect 1 purge, 2 optimize and 1 flush calls in this order: diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/AnnotationMappingAccessTypeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/AnnotationMappingAccessTypeIT.java index 3bc52a87220..cd0b8475964 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/AnnotationMappingAccessTypeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/AnnotationMappingAccessTypeIT.java @@ -125,7 +125,7 @@ public void index() { .field( "field", nonManaged.getField() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BindingUsingPropertyMarkerAccessIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BindingUsingPropertyMarkerAccessIT.java index e33628cf0dc..0523e3313c1 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BindingUsingPropertyMarkerAccessIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BindingUsingPropertyMarkerAccessIT.java @@ -97,7 +97,7 @@ public void indexing() { .add( "1", b -> b .field( "location", GeoPoint.of( 42.0, 42.0 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java index d1e0802ac26..92bff9c1c73 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/BytecodeEnhancementIT.java @@ -164,7 +164,7 @@ public void test() { .field( "primitiveDouble", 42.0d ) .field( "transientText", "initialValue" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); AtomicReference entityFromTransaction = new AtomicReference<>(); @@ -212,7 +212,7 @@ public void test() { .field( "primitiveDouble", 42.0d ) .field( "transientText", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); assertPropertiesAreNotLoaded( entityFromTransaction.get(), "notIndexedText" ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/GenericPropertyIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/GenericPropertyIT.java index 4c567c15786..62c31490687 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/GenericPropertyIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/GenericPropertyIT.java @@ -88,7 +88,7 @@ public void index() { .field( "arrayContent", genericEntity.getArrayContent()[1] ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProgrammaticMappingAccessTypeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProgrammaticMappingAccessTypeIT.java index 5edda32538e..943ee344c9b 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProgrammaticMappingAccessTypeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProgrammaticMappingAccessTypeIT.java @@ -127,7 +127,7 @@ public void index() { .field( "field", nonManaged.getField() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/PropertyInheritanceIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/PropertyInheritanceIT.java index defa9177fe7..3072fe5cb9d 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/PropertyInheritanceIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/PropertyInheritanceIT.java @@ -90,7 +90,7 @@ public void index() { .field( "childDeclaredProperty", entity2.getChildDeclaredProperty() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProxyIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProxyIT.java index 12e38fbedd9..adeb32eea88 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProxyIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProxyIT.java @@ -71,7 +71,7 @@ public void proxyAccess() { .add( "1", b -> b .field( "text", entity1.text ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); OrmUtils.withinTransaction( sessionFactory, session -> { @@ -91,7 +91,7 @@ public void proxyAccess() { .update( "1", b -> b .field( "text", proxy.getText() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInThroughNonContainingIndexedTypeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInThroughNonContainingIndexedTypeIT.java index 71dd62c742a..14e5b1bbd58 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInThroughNonContainingIndexedTypeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInThroughNonContainingIndexedTypeIT.java @@ -83,13 +83,13 @@ public void test() { .add( "1", b -> b .field( "indexedInContaining", 0 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( Contained.INDEX ) .add( "2", b -> b .field( "indexedInContained", 0 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -107,7 +107,7 @@ public void test() { .update( "1", b -> b .field( "indexedInContaining", 42 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // No work is expected on the index for the Contained entity } ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInTriggerUnnecessaryCollectionInitializationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInTriggerUnnecessaryCollectionInitializationIT.java index 299512ef16d..96b496d8c1a 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInTriggerUnnecessaryCollectionInitializationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ContainedInTriggerUnnecessaryCollectionInitializationIT.java @@ -79,7 +79,7 @@ public void test() { .field( "someField", "initialValue" ) .field( "someInteger", 42 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( Post.INDEX ) .add( "2", b -> b @@ -87,7 +87,7 @@ public void test() { .field( "someInteger", 42 ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -111,7 +111,7 @@ public void test() { .field( "someField", "updatedValue" ) .field( "someInteger", 42 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); // Do not expect any work on the Post index } ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/FlushClearEvictAllIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/FlushClearEvictAllIT.java index 625d883552f..c337ae4097f 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/FlushClearEvictAllIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/FlushClearEvictAllIT.java @@ -70,7 +70,7 @@ public void test() { backendMock.expectWorks( Post.NAME ) .add( post.getId().toString(), b -> b.field( "name", "This is a post" ) ) - .prepared(); + .processed(); entityManager.flush(); backendMock.verifyExpectationsMet(); @@ -94,7 +94,7 @@ public void test() { backendMock.expectWorks( Comment.NAME ) .add( "2", b -> b.field( "name", "This is a comment" ) ) - .prepared(); + .processed(); entityManager.flush(); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/IndexingProcessorProxiedAssociatedEntityIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/IndexingProcessorProxiedAssociatedEntityIT.java index 75146de78de..7e0770a8187 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/IndexingProcessorProxiedAssociatedEntityIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/IndexingProcessorProxiedAssociatedEntityIT.java @@ -80,7 +80,7 @@ public void toOne() { .field( "text", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -99,7 +99,7 @@ public void toOne() { .field( "text", "initialValue" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -123,7 +123,7 @@ public void toMany() { .field( "text", "initialValue1" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -147,7 +147,7 @@ public void toMany() { .field( "text", "initialValue1" ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ReindexingResolverProxiedAssociatedEntityIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ReindexingResolverProxiedAssociatedEntityIT.java index bb5c2534209..db78c93ca32 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ReindexingResolverProxiedAssociatedEntityIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/automaticindexing/ReindexingResolverProxiedAssociatedEntityIT.java @@ -87,7 +87,7 @@ public void toOne() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -107,7 +107,7 @@ public void toOne() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } @@ -141,7 +141,7 @@ public void toMany() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); @@ -166,7 +166,7 @@ public void toMany() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/massindexing/MassIndexingPrimitiveIdIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/massindexing/MassIndexingPrimitiveIdIT.java index fb5e7325abf..0e683b426ae 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/massindexing/MassIndexingPrimitiveIdIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/nonregression/massindexing/MassIndexingPrimitiveIdIT.java @@ -68,7 +68,7 @@ public void entityWithPrimitiveId() { .add( "1", b -> { } ) .add( "2", b -> { } ) .add( "3", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); // purgeAtStart, optimizeAfterPurge and purgeAtStart flags are active by default, // so we expect 1 purge, 2 optimize and 1 flush calls in this order: diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/search/SearchQueryBaseIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/search/SearchQueryBaseIT.java index 092057cda19..e48467c04d3 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/search/SearchQueryBaseIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/search/SearchQueryBaseIT.java @@ -390,7 +390,7 @@ private void initData() { .field( "title", TITLE_AVENUE_OF_MYSTERIES ) .field( "author", AUTHOR_AVENUE_OF_MYSTERIES ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanBaseIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanBaseIT.java similarity index 83% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanBaseIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanBaseIT.java index 4a734e49cc0..32f9f39406d 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanBaseIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanBaseIT.java @@ -19,7 +19,7 @@ import org.hibernate.search.mapper.orm.Search; import org.hibernate.search.mapper.orm.automaticindexing.AutomaticIndexingStrategyName; import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.IndexedEmbedded; @@ -33,7 +33,7 @@ import org.junit.Test; @TestForIssue(jiraKey = "HSEARCH-3049") -public class SearchSessionWritePlanBaseIT { +public class SearchIndexingPlanBaseIT { private static final String BACKEND1_NAME = "stubBackend1"; private static final String BACKEND2_NAME = "stubBackend2"; @@ -60,18 +60,18 @@ public void simple() { session.persist( entity2 ); session.persist( entity3 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); - writePlan.addOrUpdate( entity1 ); - writePlan.addOrUpdate( entity2 ); - writePlan.delete( entity3 ); - writePlan.purge( IndexedEntity1.class, 42 ); // Does not exist in database, but may exist in the index + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); + indexingPlan.addOrUpdate( entity1 ); + indexingPlan.addOrUpdate( entity2 ); + indexingPlan.delete( entity3 ); + indexingPlan.purge( IndexedEntity1.class, 42 ); // Does not exist in database, but may exist in the index backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .update( "1", b -> b.field( "text", "number1" ) ) .update( "2", b -> b.field( "text", "number2" ) ) .delete( "3" ) .delete( "42" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backend1Mock.verifyExpectationsMet(); } @@ -99,34 +99,34 @@ public void mergedEvents() { session.persist( entity7 ); session.persist( entity8 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); - writePlan.addOrUpdate( entity1 ); - writePlan.addOrUpdate( entity1 ); + indexingPlan.addOrUpdate( entity1 ); + indexingPlan.addOrUpdate( entity1 ); - writePlan.delete( entity2 ); - writePlan.delete( entity2 ); + indexingPlan.delete( entity2 ); + indexingPlan.delete( entity2 ); - writePlan.addOrUpdate( entity3 ); - writePlan.delete( entity3 ); + indexingPlan.addOrUpdate( entity3 ); + indexingPlan.delete( entity3 ); - writePlan.delete( entity4 ); - writePlan.addOrUpdate( entity4 ); + indexingPlan.delete( entity4 ); + indexingPlan.addOrUpdate( entity4 ); - writePlan.purge( IndexedEntity1.class, 42 ); - writePlan.purge( IndexedEntity1.class, 42 ); + indexingPlan.purge( IndexedEntity1.class, 42 ); + indexingPlan.purge( IndexedEntity1.class, 42 ); - writePlan.delete( entity5 ); - writePlan.purge( IndexedEntity1.class, 5 ); + indexingPlan.delete( entity5 ); + indexingPlan.purge( IndexedEntity1.class, 5 ); - writePlan.purge( IndexedEntity1.class, 6 ); - writePlan.delete( entity6 ); + indexingPlan.purge( IndexedEntity1.class, 6 ); + indexingPlan.delete( entity6 ); - writePlan.addOrUpdate( entity7 ); - writePlan.purge( IndexedEntity1.class, 7 ); + indexingPlan.addOrUpdate( entity7 ); + indexingPlan.purge( IndexedEntity1.class, 7 ); - writePlan.purge( IndexedEntity1.class, 8 ); - writePlan.addOrUpdate( entity8 ); + indexingPlan.purge( IndexedEntity1.class, 8 ); + indexingPlan.addOrUpdate( entity8 ); backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) // multiple addOrUpdate => single update @@ -147,7 +147,7 @@ public void mergedEvents() { .delete( "7" ) // purge then addOrUpdate => update .update( "8", b -> b.field( "text", "number8" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backend1Mock.verifyExpectationsMet(); } @@ -157,9 +157,9 @@ public void purgeContained() { SessionFactory sessionFactory = setup( AutomaticIndexingStrategyName.NONE ); withinTransaction( sessionFactory, session -> { - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); SubTest.expectException( - () -> writePlan.purge( ContainedEntity.class, 42 ) + () -> indexingPlan.purge( ContainedEntity.class, 42 ) ) .assertThrown() .isInstanceOf( SearchException.class ) @@ -179,11 +179,11 @@ public void earlyProcess() { session.persist( entity1 ); session.persist( entity2 ); - // flush triggers the prepare of the current PojoWorkPlan + // flush triggers the prepare of the current indexing plan backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) .add( "2", b -> b.field( "text", "number2" ) ) - .prepared(); + .processed(); session.flush(); @@ -224,19 +224,19 @@ public void earlyExecute() { backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) .add( "2", b -> b.field( "text", "number2" ) ) - .prepared(); + .processed(); session.flush(); backend1Mock.verifyExpectationsMet(); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) .add( "2", b -> b.field( "text", "number2" ) ) .executed(); - writePlan.execute(); + indexingPlan.execute(); // Works should be executed immediately backend1Mock.verifyExpectationsMet(); @@ -259,7 +259,7 @@ public void mixedExplicitAndAutomaticIndexing() { backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .add( "1", b -> b.field( "text", "number1" ) ) .add( "2", b -> b.field( "text", "number2" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backend1Mock.verifyExpectationsMet(); @@ -270,9 +270,9 @@ public void mixedExplicitAndAutomaticIndexing() { session.persist( entity3 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); - writePlan.addOrUpdate( entity1 ); - writePlan.delete( entity2 ); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); + indexingPlan.addOrUpdate( entity1 ); + indexingPlan.delete( entity2 ); backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) // Requested explicitly @@ -280,7 +280,7 @@ public void mixedExplicitAndAutomaticIndexing() { .delete( "2" ) // Automatic on persist .add( "3", b -> b.field( "text", "number3" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backend1Mock.verifyExpectationsMet(); } @@ -298,18 +298,18 @@ public void multiIndexMultiBackend() { session.persist( entity2 ); session.persist( entity3 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); - writePlan.addOrUpdate( entity1 ); - writePlan.addOrUpdate( entity2 ); - writePlan.delete( entity3 ); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); + indexingPlan.addOrUpdate( entity1 ); + indexingPlan.addOrUpdate( entity2 ); + indexingPlan.delete( entity3 ); backend1Mock.expectWorks( IndexedEntity1.INDEX_NAME ) .update( "1", b -> b.field( "text", "number1" ) ) .delete( "3" ) - .preparedThenExecuted(); + .processedThenExecuted(); backend2Mock.expectWorks( IndexedEntity2.INDEX_NAME ) .update( "2", b -> b.field( "text", "number2" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backend1Mock.verifyExpectationsMet(); backend2Mock.verifyExpectationsMet(); @@ -319,37 +319,37 @@ public void multiIndexMultiBackend() { public void outOfSession() { SessionFactory sessionFactory = setup( AutomaticIndexingStrategyName.NONE ); - SearchSessionWritePlan writePlan; + SearchIndexingPlan indexingPlan; IndexedEntity1 entity; try ( Session session = sessionFactory.openSession() ) { entity = new IndexedEntity1( 1, "number1" ); session.persist( entity ); - writePlan = Search.session( session ).writePlan(); + indexingPlan = Search.session( session ).indexingPlan(); } SubTest.expectException( - () -> writePlan.addOrUpdate( entity ) + () -> indexingPlan.addOrUpdate( entity ) ) .assertThrown() .isInstanceOf( SearchException.class ) .hasMessageContaining( "Underlying Hibernate ORM Session seems to be closed" ); SubTest.expectException( - () -> writePlan.delete( entity ) + () -> indexingPlan.delete( entity ) ) .assertThrown() .isInstanceOf( SearchException.class ) .hasMessageContaining( "Underlying Hibernate ORM Session seems to be closed" ); SubTest.expectException( - () -> writePlan.process() + () -> indexingPlan.process() ) .assertThrown() .isInstanceOf( SearchException.class ) .hasMessageContaining( "Underlying Hibernate ORM Session seems to be closed" ); SubTest.expectException( - () -> writePlan.execute() + () -> indexingPlan.execute() ) .assertThrown() .isInstanceOf( SearchException.class ) diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanNonEntityIdDocumentIdIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanNonEntityIdDocumentIdIT.java similarity index 84% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanNonEntityIdDocumentIdIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanNonEntityIdDocumentIdIT.java index 4059551e1f8..386db646ff6 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanNonEntityIdDocumentIdIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanNonEntityIdDocumentIdIT.java @@ -15,7 +15,7 @@ import org.hibernate.search.mapper.orm.Search; import org.hibernate.search.mapper.orm.automaticindexing.AutomaticIndexingStrategyName; import org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.DocumentId; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; @@ -27,9 +27,9 @@ import org.junit.Test; /** - * Test usage of the session write plan with an entity type whose document ID is not the entity ID. + * Test usage of the session indexing plan with an entity type whose document ID is not the entity ID. */ -public class SearchSessionWritePlanNonEntityIdDocumentIdIT { +public class SearchIndexingPlanNonEntityIdDocumentIdIT { private static final String BACKEND_NAME = "stubBackend"; @@ -53,18 +53,18 @@ public void simple() { session.persist( entity2 ); session.persist( entity3 ); - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); - writePlan.addOrUpdate( entity1 ); - writePlan.addOrUpdate( entity2 ); - writePlan.delete( entity3 ); - writePlan.purge( IndexedEntity.class, 47 ); // Does not exist in database, but may exist in the index + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); + indexingPlan.addOrUpdate( entity1 ); + indexingPlan.addOrUpdate( entity2 ); + indexingPlan.delete( entity3 ); + indexingPlan.purge( IndexedEntity.class, 47 ); // Does not exist in database, but may exist in the index backendMock.expectWorks( IndexedEntity.INDEX_NAME ) .update( "41", b -> b.field( "text", "number1" ) ) .update( "42", b -> b.field( "text", "number2" ) ) .delete( "43" ) .delete( "47" ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanPersistBatchIndexingIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanPersistBatchIndexingIT.java similarity index 89% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanPersistBatchIndexingIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanPersistBatchIndexingIT.java index 5ed0797af70..b2f789b6013 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchSessionWritePlanPersistBatchIndexingIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/session/SearchIndexingPlanPersistBatchIndexingIT.java @@ -13,7 +13,7 @@ import org.hibernate.SessionFactory; import org.hibernate.search.mapper.orm.Search; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.GenericField; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; @@ -25,13 +25,13 @@ /** * Test batch indexing relying not on the {@link org.hibernate.search.mapper.orm.massindexing.MassIndexer}, - * but on automatic indexing and on the {@link SearchSessionWritePlan}, + * but on automatic indexing and on the {@link SearchIndexingPlan}, * flushing and clearing the session periodically. *

* This is mostly useful when inserting lots of data into the database using JPA. */ @TestForIssue(jiraKey = "HSEARCH-3049") -public class SearchSessionWritePlanPersistBatchIndexingIT { +public class SearchIndexingPlanPersistBatchIndexingIT { private static final String BACKEND_NAME = "stubBackend"; @@ -55,7 +55,7 @@ public void processPerBatch() { SessionFactory sessionFactory = setup(); withinTransaction( sessionFactory, session -> { - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); // This is for test only and wouldn't be present in real code int firstIdOfThisBatch = 0; @@ -63,7 +63,7 @@ public void processPerBatch() { for ( int i = 0; i < ENTITY_COUNT; i++ ) { if ( i > 0 && i % BATCH_SIZE == 0 ) { // For test only: register expectations regarding processing - expectAddWorks( firstIdOfThisBatch, i ).prepared(); + expectAddWorks( firstIdOfThisBatch, i ).processed(); firstIdOfThisBatch = i; session.flush(); @@ -80,7 +80,7 @@ public void processPerBatch() { // For test only: check on-commit processing/execution of works // If the last batch was smaller, there is still some preparing that will occur on commit - expectAddWorks( firstIdOfThisBatch, ENTITY_COUNT ).prepared(); + expectAddWorks( firstIdOfThisBatch, ENTITY_COUNT ).processed(); // Finally, the works will be executed on commit expectAddWorks( 0, ENTITY_COUNT ).executed(); } ); @@ -98,14 +98,14 @@ public void executePerBatch() { SessionFactory sessionFactory = setup(); withinTransaction( sessionFactory, session -> { - SearchSessionWritePlan writePlan = Search.session( session ).writePlan(); + SearchIndexingPlan indexingPlan = Search.session( session ).indexingPlan(); // This is for test only and wouldn't be present in real code int firstIdOfThisBatch = 0; for ( int i = 0; i < ENTITY_COUNT; i++ ) { if ( i > 0 && i % BATCH_SIZE == 0 ) { - expectAddWorks( firstIdOfThisBatch, i ).prepared(); + expectAddWorks( firstIdOfThisBatch, i ).processed(); session.flush(); backendMock.verifyExpectationsMet(); @@ -113,7 +113,7 @@ public void executePerBatch() { expectAddWorks( firstIdOfThisBatch, i ).executed(); firstIdOfThisBatch = i; - writePlan.execute(); + indexingPlan.execute(); // For test only: check execution happens before the clear() backendMock.verifyExpectationsMet(); @@ -127,7 +127,7 @@ public void executePerBatch() { // For test only: check on-commit processing/execution of works // If the last batch was smaller, there is still some indexing that will occur on commit - expectAddWorks( firstIdOfThisBatch, ENTITY_COUNT ).preparedThenExecuted(); + expectAddWorks( firstIdOfThisBatch, ENTITY_COUNT ).processedThenExecuted(); } ); // This is for test only and wouldn't be present in real code backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/AnnotationMappingSmokeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/AnnotationMappingSmokeIT.java index dee78726d4b..cf557a8a76d 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/AnnotationMappingSmokeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/AnnotationMappingSmokeIT.java @@ -252,13 +252,13 @@ public void index() { .field( "date", entity6.getLocalDate() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( OtherIndexedEntity.INDEX ) .add( "4", b -> b .field( "numeric", entity4.getNumeric() ) .field( "numericAsString", String.valueOf( entity4.getNumeric() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( YetAnotherIndexedEntity.INDEX ) .add( "5", b -> b .field( "myLocalDateField", entity5.getLocalDate() ) @@ -290,7 +290,7 @@ public void index() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/ProgrammaticMappingSmokeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/ProgrammaticMappingSmokeIT.java index 5902562f634..96e4b724439 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/ProgrammaticMappingSmokeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/smoke/ProgrammaticMappingSmokeIT.java @@ -250,13 +250,13 @@ public void index() { .field( "date", entity6.getLocalDate() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( OtherIndexedEntity.INDEX ) .add( "4", b -> b .field( "numeric", entity4.getNumeric() ) .field( "numericAsString", String.valueOf( entity4.getNumeric() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( YetAnotherIndexedEntity.INDEX ) .add( "5", b -> b .field( "myLocalDateField", entity5.getLocalDate() ) @@ -288,7 +288,7 @@ public void index() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } ); } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/AbstractSearchWriterSimpleOperationIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/AbstractSearchWorkspaceSimpleOperationIT.java similarity index 74% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/AbstractSearchWriterSimpleOperationIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/AbstractSearchWorkspaceSimpleOperationIT.java index 1c05b22fb21..c3ceb5d6078 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/AbstractSearchWriterSimpleOperationIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/AbstractSearchWorkspaceSimpleOperationIT.java @@ -4,7 +4,7 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.integrationtest.mapper.orm.writing; +package org.hibernate.search.integrationtest.mapper.orm.workspace; import static org.hibernate.search.util.impl.test.FutureAssert.assertThat; @@ -15,7 +15,7 @@ import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.search.mapper.orm.Search; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; import org.hibernate.search.util.impl.integrationtest.orm.OrmSetupHelper; @@ -25,7 +25,7 @@ import org.junit.Rule; import org.junit.Test; -public abstract class AbstractSearchWriterSimpleOperationIT { +public abstract class AbstractSearchWorkspaceSimpleOperationIT { private static final String BACKEND1_NAME = "stubBackend1"; private static final String BACKEND2_NAME = "stubBackend2"; @@ -44,17 +44,17 @@ public void async_success() { SessionFactory sessionFactory = setup(); OrmUtils.withinSession( sessionFactory, session -> { - SearchWriter writer = Search.session( session ).writer( IndexedEntity1.class ); + SearchWorkspace workspace = Search.session( session ).workspace( IndexedEntity1.class ); CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); - CompletableFuture futureFromWriter = executeAsync( writer ); + CompletableFuture futureFromWorkspace = executeAsync( workspace ); backend1Mock.verifyExpectationsMet(); - assertThat( futureFromWriter ).isPending(); + assertThat( futureFromWorkspace ).isPending(); futureFromBackend.complete( new Object() ); - assertThat( futureFromWriter ).isSuccessful(); + assertThat( futureFromWorkspace ).isSuccessful(); } ); } @@ -63,18 +63,18 @@ public void async_failure() { SessionFactory sessionFactory = setup(); OrmUtils.withinSession( sessionFactory, session -> { - SearchWriter writer = Search.session( session ).writer( IndexedEntity1.class ); + SearchWorkspace workspace = Search.session( session ).workspace( IndexedEntity1.class ); CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); - CompletableFuture futureFromWriter = executeAsync( writer ); + CompletableFuture futureFromWorkspace = executeAsync( workspace ); backend1Mock.verifyExpectationsMet(); - assertThat( futureFromWriter ).isPending(); + assertThat( futureFromWorkspace ).isPending(); RuntimeException exception = new RuntimeException(); futureFromBackend.completeExceptionally( exception ); - assertThat( futureFromWriter ).isFailed( exception ); + assertThat( futureFromWorkspace ).isFailed( exception ); } ); } @@ -83,13 +83,13 @@ public void sync_success() { SessionFactory sessionFactory = setup(); OrmUtils.withinSession( sessionFactory, session -> { - SearchWriter writer = Search.session( session ).writer( IndexedEntity1.class ); + SearchWorkspace workspace = Search.session( session ).workspace( IndexedEntity1.class ); CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); futureFromBackend.complete( new Object() ); - executeSync( writer ); + executeSync( workspace ); backend1Mock.verifyExpectationsMet(); } ); } @@ -99,7 +99,7 @@ public void sync_failure() { SessionFactory sessionFactory = setup(); OrmUtils.withinSession( sessionFactory, session -> { - SearchWriter writer = Search.session( session ).writer( IndexedEntity1.class ); + SearchWorkspace workspace = Search.session( session ).workspace( IndexedEntity1.class ); CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); @@ -108,7 +108,7 @@ public void sync_failure() { futureFromBackend.completeExceptionally( exception ); SubTest.expectException( - () -> executeSync( writer ) + () -> executeSync( workspace ) ) .assertThrown() .isSameAs( exception ); @@ -120,23 +120,23 @@ public void multiIndexMultiBackend() { SessionFactory sessionFactory = setup(); OrmUtils.withinSession( sessionFactory, session -> { - SearchWriter writer = Search.session( session ).writer(); + SearchWorkspace workspace = Search.session( session ).workspace(); CompletableFuture future1FromBackend = new CompletableFuture<>(); CompletableFuture future2FromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, future1FromBackend ); expectWork( backend2Mock, IndexedEntity2.INDEX_NAME, future2FromBackend ); - CompletableFuture futureFromWriter = executeAsync( writer ); + CompletableFuture futureFromWorkspace = executeAsync( workspace ); backend1Mock.verifyExpectationsMet(); backend2Mock.verifyExpectationsMet(); - assertThat( futureFromWriter ).isPending(); + assertThat( futureFromWorkspace ).isPending(); future1FromBackend.complete( new Object() ); - assertThat( futureFromWriter ).isPending(); + assertThat( futureFromWorkspace ).isPending(); future2FromBackend.complete( new Object() ); - assertThat( futureFromWriter ).isSuccessful(); + assertThat( futureFromWorkspace ).isSuccessful(); } ); } @@ -144,32 +144,32 @@ public void multiIndexMultiBackend() { public void outOfSession() { SessionFactory sessionFactory = setup(); - SearchWriter writer; + SearchWorkspace workspace; try ( Session session = sessionFactory.openSession() ) { - writer = Search.session( session ).writer( IndexedEntity1.class ); + workspace = Search.session( session ).workspace( IndexedEntity1.class ); } CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); - CompletableFuture futureFromWriter = executeAsync( writer ); + CompletableFuture futureFromWorkspace = executeAsync( workspace ); backend1Mock.verifyExpectationsMet(); - assertThat( futureFromWriter ).isPending(); + assertThat( futureFromWorkspace ).isPending(); futureFromBackend.complete( new Object() ); - assertThat( futureFromWriter ).isSuccessful(); + assertThat( futureFromWorkspace ).isSuccessful(); } @Test public void fromMappingWithoutSession() { SessionFactory sessionFactory = setup(); - SearchWriter writer = Search.mapping( sessionFactory ).scope( IndexedEntity1.class ).writer(); + SearchWorkspace workspace = Search.mapping( sessionFactory ).scope( IndexedEntity1.class ).workspace(); CompletableFuture futureFromBackend = new CompletableFuture<>(); expectWork( backend1Mock, IndexedEntity1.INDEX_NAME, futureFromBackend ); - CompletableFuture futureFromWriter = executeAsync( writer ); + CompletableFuture futureFromWriter = executeAsync( workspace ); backend1Mock.verifyExpectationsMet(); assertThat( futureFromWriter ).isPending(); @@ -179,9 +179,9 @@ public void fromMappingWithoutSession() { protected abstract void expectWork(BackendMock backendMock, String indexName, CompletableFuture future); - protected abstract void executeSync(SearchWriter writer); + protected abstract void executeSync(SearchWorkspace workspace); - protected abstract CompletableFuture executeAsync(SearchWriter writer); + protected abstract CompletableFuture executeAsync(SearchWorkspace workspace); private SessionFactory setup() { backend1Mock.expectAnySchema( IndexedEntity1.INDEX_NAME ); diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterFlushIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceFlushIT.java similarity index 63% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterFlushIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceFlushIT.java index 3793e4eb79c..1d11fcdf5a3 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterFlushIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceFlushIT.java @@ -4,16 +4,16 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.integrationtest.mapper.orm.writing; +package org.hibernate.search.integrationtest.mapper.orm.workspace; import java.util.concurrent.CompletableFuture; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; import org.hibernate.search.util.impl.test.annotation.TestForIssue; @TestForIssue(jiraKey = "HSEARCH-3049") -public class SearchWriterFlushIT extends AbstractSearchWriterSimpleOperationIT { +public class SearchWorkspaceFlushIT extends AbstractSearchWorkspaceSimpleOperationIT { @Override protected void expectWork(BackendMock backendMock, String indexName, CompletableFuture future) { backendMock.expectIndexScopeWorks( indexName ) @@ -21,12 +21,12 @@ protected void expectWork(BackendMock backendMock, String indexName, Completable } @Override - protected void executeSync(SearchWriter writer) { - writer.flush(); + protected void executeSync(SearchWorkspace workspace) { + workspace.flush(); } @Override - protected CompletableFuture executeAsync(SearchWriter writer) { - return writer.flushAsync(); + protected CompletableFuture executeAsync(SearchWorkspace workspace) { + return workspace.flushAsync(); } } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterOptimizeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceOptimizeIT.java similarity index 63% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterOptimizeIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceOptimizeIT.java index c3be0c779e8..5c9c7669495 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterOptimizeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspaceOptimizeIT.java @@ -4,16 +4,16 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.integrationtest.mapper.orm.writing; +package org.hibernate.search.integrationtest.mapper.orm.workspace; import java.util.concurrent.CompletableFuture; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; import org.hibernate.search.util.impl.test.annotation.TestForIssue; @TestForIssue(jiraKey = "HSEARCH-3049") -public class SearchWriterOptimizeIT extends AbstractSearchWriterSimpleOperationIT { +public class SearchWorkspaceOptimizeIT extends AbstractSearchWorkspaceSimpleOperationIT { @Override protected void expectWork(BackendMock backendMock, String indexName, CompletableFuture future) { backendMock.expectIndexScopeWorks( indexName ) @@ -21,12 +21,12 @@ protected void expectWork(BackendMock backendMock, String indexName, Completable } @Override - protected void executeSync(SearchWriter writer) { - writer.optimize(); + protected void executeSync(SearchWorkspace workspace) { + workspace.optimize(); } @Override - protected CompletableFuture executeAsync(SearchWriter writer) { - return writer.optimizeAsync(); + protected CompletableFuture executeAsync(SearchWorkspace workspace) { + return workspace.optimizeAsync(); } } diff --git a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterPurgeIT.java b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspacePurgeIT.java similarity index 63% rename from integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterPurgeIT.java rename to integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspacePurgeIT.java index 4f6bded1d95..06191ddacf2 100644 --- a/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/writing/SearchWriterPurgeIT.java +++ b/integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/workspace/SearchWorkspacePurgeIT.java @@ -4,16 +4,16 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.integrationtest.mapper.orm.writing; +package org.hibernate.search.integrationtest.mapper.orm.workspace; import java.util.concurrent.CompletableFuture; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.util.impl.integrationtest.common.rule.BackendMock; import org.hibernate.search.util.impl.test.annotation.TestForIssue; @TestForIssue(jiraKey = "HSEARCH-3049") -public class SearchWriterPurgeIT extends AbstractSearchWriterSimpleOperationIT { +public class SearchWorkspacePurgeIT extends AbstractSearchWorkspaceSimpleOperationIT { @Override protected void expectWork(BackendMock backendMock, String indexName, CompletableFuture future) { backendMock.expectIndexScopeWorks( indexName ) @@ -21,12 +21,12 @@ protected void expectWork(BackendMock backendMock, String indexName, Completable } @Override - protected void executeSync(SearchWriter writer) { - writer.purge(); + protected void executeSync(SearchWorkspace workspace) { + workspace.purge(); } @Override - protected CompletableFuture executeAsync(SearchWriter writer) { - return writer.purgeAsync(); + protected CompletableFuture executeAsync(SearchWorkspace workspace) { + return workspace.purgeAsync(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/AbstractFieldContainerExtractorIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/AbstractFieldContainerExtractorIT.java index 701935e2c23..9cb25594037 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/AbstractFieldContainerExtractorIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/AbstractFieldContainerExtractorIT.java @@ -304,7 +304,7 @@ final void doTest(TestModel testModel, Class indexedFieldType try ( SearchSession session = mapping.createSession() ) { E entity1 = testModel.newEntity( 1, propertyValue ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b @@ -313,7 +313,7 @@ final void doTest(TestModel testModel, Class indexedFieldType firstIndexedFieldValues, (Object[]) otherIndexedFieldValues ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); @@ -339,11 +339,11 @@ final void doTestExpectMissing(TestModel testModel, try ( SearchSession session = mapping.createSession() ) { E entity1 = testModel.newEntity( 1, propertyValue ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/DocumentIdDefaultBridgeIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/DocumentIdDefaultBridgeIT.java index d3d6a94e68c..299d8a824f9 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/DocumentIdDefaultBridgeIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/DocumentIdDefaultBridgeIT.java @@ -98,7 +98,7 @@ public void indexing() { try ( SearchSession session = mapping.createSession() ) { for ( I entityIdentifierValue : expectations.getEntityIdentifierValues() ) { Object entity = expectations.instantiateTypeWithIdentifierBridge1( entityIdentifierValue ); - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); } BackendMock.DocumentWorkCallListContext expectationSetter = backendMock.expectWorks( @@ -110,7 +110,7 @@ public void indexing() { b -> { } ); } - expectationSetter.preparedThenExecuted(); + expectationSetter.processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldBaseIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldBaseIT.java index 182eb598e91..c24550780b4 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldBaseIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldBaseIT.java @@ -299,12 +299,12 @@ public Integer getId() { try ( SearchSession session = mapping.createSession() ) { IndexedEntity entity = new IndexedEntity(); entity.id = 1; - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) // Stub backend is not supposed to use 'indexNullAs' option .add( "1", b -> b.field( "integer", null ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldContainerExtractorBaseIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldContainerExtractorBaseIT.java index 8f4c30fd803..31587a4346c 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldContainerExtractorBaseIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldContainerExtractorBaseIT.java @@ -79,12 +79,12 @@ public MyContainer getText() { IndexedEntity entity = new IndexedEntity(); entity.id = 1; entity.text = new MyContainer<>( "value1", "value2" ); - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) // Stub backend is not supposed to use 'indexNullAs' option .add( "1", b -> b.field( "text", "value1", "value2" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldDefaultBridgeIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldDefaultBridgeIT.java index c1f7562f8e1..c71a8c5b5eb 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldDefaultBridgeIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FieldDefaultBridgeIT.java @@ -115,7 +115,7 @@ public void indexing() { int id = 0; for ( V propertyValue : getPropertyValues() ) { Object entity = expectations.instantiateTypeWithValueBridge1( id, propertyValue ); - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); ++id; } @@ -134,7 +134,7 @@ public void indexing() { } ); ++id; } - expectationSetter.preparedThenExecuted(); + expectationSetter.processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FullTextFieldIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FullTextFieldIT.java index bcf47fd8ae5..cedacad8a58 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FullTextFieldIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/FullTextFieldIT.java @@ -401,13 +401,13 @@ private void doTestValidMapping(Class entityType, try ( SearchSession session = mapping.createSession() ) { E entity1 = newEntityFunction.apply( 1, propertyValue ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b .field( "myProperty", indexedFieldValue ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/IndexedEmbeddedBaseIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/IndexedEmbeddedBaseIT.java index 0511e688a31..3198764476f 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/IndexedEmbeddedBaseIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/IndexedEmbeddedBaseIT.java @@ -728,11 +728,11 @@ private void doTestEmbeddedRuntime(SearchMapping mapping, try ( SearchSession session = mapping.createSession() ) { E entity1 = newEntityFunction.apply( 1 ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "1", expectedDocumentContributor ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/KeywordFieldIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/KeywordFieldIT.java index 3f652bcb876..c5557b5c66a 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/KeywordFieldIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/KeywordFieldIT.java @@ -420,13 +420,13 @@ private void doTestValidMapping(Class entityType, try ( SearchSession session = mapping.createSession() ) { E entity1 = newEntityFunction.apply( 1, propertyValue ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b .field( "myProperty", indexedFieldValue ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java index 2ef8f37fca5..99aeff925be 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java @@ -115,21 +115,21 @@ public String getStringProperty() { entity.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { entity.stringProperty = "some string 2"; - session.getMainWorkPlan().update( entity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -196,21 +196,21 @@ public Contained getContained() { contained.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", contained.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { contained.stringProperty = "some string 2"; - session.getMainWorkPlan().update( entity, new String[] { "contained.stringProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "contained.stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", contained.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -373,22 +373,22 @@ public void explicitReindexing() { containedLevel2Entity.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); - session.getMainWorkPlan().add( containedLevel2Entity ); + session.indexingPlan().add( entity ); + session.indexingPlan().add( containedLevel2Entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", "constant" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { containedLevel2Entity.stringProperty = "some string"; - session.getMainWorkPlan().update( containedLevel2Entity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( containedLevel2Entity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", "constant" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -800,21 +800,21 @@ public List getStringProperty() { entity.stringProperty.add( "value1" ); try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", "value1" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { entity.stringProperty.add( "value2" ); - session.getMainWorkPlan().update( entity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", "value1", "value2" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java index 99384c2e8ea..d27838f5ca0 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java @@ -109,21 +109,21 @@ public String getStringProperty() { entity.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { entity.stringProperty = "some string 2"; - session.getMainWorkPlan().update( entity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -182,21 +182,21 @@ public String getStringProperty() { entity.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { entity.stringProperty = "some string 2"; - session.getMainWorkPlan().update( entity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", entity.stringProperty ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -306,23 +306,23 @@ public String getStringProperty() { containedEntity.stringProperty = "some string"; try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); - session.getMainWorkPlan().add( containedEntity ); + session.indexingPlan().add( entity ); + session.indexingPlan().add( containedEntity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b.field( "someField", "constant" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { containedEntity.stringProperty = "some string"; - session.getMainWorkPlan().update( containedEntity, new String[] { "stringProperty" } ); + session.indexingPlan().addOrUpdate( containedEntity, new String[] { "stringProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b.field( "someField", "constant" ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } @@ -698,7 +698,7 @@ public CustomEnum getEnumProperty() { try ( SearchSession session = mapping.createSession() ) { - session.getMainWorkPlan().add( entity ); + session.indexingPlan().add( entity ); backendMock.expectWorks( INDEX_NAME ) .add( "1", b -> b @@ -706,14 +706,14 @@ public CustomEnum getEnumProperty() { .field( "someField", entity.enumProperty.stringProperty ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); try ( SearchSession session = mapping.createSession() ) { entity.enumProperty = CustomEnum.VALUE2; - session.getMainWorkPlan().update( entity, new String[] { "enumProperty" } ); + session.indexingPlan().addOrUpdate( entity, new String[] { "enumProperty" } ); backendMock.expectWorks( INDEX_NAME ) .update( "1", b -> b @@ -721,7 +721,7 @@ public CustomEnum getEnumProperty() { .field( "someField", entity.enumProperty.stringProperty ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/GenericPropertyIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/GenericPropertyIT.java index 43db719122e..664c3cca63d 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/GenericPropertyIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/GenericPropertyIT.java @@ -70,7 +70,7 @@ public void index() { entity1.setGenericProperty( genericEntity ); genericEntity.setParent( entity1 ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> b @@ -80,7 +80,7 @@ public void index() { .field( "arrayContent", genericEntity.getArrayContent()[1] ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/ImplementedInterfaceIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/ImplementedInterfaceIT.java index a1abf488330..5ea4a5f109f 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/ImplementedInterfaceIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/ImplementedInterfaceIT.java @@ -46,11 +46,11 @@ public void setup() { public void index() { try ( SearchSession session = mapping.createSession() ) { IndexedPojo indexedPojo = new IndexedPojo( 1, "Using some other text here" ); - session.getMainWorkPlan().add( indexedPojo ); + session.indexingPlan().add( indexedPojo ); backendMock.expectWorks( IndexedPojo.class.getName() ).add( "1", b -> b .field( "text", "Using some other text here" ) - ).preparedThenExecuted(); + ).processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/PropertyInheritanceIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/PropertyInheritanceIT.java index 7819e6d3fea..aa59d77c5f4 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/PropertyInheritanceIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/model/PropertyInheritanceIT.java @@ -72,7 +72,7 @@ public void index() { entity1.setEmbedded( entity2 ); entity2.setEmbedding( entity1 ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> b @@ -83,7 +83,7 @@ public void index() { .field( "childDeclaredProperty", entity2.getChildDeclaredProperty() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/nonregression/mapping/definition/IndexNullAsOnNumericContainerIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/nonregression/mapping/definition/IndexNullAsOnNumericContainerIT.java index 91d8effdbb5..0c666b43463 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/nonregression/mapping/definition/IndexNullAsOnNumericContainerIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/nonregression/mapping/definition/IndexNullAsOnNumericContainerIT.java @@ -56,14 +56,14 @@ public void test() { entity1.getIntegerList().add( null ); entity1.getIntegerList().add( 2 ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "1", b -> b // Check that null values are forwarded as null to the backend (not as a String) .field( "integerList", 1, null, 2 ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/providedid/ProvidedIdIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/providedid/ProvidedIdIT.java index 70efa354c0f..5e59c418aa1 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/providedid/ProvidedIdIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/providedid/ProvidedIdIT.java @@ -52,11 +52,11 @@ class IndexedEntity { try ( SearchSession session = mapping.createSession() ) { IndexedEntity entity1 = new IndexedEntity(); - session.getMainWorkPlan().add( "42", entity1 ); + session.indexingPlan().add( "42", entity1 ); backendMock.expectWorks( INDEX_NAME ) .add( "42", b -> { } ) - .preparedThenExecuted(); + .processedThenExecuted(); } backendMock.verifyExpectationsMet(); @@ -96,7 +96,7 @@ class IndexedEntity { IndexedEntity entity1 = new IndexedEntity(); SubTest.expectException( - () -> session.getMainWorkPlan().add( entity1 ) + () -> session.indexingPlan().add( entity1 ) ) .assertThrown() .isInstanceOf( SearchException.class ) diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/AnnotationMappingRoutingIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/AnnotationMappingRoutingIT.java index 4510a54b5fc..7e1da5b6327 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/AnnotationMappingRoutingIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/AnnotationMappingRoutingIT.java @@ -67,7 +67,7 @@ public void index() { entity1.setCategory( EntityCategory.CATEGORY_2 ); entity1.setValue( "val1" ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( b -> b @@ -78,7 +78,7 @@ public void index() { .build() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } @@ -92,7 +92,7 @@ public void index_multiTenancy() { entity1.setCategory( EntityCategory.CATEGORY_2 ); entity1.setValue( "val1" ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( b -> b @@ -104,7 +104,7 @@ public void index_multiTenancy() { .build() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/ProgrammaticMappingRoutingIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/ProgrammaticMappingRoutingIT.java index 207f8b9af1b..6465a3c0ebb 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/ProgrammaticMappingRoutingIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/routing/ProgrammaticMappingRoutingIT.java @@ -72,7 +72,7 @@ public void index() { entity1.setCategory( EntityCategory.CATEGORY_2 ); entity1.setValue( "val1" ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( b -> b @@ -83,7 +83,7 @@ public void index() { .build() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } @@ -97,7 +97,7 @@ public void index_multiTenancy() { entity1.setCategory( EntityCategory.CATEGORY_2 ); entity1.setValue( "val1" ); - session.getMainWorkPlan().add( entity1 ); + session.indexingPlan().add( entity1 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( b -> b @@ -109,7 +109,7 @@ public void index_multiTenancy() { .build() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/AnnotationMappingSmokeIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/AnnotationMappingSmokeIT.java index fab5453f415..0998445da8e 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/AnnotationMappingSmokeIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/AnnotationMappingSmokeIT.java @@ -216,13 +216,13 @@ public void index() { entity2.getEmbeddingAsMap().add( entity5 ); entity3.getEmbeddingAsMap().add( entity5 ); - session.getMainWorkPlan().add( entity1 ); - session.getMainWorkPlan().add( entity2 ); - session.getMainWorkPlan().add( entity4 ); - session.getMainWorkPlan().delete( entity1 ); - session.getMainWorkPlan().add( entity3 ); - session.getMainWorkPlan().add( entity5 ); - session.getMainWorkPlan().add( entity6 ); + session.indexingPlan().add( entity1 ); + session.indexingPlan().add( entity2 ); + session.indexingPlan().add( entity4 ); + session.indexingPlan().delete( entity1 ); + session.indexingPlan().add( entity3 ); + session.indexingPlan().add( entity5 ); + session.indexingPlan().add( entity6 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "2", b -> b @@ -291,13 +291,13 @@ public void index() { .field( "date", entity6.getLocalDate() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( OtherIndexedEntity.INDEX ) .add( "4", b -> b .field( "numeric", entity4.getNumeric() ) .field( "numericAsString", String.valueOf( entity4.getNumeric() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( YetAnotherIndexedEntity.INDEX ) .add( "5", b -> b .field( "myLocalDateField", entity5.getLocalDate() ) @@ -358,7 +358,7 @@ public void index() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/ProgrammaticMappingSmokeIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/ProgrammaticMappingSmokeIT.java index 76ced1190cf..9d8971379e0 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/ProgrammaticMappingSmokeIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/smoke/ProgrammaticMappingSmokeIT.java @@ -266,13 +266,13 @@ public void index() { entity2.getEmbeddingAsMap().add( entity5 ); entity3.getEmbeddingAsMap().add( entity5 ); - session.getMainWorkPlan().add( entity1 ); - session.getMainWorkPlan().add( entity2 ); - session.getMainWorkPlan().add( entity4 ); - session.getMainWorkPlan().delete( entity1 ); - session.getMainWorkPlan().add( entity3 ); - session.getMainWorkPlan().add( entity5 ); - session.getMainWorkPlan().add( entity6 ); + session.indexingPlan().add( entity1 ); + session.indexingPlan().add( entity2 ); + session.indexingPlan().add( entity4 ); + session.indexingPlan().delete( entity1 ); + session.indexingPlan().add( entity3 ); + session.indexingPlan().add( entity5 ); + session.indexingPlan().add( entity6 ); backendMock.expectWorks( IndexedEntity.INDEX ) .add( "2", b -> b @@ -341,13 +341,13 @@ public void index() { .field( "date", entity6.getLocalDate() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( OtherIndexedEntity.INDEX ) .add( "4", b -> b .field( "numeric", entity4.getNumeric() ) .field( "numericAsString", String.valueOf( entity4.getNumeric() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( YetAnotherIndexedEntity.INDEX ) .add( "5", b -> b .field( "myLocalDateField", entity5.getLocalDate() ) @@ -408,7 +408,7 @@ public void index() { ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/AnnotationMappingGeoPointBindingIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/AnnotationMappingGeoPointBindingIT.java index 5f970096e6f..54e168ae739 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/AnnotationMappingGeoPointBindingIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/AnnotationMappingGeoPointBindingIT.java @@ -91,9 +91,9 @@ public double getLongitude() { entity3.setId( 3 ); entity3.setCoord( new CustomCoordinates( 3.1d, 3.2d ) ); - session.getMainWorkPlan().add( entity1 ); - session.getMainWorkPlan().add( entity2 ); - session.getMainWorkPlan().add( entity3 ); + session.indexingPlan().add( entity1 ); + session.indexingPlan().add( entity2 ); + session.indexingPlan().add( entity3 ); backendMock.expectWorks( GeoPointOnTypeEntity.INDEX ) .add( "1", b -> b @@ -104,13 +104,13 @@ public double getLongitude() { entity1.getWorkLatitude(), entity1.getWorkLongitude() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( GeoPointOnCoordinatesPropertyEntity.INDEX ) .add( "2", b -> b .field( "coord", entity2.getCoord() ) .field( "location", entity2.getCoord() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( GeoPointOnCustomCoordinatesPropertyEntity.INDEX ) .add( "3", b -> b .field( "coord", GeoPoint.of( @@ -120,7 +120,7 @@ public double getLongitude() { entity3.getCoord().getLat(), entity3.getCoord().getLon() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/ProgrammaticMappingGeoPointBindingIT.java b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/ProgrammaticMappingGeoPointBindingIT.java index c13a8be2c73..8483c1b677b 100644 --- a/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/ProgrammaticMappingGeoPointBindingIT.java +++ b/integrationtest/mapper/pojo/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/spatial/ProgrammaticMappingGeoPointBindingIT.java @@ -138,9 +138,9 @@ public double getLongitude() { entity3.setId( 3 ); entity3.setCoord( new CustomCoordinates( 3.1d, 3.2d ) ); - session.getMainWorkPlan().add( entity1 ); - session.getMainWorkPlan().add( entity2 ); - session.getMainWorkPlan().add( entity3 ); + session.indexingPlan().add( entity1 ); + session.indexingPlan().add( entity2 ); + session.indexingPlan().add( entity3 ); backendMock.expectWorks( GeoPointOnTypeEntity.INDEX ) .add( "1", b -> b @@ -151,13 +151,13 @@ public double getLongitude() { entity1.getWorkLatitude(), entity1.getWorkLongitude() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( GeoPointOnCoordinatesPropertyEntity.INDEX ) .add( "2", b -> b .field( "coord", entity2.getCoord() ) .field( "location", entity2.getCoord() ) ) - .preparedThenExecuted(); + .processedThenExecuted(); backendMock.expectWorks( GeoPointOnCustomCoordinatesPropertyEntity.INDEX ) .add( "3", b -> b .field( "coord", GeoPoint.of( @@ -167,7 +167,7 @@ public double getLongitude() { entity3.getCoord().getLat(), entity3.getCoord().getLon() ) ) ) - .preparedThenExecuted(); + .processedThenExecuted(); } } diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMapping.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMapping.java index 9ac1ec771e0..3b323ea3c4e 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMapping.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMapping.java @@ -37,7 +37,7 @@ default SearchScope scope(Class type) { SearchScope scope(Collection> types); /** - * @return A new session allowing to {@link SearchSession#getMainWorkPlan() index} or + * @return A new session allowing to {@link SearchSession#indexingPlan() index} or * {@link SearchSession#search(Class) search for} entities. * @see #createSessionWithOptions() */ diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMappingBuilder.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMappingBuilder.java index a405a122f7a..43ca1b1842f 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMappingBuilder.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/SearchMappingBuilder.java @@ -67,7 +67,7 @@ public ContainerExtractorConfigurationContext containerExtractors() { /** * @param type The type to be considered as an entity type, i.e. a type that may be indexed - * and whose instances be added/updated/deleted through the {@link SearchSession#getMainWorkPlan() work plan}. + * and whose instances be added/updated/deleted through the {@link SearchSession#indexingPlan() indexing plan}. * @return {@code this}, for call chaining. */ public SearchMappingBuilder addEntityType(Class type) { @@ -77,7 +77,7 @@ public SearchMappingBuilder addEntityType(Class type) { /** * @param types The types to be considered as entity types, i.e. types that may be indexed - * and whose instances be added/updated/deleted through the {@link SearchSession#getMainWorkPlan() work plan}. + * and whose instances be added/updated/deleted through the {@link SearchSession#indexingPlan() indexing plan}. * @return {@code this}, for call chaining. */ public SearchMappingBuilder addEntityTypes(Set> types) { diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSession.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSession.java index d96565bb42c..e0ea9c70eb1 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSession.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSession.java @@ -12,12 +12,12 @@ import org.hibernate.search.engine.search.query.dsl.SearchQueryHitTypeStep; import org.hibernate.search.mapper.javabean.common.EntityReference; import org.hibernate.search.mapper.javabean.scope.SearchScope; -import org.hibernate.search.mapper.javabean.work.SearchWorkPlan; +import org.hibernate.search.mapper.javabean.work.SearchIndexingPlan; public interface SearchSession extends AutoCloseable { /** - * Execute any pending work in the {@link #getMainWorkPlan() main work plan} + * Execute any pending work in the {@link #indexingPlan() indexing plan} * and release any resource held by this session. */ @Override @@ -79,8 +79,8 @@ default SearchScope scope(Class type) { SearchScope scope(Collection> types); /** - * @return The main work plan for this session. It will be executed upon closing this session. + * @return The indexing plan for this session. It will be executed upon closing this session. */ - SearchWorkPlan getMainWorkPlan(); + SearchIndexingPlan indexingPlan(); } diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSessionBuilder.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSessionBuilder.java index f4f3f41b255..b88e7039e99 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSessionBuilder.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/SearchSessionBuilder.java @@ -19,13 +19,13 @@ public interface SearchSessionBuilder { SearchSessionBuilder tenantId(String tenantId); /** - * @param commitStrategy The commit strategy for indexing works added to the {@link SearchSession#getMainWorkPlan() main work plan}. + * @param commitStrategy The commit strategy for indexing works added to the {@link SearchSession#indexingPlan() indexing plan}. * @return {@code this} for method chaining. */ SearchSessionBuilder commitStrategy(DocumentCommitStrategy commitStrategy); /** - * @param refreshStrategy The refresh strategy for indexing works added to the {@link SearchSession#getMainWorkPlan() main work plan}. + * @param refreshStrategy The refresh strategy for indexing works added to the {@link SearchSession#indexingPlan() indexing plan}. * @return {@code this} for method chaining. */ SearchSessionBuilder refreshStrategy(DocumentRefreshStrategy refreshStrategy); diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSession.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSession.java index 0a0fb2803aa..72f1e14fb59 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSession.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/session/impl/JavaBeanSearchSession.java @@ -20,8 +20,8 @@ import org.hibernate.search.mapper.javabean.session.SearchSession; import org.hibernate.search.mapper.javabean.session.SearchSessionBuilder; import org.hibernate.search.mapper.javabean.session.context.impl.JavaBeanBackendSessionContext; -import org.hibernate.search.mapper.javabean.work.SearchWorkPlan; -import org.hibernate.search.mapper.javabean.work.impl.SearchWorkPlanImpl; +import org.hibernate.search.mapper.javabean.work.SearchIndexingPlan; +import org.hibernate.search.mapper.javabean.work.impl.SearchIndexingPlanImpl; import org.hibernate.search.mapper.javabean.common.impl.EntityReferenceImpl; import org.hibernate.search.mapper.pojo.mapping.spi.PojoMappingDelegate; import org.hibernate.search.mapper.pojo.model.spi.PojoRuntimeIntrospector; @@ -37,7 +37,7 @@ public class JavaBeanSearchSession extends AbstractPojoSearchSession private final DocumentCommitStrategy commitStrategy; private final DocumentRefreshStrategy refreshStrategy; - private SearchWorkPlanImpl workPlan; + private SearchIndexingPlanImpl indexingPlan; private JavaBeanSearchSession(JavaBeanSearchSessionBuilder builder) { super( builder, builder.buildSessionContext() ); @@ -49,8 +49,8 @@ private JavaBeanSearchSession(JavaBeanSearchSessionBuilder builder) { @Override public void close() { - if ( workPlan != null ) { - CompletableFuture future = workPlan.execute(); + if ( indexingPlan != null ) { + CompletableFuture future = indexingPlan.execute(); future.join(); } } @@ -71,11 +71,11 @@ public SearchScopeImpl scope(Collection> types) { } @Override - public SearchWorkPlan getMainWorkPlan() { - if ( workPlan == null ) { - workPlan = new SearchWorkPlanImpl( getDelegate().createWorkPlan( commitStrategy, refreshStrategy ) ); + public SearchIndexingPlan indexingPlan() { + if ( indexingPlan == null ) { + indexingPlan = new SearchIndexingPlanImpl( getDelegate().createIndexingPlan( commitStrategy, refreshStrategy ) ); } - return workPlan; + return indexingPlan; } @Override diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchWorkPlan.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchIndexingPlan.java similarity index 83% rename from mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchWorkPlan.java rename to mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchIndexingPlan.java index 66e8dd849b8..85ef8723912 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchWorkPlan.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/SearchIndexingPlan.java @@ -7,16 +7,13 @@ package org.hibernate.search.mapper.javabean.work; /** - * A set of works to be executed on mapped indexes. + * An interface for indexing entities in the context of a session. *

- * Works are accumulated when methods such as {@link #add(Object)} or {@link #update(Object, Object)} are called, - * and executed only when the search manager is closed. - *

- * Relative ordering of works within a work plan will be preserved. + * This class is stateful: it queues operations internally to apply them when the session is closed. *

* This contract is not thread-safe. */ -public interface SearchWorkPlan { +public interface SearchIndexingPlan { /** * Add an entity to the index, assuming that the entity is absent from the index. @@ -32,7 +29,7 @@ public interface SearchWorkPlan { *

* Note: depending on the backend, this may lead to errors or duplicate entries in the index * if the entity was actually already present in the index before this call. - * When in doubt, you should rather use {@link #update(Object, Object)} or {@link #update(Object)}. + * When in doubt, you should rather use {@link #addOrUpdate(Object, Object)} or {@link #addOrUpdate(Object)}. * * @param providedId A value to extract the document ID from. * Generally the expected value is the entity ID, but a different value may be expected depending on the mapping. @@ -44,11 +41,11 @@ public interface SearchWorkPlan { /** * Update an entity in the index, or add it if it's absent from the index. *

- * Shorthand for {@code update(null, entity)}; see {@link #update(Object, Object)}. + * Shorthand for {@code update(null, entity)}; see {@link #addOrUpdate(Object, Object)}. * * @param entity The entity to update in the index. */ - void update(Object entity); + void addOrUpdate(Object entity); /** * Update an entity in the index, or add it if it's absent from the index. @@ -58,7 +55,7 @@ public interface SearchWorkPlan { * If {@code null}, Hibernate Search will attempt to extract the ID from the entity. * @param entity The entity to update in the index. */ - void update(Object providedId, Object entity); + void addOrUpdate(Object providedId, Object entity); /** * Update an entity in the index, or add it if it's absent from the index, @@ -67,13 +64,13 @@ public interface SearchWorkPlan { *

* Assumes that the entity may already be present in the index. *

- * Shorthand for {@code update(null, entity, dirtyPaths)}; see {@link #update(Object, Object)}. + * Shorthand for {@code update(null, entity, dirtyPaths)}; see {@link #addOrUpdate(Object, Object)}. * * @param entity The entity to update in the index. * @param dirtyPaths The paths to consider dirty, formatted using the dot-notation * ("directEntityProperty.nestedPropery"). */ - void update(Object entity, String... dirtyPaths); + void addOrUpdate(Object entity, String... dirtyPaths); /** * Update an entity in the index, or add it if it's absent from the index, @@ -87,7 +84,7 @@ public interface SearchWorkPlan { * @param dirtyPaths The paths to consider dirty, formatted using the dot-notation * ("directEntityProperty.nestedPropery"). */ - void update(Object providedId, Object entity, String... dirtyPaths); + void addOrUpdate(Object providedId, Object entity, String... dirtyPaths); /** * Delete an entity from the index. diff --git a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchWorkPlanImpl.java b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanImpl.java similarity index 54% rename from mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchWorkPlanImpl.java rename to mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanImpl.java index 9eebd7fc9aa..56ecd45b1d2 100644 --- a/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchWorkPlanImpl.java +++ b/mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/work/impl/SearchIndexingPlanImpl.java @@ -8,14 +8,14 @@ import java.util.concurrent.CompletableFuture; -import org.hibernate.search.mapper.javabean.work.SearchWorkPlan; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.javabean.work.SearchIndexingPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; -public class SearchWorkPlanImpl implements SearchWorkPlan { +public class SearchIndexingPlanImpl implements SearchIndexingPlan { - private final PojoWorkPlan delegate; + private final PojoIndexingPlan delegate; - public SearchWorkPlanImpl(PojoWorkPlan delegate) { + public SearchIndexingPlanImpl(PojoIndexingPlan delegate) { this.delegate = delegate; } @@ -30,23 +30,23 @@ public void add(Object providedId, Object entity) { } @Override - public void update(Object entity) { - delegate.update( entity ); + public void addOrUpdate(Object entity) { + delegate.addOrUpdate( entity ); } @Override - public void update(Object providedId, Object entity) { - delegate.update( providedId, entity ); + public void addOrUpdate(Object providedId, Object entity) { + delegate.addOrUpdate( providedId, entity ); } @Override - public void update(Object entity, String... dirtyPaths) { - delegate.update( entity, dirtyPaths ); + public void addOrUpdate(Object entity, String... dirtyPaths) { + delegate.addOrUpdate( entity, dirtyPaths ); } @Override - public void update(Object providedId, Object entity, String... dirtyPaths) { - delegate.update( providedId, entity, dirtyPaths ); + public void addOrUpdate(Object providedId, Object entity, String... dirtyPaths) { + delegate.addOrUpdate( providedId, entity, dirtyPaths ); } @Override @@ -59,10 +59,6 @@ public void delete(Object providedId, Object entity) { delegate.delete( providedId, entity ); } - public void prepare() { - delegate.prepare(); - } - public CompletableFuture execute() { return delegate.execute(); } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/automaticindexing/AutomaticIndexingStrategyName.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/automaticindexing/AutomaticIndexingStrategyName.java index 602ad4a51c3..d2be6039371 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/automaticindexing/AutomaticIndexingStrategyName.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/automaticindexing/AutomaticIndexingStrategyName.java @@ -22,7 +22,7 @@ public enum AutomaticIndexingStrategyName { /** * No automatic indexing is performed: * indexing will only happen when explicitly requested through APIs - * such as {@link SearchSession#writePlan()}. + * such as {@link SearchSession#indexingPlan()}. */ NONE("none"), diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerContextProvider.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerContextProvider.java index 8ee3fa315c9..600925bfd7f 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerContextProvider.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerContextProvider.java @@ -8,7 +8,7 @@ import org.hibernate.engine.spi.SessionImplementor; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; public interface HibernateOrmListenerContextProvider { @@ -16,6 +16,6 @@ public interface HibernateOrmListenerContextProvider { AutomaticIndexingSynchronizationStrategy getSynchronizationStrategy(); - PojoWorkPlan getCurrentWorkPlan(SessionImplementor session, boolean createIfDoesNotExist); + PojoIndexingPlan getCurrentIndexingPlan(SessionImplementor session, boolean createIfDoesNotExist); } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerTypeContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerTypeContext.java index 4de997793f3..f9ea965276b 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerTypeContext.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateOrmListenerTypeContext.java @@ -8,6 +8,6 @@ public interface HibernateOrmListenerTypeContext { - Object toWorkPlanProvidedId(Object entityId); + Object toIndexingPlanProvidedId(Object entityId); } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java index f815a5e8675..08e8b8993cf 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java @@ -36,7 +36,7 @@ import org.hibernate.persister.entity.EntityPersister; import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.common.logging.impl.LoggerFactory; /** @@ -75,10 +75,10 @@ public void onPostDelete(PostDeleteEvent event) { final Object entity = event.getEntity(); HibernateOrmListenerTypeContext typeContext = getTypeContext( contextProvider, entity ); if ( typeContext != null ) { - Object providedId = typeContext.toWorkPlanProvidedId( event.getId() ); + Object providedId = typeContext.toIndexingPlanProvidedId( event.getId() ); // TODO Check whether deletes work with hibernate.use_identifier_rollback enabled (see HSEARCH-650) // I think they should, but better safe than sorry - getCurrentWorkPlan( contextProvider, event.getSession() ) + getCurrentIndexingPlan( contextProvider, event.getSession() ) .delete( providedId, entity ); } } @@ -89,8 +89,8 @@ public void onPostInsert(PostInsertEvent event) { final Object entity = event.getEntity(); HibernateOrmListenerTypeContext typeContext = getTypeContext( contextProvider, entity ); if ( typeContext != null ) { - Object providedId = typeContext.toWorkPlanProvidedId( event.getId() ); - getCurrentWorkPlan( contextProvider, event.getSession() ) + Object providedId = typeContext.toIndexingPlanProvidedId( event.getId() ); + getCurrentIndexingPlan( contextProvider, event.getSession() ) .add( providedId, entity ); } } @@ -101,13 +101,13 @@ public void onPostUpdate(PostUpdateEvent event) { final Object entity = event.getEntity(); HibernateOrmListenerTypeContext typeContext = getTypeContext( contextProvider, entity ); if ( typeContext != null ) { - PojoWorkPlan workPlan = getCurrentWorkPlan( contextProvider, event.getSession() ); - Object providedId = typeContext.toWorkPlanProvidedId( event.getId() ); + PojoIndexingPlan plan = getCurrentIndexingPlan( contextProvider, event.getSession() ); + Object providedId = typeContext.toIndexingPlanProvidedId( event.getId() ); if ( dirtyCheckingEnabled ) { - workPlan.update( providedId, entity, getDirtyPropertyNames( event ) ); + plan.addOrUpdate( providedId, entity, getDirtyPropertyNames( event ) ); } else { - workPlan.update( providedId, entity ); + plan.addOrUpdate( providedId, entity ); } } } @@ -135,15 +135,15 @@ public void onPostUpdateCollection(PostCollectionUpdateEvent event) { public void onFlush(FlushEvent event) { HibernateOrmListenerContextProvider contextProvider = state.getContextProvider(); EventSource session = event.getSession(); - PojoWorkPlan currentWorkPlan = getCurrentWorkPlan( contextProvider, session ); - currentWorkPlan.prepare(); + PojoIndexingPlan plan = getCurrentIndexingPlan( contextProvider, session ); + plan.process(); // flush within a transaction should trigger only the prepare phase, // since the execute phase is supposed to be triggered by the transaction commit if ( !session.isTransactionInProgress() ) { // out of transaction it will trigger both of them AutomaticIndexingSynchronizationStrategy synchronizationStrategy = contextProvider.getSynchronizationStrategy(); - synchronizationStrategy.handleFuture( currentWorkPlan.execute() ); + synchronizationStrategy.handleFuture( plan.execute() ); } } @@ -159,17 +159,17 @@ public void onAutoFlush(AutoFlushEvent event) throws HibernateException { // */ // return; // } - getCurrentWorkPlan( state.getContextProvider(), event.getSession() ).prepare(); + getCurrentIndexingPlan( state.getContextProvider(), event.getSession() ).process(); } @Override public void onClear(ClearEvent event) { EventSource session = event.getSession(); - PojoWorkPlan workPlan = getCurrentWorkPlanIfExisting( state.getContextProvider(), session ); + PojoIndexingPlan plan = getCurrentIndexingPlanIfExisting( state.getContextProvider(), session ); // skip the clearNotPrepared operation in case there has been no one to clear - if ( workPlan != null ) { - workPlan.clearNotPrepared(); + if ( plan != null ) { + plan.discardNotProcessed(); } } @@ -181,14 +181,14 @@ private HibernateOrmListenerContextProvider doInitialize( return contextProvider; } - private PojoWorkPlan getCurrentWorkPlan(HibernateOrmListenerContextProvider contextProvider, + private PojoIndexingPlan getCurrentIndexingPlan(HibernateOrmListenerContextProvider contextProvider, SessionImplementor sessionImplementor) { - return contextProvider.getCurrentWorkPlan( sessionImplementor, true ); + return contextProvider.getCurrentIndexingPlan( sessionImplementor, true ); } - private PojoWorkPlan getCurrentWorkPlanIfExisting(HibernateOrmListenerContextProvider contextProvider, + private PojoIndexingPlan getCurrentIndexingPlanIfExisting(HibernateOrmListenerContextProvider contextProvider, SessionImplementor sessionImplementor) { - return contextProvider.getCurrentWorkPlan( sessionImplementor, false ); + return contextProvider.getCurrentIndexingPlan( sessionImplementor, false ); } private HibernateOrmListenerTypeContext getTypeContext(HibernateOrmListenerContextProvider contextProvider, @@ -208,8 +208,8 @@ private void processCollectionEvent(AbstractCollectionEvent event) { HibernateOrmListenerTypeContext typeContext = getTypeContext( contextProvider, entity ); if ( typeContext != null ) { - PojoWorkPlan workPlan = getCurrentWorkPlan( contextProvider, event.getSession() ); - Object providedId = typeContext.toWorkPlanProvidedId( event.getAffectedOwnerIdOrNull() ); + PojoIndexingPlan plan = getCurrentIndexingPlan( contextProvider, event.getSession() ); + Object providedId = typeContext.toIndexingPlanProvidedId( event.getAffectedOwnerIdOrNull() ); if ( dirtyCheckingEnabled ) { PersistentCollection persistentCollection = event.getCollection(); @@ -220,22 +220,22 @@ private void processCollectionEvent(AbstractCollectionEvent event) { if ( collectionRole != null ) { /* * Collection role will only be non-null for PostCollectionUpdateEvents. - * For those events, we can pass the role to the workPlan + * For those events, we can pass the role to the indexing plan * which can then decide whether to reindex based on whether the collection * has any impact on indexing. */ - workPlan.update( providedId, entity, collectionRole ); + plan.addOrUpdate( providedId, entity, collectionRole ); } else { /* * We don't know which collection is being changed, * so we have to default to reindexing, just in case. */ - workPlan.update( providedId, entity ); + plan.addOrUpdate( providedId, entity ); } } else { - workPlan.update( providedId, entity ); + plan.addOrUpdate( providedId, entity ); } } } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmContainedTypeContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmContainedTypeContext.java index b3491884315..59cbad3419e 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmContainedTypeContext.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmContainedTypeContext.java @@ -17,9 +17,9 @@ private HibernateOrmContainedTypeContext(HibernateOrmContainedTypeContext.Builde } @Override - public Object toWorkPlanProvidedId(Object entityId) { + public Object toIndexingPlanProvidedId(Object entityId) { // The concept of document ID is not relevant for contained types, - // so we always provide the entity ID to work plans + // so we always provide the entity ID to indexing plans return entityId; } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmIndexedTypeContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmIndexedTypeContext.java index a389cfee93d..638205915bc 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmIndexedTypeContext.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmIndexedTypeContext.java @@ -58,7 +58,7 @@ public String getIndexName() { } @Override - public Object toWorkPlanProvidedId(Object entityId) { + public Object toIndexingPlanProvidedId(Object entityId) { if ( documentIdIsEntityId ) { return entityId; } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMapping.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMapping.java index 93df0be8ae3..3a00b3cd390 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMapping.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMapping.java @@ -40,8 +40,8 @@ import org.hibernate.search.mapper.pojo.mapping.spi.AbstractPojoMappingImplementor; import org.hibernate.search.mapper.pojo.mapping.spi.PojoMappingDelegate; import org.hibernate.search.mapper.pojo.scope.spi.PojoScopeDelegate; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.common.AssertionFailure; import org.hibernate.search.util.common.logging.impl.LoggerFactory; @@ -145,9 +145,9 @@ public HibernateOrmMapping toConcreteType() { } @Override - public PojoSessionWorkExecutor createSessionWorkExecutor(SessionImplementor sessionImplementor, + public PojoIndexer createIndexer(SessionImplementor sessionImplementor, DocumentCommitStrategy commitStrategy) { - return HibernateOrmSearchSession.get( this, sessionImplementor ).createSessionWorkExecutor( commitStrategy ); + return HibernateOrmSearchSession.get( this, sessionImplementor ).createIndexer( commitStrategy ); } @Override @@ -181,8 +181,8 @@ public DetachedBackendSessionContext getDetachedBackendSessionContext(String ten } @Override - public PojoWorkPlan getCurrentWorkPlan(SessionImplementor session, boolean createIfDoesNotExist) { - return HibernateOrmSearchSession.get( this, session ).getCurrentWorkPlan( createIfDoesNotExist ); + public PojoIndexingPlan getCurrentIndexingPlan(SessionImplementor session, boolean createIfDoesNotExist) { + return HibernateOrmSearchSession.get( this, session ).getCurrentIndexingPlan( createIfDoesNotExist ); } @Override diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/BatchCoordinator.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/BatchCoordinator.java index c762d7a6de7..af29a7bb8d9 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/BatchCoordinator.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/BatchCoordinator.java @@ -17,7 +17,7 @@ import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.massindexing.monitor.MassIndexingMonitor; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; import org.hibernate.search.util.common.AssertionFailure; import org.hibernate.search.util.common.impl.Executors; import org.hibernate.search.util.common.logging.impl.LoggerFactory; @@ -39,7 +39,7 @@ public class BatchCoordinator extends ErrorHandledRunnable { private final HibernateOrmMassIndexingMappingContext mappingContext; private final DetachedBackendSessionContext sessionContext; private final Set> rootEntities; //entity types to reindex excluding all subtypes of each-other - private final PojoScopeWorkExecutor scopeWorkExecutor; + private final PojoScopeWorkspace scopeWorkspace; private final int typesToIndexInParallel; private final int documentBuilderThreads; @@ -57,7 +57,7 @@ public class BatchCoordinator extends ErrorHandledRunnable { public BatchCoordinator(HibernateOrmMassIndexingMappingContext mappingContext, DetachedBackendSessionContext sessionContext, - Set> rootEntities, PojoScopeWorkExecutor scopeWorkExecutor, + Set> rootEntities, PojoScopeWorkspace scopeWorkspace, int typesToIndexInParallel, int documentBuilderThreads, CacheMode cacheMode, int objectLoadingBatchSize, long objectsLimit, boolean optimizeAtEnd, boolean purgeAtStart, boolean optimizeAfterPurge, MassIndexingMonitor monitor, @@ -65,7 +65,7 @@ public BatchCoordinator(HibernateOrmMassIndexingMappingContext mappingContext, this.mappingContext = mappingContext; this.sessionContext = sessionContext; this.rootEntities = rootEntities; - this.scopeWorkExecutor = scopeWorkExecutor; + this.scopeWorkspace = scopeWorkspace; this.idFetchSize = idFetchSize; this.transactionTimeout = transactionTimeout; @@ -145,16 +145,16 @@ private void doBatchWork() throws InterruptedException { */ private void afterBatch() { if ( this.optimizeAtEnd ) { - scopeWorkExecutor.optimize().join(); + scopeWorkspace.optimize().join(); } - scopeWorkExecutor.flush().join(); + scopeWorkspace.flush().join(); } /** * batch indexing has been interrupted : flush to apply all index update realized before interruption */ private void afterBatchOnInterruption() { - scopeWorkExecutor.flush().join(); + scopeWorkspace.flush().join(); } /** @@ -162,9 +162,9 @@ private void afterBatchOnInterruption() { */ private void beforeBatch() { if ( this.purgeAtStart ) { - scopeWorkExecutor.purge().join(); + scopeWorkspace.purge().join(); if ( this.optimizeAfterPurge ) { - scopeWorkExecutor.optimize().join(); + scopeWorkspace.optimize().join(); } } } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/HibernateOrmMassIndexingMappingContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/HibernateOrmMassIndexingMappingContext.java index eb8b0693350..fda143d6cd0 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/HibernateOrmMassIndexingMappingContext.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/HibernateOrmMassIndexingMappingContext.java @@ -9,13 +9,13 @@ import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionImplementor; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; public interface HibernateOrmMassIndexingMappingContext { SessionFactoryImplementor getSessionFactory(); - PojoSessionWorkExecutor createSessionWorkExecutor(SessionImplementor sessionImplementor, + PojoIndexer createIndexer(SessionImplementor sessionImplementor, DocumentCommitStrategy commitStrategy); } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/IdentifierConsumerDocumentProducer.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/IdentifierConsumerDocumentProducer.java index 6ccfdfe6e6a..21b54eb967c 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/IdentifierConsumerDocumentProducer.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/IdentifierConsumerDocumentProducer.java @@ -26,7 +26,7 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.massindexing.monitor.MassIndexingMonitor; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; import org.hibernate.search.util.common.impl.Futures; import org.hibernate.search.util.common.logging.impl.LoggerFactory; @@ -114,7 +114,7 @@ public void run() { private void loadAllFromQueue(SessionImplementor session) throws Exception { // The search session will be closed automatically with the ORM session - PojoSessionWorkExecutor workExecutor = mappingContext.createSessionWorkExecutor( + PojoIndexer indexer = mappingContext.createIndexer( session, DocumentCommitStrategy.NONE ); try { @@ -123,7 +123,7 @@ private void loadAllFromQueue(SessionImplementor session) throws Exception { idList = source.take(); if ( idList != null ) { log.tracef( "received list of ids %s", idList ); - loadList( idList, session, workExecutor ); + loadList( idList, session, indexer ); } } while ( idList != null ); @@ -141,9 +141,9 @@ private void loadAllFromQueue(SessionImplementor session) throws Exception { * * @param listIds the list of entity identifiers (of type * @param session the session to be used - * @param workExecutor the work executor to be used + * @param indexer the indexer to be used */ - private void loadList(List listIds, SessionImplementor session, PojoSessionWorkExecutor workExecutor) throws Exception { + private void loadList(List listIds, SessionImplementor session, PojoIndexer indexer) throws Exception { try { beginTransaction( session ); @@ -160,7 +160,7 @@ private void loadList(List listIds, SessionImplementor session, PojoSessionWo .setHibernateFlushMode( FlushMode.MANUAL ) .setFetchSize( listIds.size() ); - indexAllQueue( workExecutor, query.getResultList() ); + indexAllQueue( indexer, query.getResultList() ); session.clear(); } finally { @@ -196,7 +196,7 @@ private void rollbackTransaction(SessionImplementor session) { } } - private void indexAllQueue(PojoSessionWorkExecutor workExecutor, List entities) throws InterruptedException { + private void indexAllQueue(PojoIndexer indexer, List entities) throws InterruptedException { if ( entities == null || entities.isEmpty() ) { return; } @@ -206,7 +206,7 @@ private void indexAllQueue(PojoSessionWorkExecutor workExecutor, List entitie for ( int i = 0; i < entities.size(); i++ ) { final E entity = entities.get( i ); - futures[i] = index( workExecutor, entity ); + futures[i] = index( indexer, entity ); futures[i].exceptionally( exception -> { handleException( entity, exception ); return null; @@ -218,14 +218,14 @@ private void indexAllQueue(PojoSessionWorkExecutor workExecutor, List entitie monitor.documentsAdded( entities.size() ); } - private CompletableFuture index(PojoSessionWorkExecutor workExecutor, E entity) throws InterruptedException { + private CompletableFuture index(PojoIndexer indexer, E entity) throws InterruptedException { // abort if the thread has been interrupted while not in wait(), I/O or similar which themselves would have // raised the InterruptedException if ( Thread.currentThread().isInterrupted() ) { throw new InterruptedException(); } - CompletableFuture future = Futures.create( () -> workExecutor.add( entity ) + CompletableFuture future = Futures.create( () -> indexer.add( entity ) .exceptionally( exception -> { handleException( entity, exception ); return null; diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/MassIndexerImpl.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/MassIndexerImpl.java index d3636ef4d21..34afc8d457d 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/MassIndexerImpl.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/massindexing/impl/MassIndexerImpl.java @@ -18,7 +18,7 @@ import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.massindexing.monitor.MassIndexingMonitor; import org.hibernate.search.mapper.orm.massindexing.monitor.impl.SimpleIndexingProgressMonitor; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; import org.hibernate.search.util.common.logging.impl.LoggerFactory; /** @@ -37,7 +37,7 @@ public class MassIndexerImpl implements MassIndexer { private final DetachedBackendSessionContext sessionContext; private final Set> rootEntities; - private final PojoScopeWorkExecutor scopeWorkExecutor; + private final PojoScopeWorkspace scopeWorkspace; // default settings defined here: private int typesToIndexInParallel = 1; @@ -55,11 +55,11 @@ public class MassIndexerImpl implements MassIndexer { public MassIndexerImpl(HibernateOrmMassIndexingMappingContext mappingContext, Set> targetedIndexedTypes, DetachedBackendSessionContext sessionContext, - PojoScopeWorkExecutor scopeWorkExecutor) { + PojoScopeWorkspace scopeWorkspace) { this.mappingContext = mappingContext; this.sessionContext = sessionContext; this.rootEntities = toRootEntities( targetedIndexedTypes ); - this.scopeWorkExecutor = scopeWorkExecutor; + this.scopeWorkspace = scopeWorkspace; // TODO HSEARCH-3057 use a JMX monitor if JMX is enabled (see Search 5) this.monitor = new SimpleIndexingProgressMonitor(); @@ -172,7 +172,7 @@ public void startAndWait() throws InterruptedException { protected BatchCoordinator createCoordinator() { return new BatchCoordinator( mappingContext, sessionContext, - rootEntities, scopeWorkExecutor, + rootEntities, scopeWorkspace, typesToIndexInParallel, documentBuilderThreads, cacheMode, objectLoadingBatchSize, objectsLimit, optimizeAtEnd, purgeAtStart, optimizeAfterPurge, diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java index 7870dfcde57..c6d8d329a97 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/SearchScope.java @@ -17,7 +17,7 @@ import org.hibernate.search.engine.search.query.dsl.SearchQueryPredicateStep; import org.hibernate.search.engine.search.sort.dsl.SearchSortFactory; import org.hibernate.search.mapper.orm.massindexing.MassIndexer; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.mapper.orm.search.query.dsl.HibernateOrmSearchQueryHitTypeStep; import org.hibernate.search.mapper.orm.common.EntityReference; @@ -96,25 +96,25 @@ public interface SearchScope { SearchAggregationFactory aggregation(); /** - * Create a {@link SearchWriter} for the indexes mapped to types in this scope, or to any of their sub-types. + * Create a {@link SearchWorkspace} for the indexes mapped to types in this scope, or to any of their sub-types. *

* This method only works for single-tenant applications. - * If multi-tenancy is enabled, use {@link #writer(String)} instead. + * If multi-tenancy is enabled, use {@link #workspace(String)} instead. * - * @return A {@link SearchWriter}. + * @return A {@link SearchWorkspace}. */ - SearchWriter writer(); + SearchWorkspace workspace(); /** - * Create a {@link SearchWriter} for the indexes mapped to types in this scope, or to any of their sub-types. + * Create a {@link SearchWorkspace} for the indexes mapped to types in this scope, or to any of their sub-types. *

* This method only works for multi-tenant applications. - * If multi-tenancy is disabled, use {@link #writer()} instead. + * If multi-tenancy is disabled, use {@link #workspace()} instead. * * @param tenantId The identifier of the tenant whose index content should be targeted. - * @return A {@link SearchWriter}. + * @return A {@link SearchWorkspace}. */ - SearchWriter writer(String tenantId); + SearchWorkspace workspace(String tenantId); /** * Create a {@link MassIndexer} for the indexes mapped to types in this scope, or to any of their sub-types. diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/impl/SearchScopeImpl.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/impl/SearchScopeImpl.java index 9d2f919b4de..72feb084176 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/impl/SearchScopeImpl.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/scope/impl/SearchScopeImpl.java @@ -17,8 +17,8 @@ import org.hibernate.search.mapper.orm.search.query.dsl.HibernateOrmSearchQueryHitTypeStep; import org.hibernate.search.mapper.orm.search.query.dsl.impl.HibernateOrmSearchQueryHitTypeStepImpl; import org.hibernate.search.mapper.orm.search.loading.context.impl.HibernateOrmLoadingContext; -import org.hibernate.search.mapper.orm.writing.SearchWriter; -import org.hibernate.search.mapper.orm.writing.impl.SearchWriterImpl; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; +import org.hibernate.search.mapper.orm.work.impl.SearchWorkspaceImpl; import org.hibernate.search.mapper.pojo.scope.spi.PojoScopeDelegate; import org.hibernate.search.mapper.orm.common.EntityReference; @@ -64,17 +64,17 @@ public SearchAggregationFactory aggregation() { } @Override - public SearchWriter writer() { - return writer( (String) null ); + public SearchWorkspace workspace() { + return workspace( (String) null ); } @Override - public SearchWriter writer(String tenantId) { - return writer( mappingContext.getDetachedBackendSessionContext( tenantId ) ); + public SearchWorkspace workspace(String tenantId) { + return workspace( mappingContext.getDetachedBackendSessionContext( tenantId ) ); } - public SearchWriter writer(DetachedBackendSessionContext detachedSessionContext) { - return new SearchWriterImpl( delegate.executor( detachedSessionContext ) ); + public SearchWorkspace workspace(DetachedBackendSessionContext detachedSessionContext) { + return new SearchWorkspaceImpl( delegate.workspace( detachedSessionContext ) ); } @Override @@ -92,7 +92,7 @@ public MassIndexer massIndexer(DetachedBackendSessionContext detachedSessionCont mappingContext, delegate.getIncludedIndexedTypes(), detachedSessionContext, - delegate.executor( detachedSessionContext ) + delegate.workspace( detachedSessionContext ) ); } } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSession.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSession.java index b6502a67929..b248c5f7005 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSession.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSession.java @@ -14,7 +14,8 @@ import org.hibernate.Session; import org.hibernate.search.mapper.orm.scope.SearchScope; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; import org.hibernate.search.mapper.orm.massindexing.MassIndexer; import org.hibernate.search.mapper.orm.search.query.dsl.HibernateOrmSearchQueryHitTypeStep; @@ -59,31 +60,31 @@ default HibernateOrmSearchQueryHitTypeStep search(Class type) { HibernateOrmSearchQueryHitTypeStep search(SearchScope scope); /** - * Create a {@link SearchWriter} for the indexes mapped to all indexed types. + * Create a {@link SearchWorkspace} for the indexes mapped to all indexed types. * - * @return A {@link SearchWriter}. + * @return A {@link SearchWorkspace}. */ - default SearchWriter writer() { - return writer( Collections.singleton( Object.class ) ); + default SearchWorkspace workspace() { + return workspace( Collections.singleton( Object.class ) ); } /** - * Create a {@link SearchWriter} for the indexes mapped to the given type, or to any of its sub-types. + * Create a {@link SearchWorkspace} for the indexes mapped to the given type, or to any of its sub-types. * - * @param types One or more indexed types, or supertypes of all indexed types that will be targeted by the writer. - * @return A {@link SearchWriter}. + * @param types One or more indexed types, or supertypes of all indexed types that will be targeted by the workspace. + * @return A {@link SearchWorkspace}. */ - default SearchWriter writer(Class ... types) { - return writer( Arrays.asList( types ) ); + default SearchWorkspace workspace(Class ... types) { + return workspace( Arrays.asList( types ) ); } /** - * Create a {@link SearchWriter} for the indexes mapped to the given types, or to any of their sub-types. + * Create a {@link SearchWorkspace} for the indexes mapped to the given types, or to any of their sub-types. * - * @param types A collection of indexed types, or supertypes of all indexed types that will be targeted by the writer. - * @return A {@link SearchWriter}. + * @param types A collection of indexed types, or supertypes of all indexed types that will be targeted by the workspace. + * @return A {@link SearchWorkspace}. */ - SearchWriter writer(Collection> types); + SearchWorkspace workspace(Collection> types); /** * Creates a {@link MassIndexer} to rebuild the indexes of all indexed entity types. @@ -101,7 +102,7 @@ default MassIndexer massIndexer() { *

* {@link MassIndexer} instances cannot be reused. * - * @param types An array of indexed types, or supertypes of all indexed types that will be targeted by the writer. + * @param types An array of indexed types, or supertypes of all indexed types that will be targeted by the workspace. * @return The created mass indexer. */ default MassIndexer massIndexer(Class... types) { @@ -111,8 +112,8 @@ default MassIndexer massIndexer(Class... types) { /** * Creates a {@link MassIndexer} to rebuild the indexes mapped to the given types, or to any of their sub-types. * - * @param types A collection of indexed types, or supertypes of all indexed types that will be targeted by the writer. - * @return A {@link SearchWriter}. + * @param types A collection of indexed types, or supertypes of all indexed types that will be targeted by the workspace. + * @return A {@link SearchWorkspace}. */ MassIndexer massIndexer(Collection> types); @@ -156,10 +157,10 @@ default MassIndexer createIndexer(Class... types) { } /** - * @return The write plan for this session, allowing to explicitly index or delete entities, + * @return The indexing plan for this session, allowing to explicitly index entities or delete them from the index, * or to process entity changes or even write to the indexes before the transaction is committed. */ - SearchSessionWritePlan writePlan(); + SearchIndexingPlan indexingPlan(); /** * @return The underlying {@link EntityManager} used by this {@link SearchSession}. diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/HibernateOrmSearchSession.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/HibernateOrmSearchSession.java index 4d0fbe38d6b..dd1e1c07d47 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/HibernateOrmSearchSession.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/HibernateOrmSearchSession.java @@ -37,13 +37,15 @@ import org.hibernate.search.mapper.orm.search.query.dsl.HibernateOrmSearchQueryHitTypeStep; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; import org.hibernate.search.mapper.orm.session.SearchSession; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; import org.hibernate.search.mapper.orm.session.context.impl.HibernateOrmSessionContextImpl; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; +import org.hibernate.search.mapper.orm.work.impl.SearchIndexingPlanContext; +import org.hibernate.search.mapper.orm.work.impl.SearchIndexingPlanImpl; import org.hibernate.search.mapper.pojo.mapping.spi.PojoMappingDelegate; import org.hibernate.search.mapper.pojo.session.spi.AbstractPojoSearchSession; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.common.AssertionFailure; import org.hibernate.search.util.common.impl.TransientReference; import org.hibernate.search.util.common.logging.impl.LoggerFactory; @@ -52,7 +54,8 @@ * The actual implementation of {@link SearchSession}. */ public class HibernateOrmSearchSession extends AbstractPojoSearchSession - implements SearchSession, HibernateOrmScopeSessionContext, ReferenceHitMapper { + implements SearchSession, HibernateOrmScopeSessionContext, SearchIndexingPlanContext, + ReferenceHitMapper { /** * @param sessionImplementor A Hibernate session @@ -83,8 +86,8 @@ public static HibernateOrmSearchSession get(HibernateOrmSearchSessionMappingCont private static final String SEARCH_SESSION_KEY = HibernateOrmMapping.class.getName() + "#SEARCH_SESSION_KEY"; - private static final String WORK_PLAN_PER_TRANSACTION_MAP_KEY = - HibernateOrmSearchSession.class.getName() + "#WORK_PLAN_PER_TRANSACTION_KEY"; + private static final String INDEXING_PLAN_PER_TRANSACTION_MAP_KEY = + HibernateOrmSearchSession.class.getName() + "#INDEXING_PLAN_PER_TRANSACTION_KEY"; private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); @@ -99,7 +102,7 @@ public static HibernateOrmSearchSession get(HibernateOrmSearchSessionMappingCont */ private boolean enlistInTransaction = false; - private SearchSessionWritePlanImpl writePlan; + private SearchIndexingPlanImpl indexingPlan; private HibernateOrmSearchSession(HibernateOrmSearchSessionBuilder builder) { this( builder, builder.buildBackendSessionContext() ); @@ -133,8 +136,8 @@ private HibernateOrmSearchQueryHitTypeStep search(SearchScopeImpl scop } @Override - public SearchWriter writer(Collection> types) { - return scope( types ).writer( DetachedBackendSessionContext.of( sessionContext ) ); + public SearchWorkspace workspace(Collection> types) { + return scope( types ).workspace( DetachedBackendSessionContext.of( sessionContext ) ); } @Override @@ -159,11 +162,11 @@ public Session toOrmSession() { } @Override - public SearchSessionWritePlan writePlan() { - if ( writePlan == null ) { - writePlan = new SearchSessionWritePlanImpl( this ); + public SearchIndexingPlan indexingPlan() { + if ( indexingPlan == null ) { + indexingPlan = new SearchIndexingPlanImpl( this ); } - return writePlan; + return indexingPlan; } @Override @@ -201,22 +204,24 @@ public EntityReference fromDocumentReference(DocumentReference reference) { return new EntityReferenceImpl( typeContext.getJavaClass(), id ); } - public PojoSessionWorkExecutor createSessionWorkExecutor(DocumentCommitStrategy commitStrategy) { - return getDelegate().createSessionWorkExecutor( commitStrategy ); + public PojoIndexer createIndexer(DocumentCommitStrategy commitStrategy) { + return getDelegate().createIndexer( commitStrategy ); } + @Override @SuppressWarnings("unchecked") - public PojoWorkPlan getCurrentWorkPlan(boolean createIfDoesNotExist) { + public PojoIndexingPlan getCurrentIndexingPlan(boolean createIfDoesNotExist) { SessionImplementor sessionImplementor = sessionContext.getSession(); + checkOrmSessionIsOpen( sessionImplementor ); Transaction transactionIdentifier = null; - TransientReference> reference = (TransientReference>) sessionImplementor.getProperties() - .get( WORK_PLAN_PER_TRANSACTION_MAP_KEY ); - Map workPlanPerTransaction = reference == null ? null : reference.get(); - if ( workPlanPerTransaction == null ) { - workPlanPerTransaction = new HashMap<>(); - reference = new TransientReference<>( workPlanPerTransaction ); - sessionImplementor.setProperty( WORK_PLAN_PER_TRANSACTION_MAP_KEY, reference ); + TransientReference> reference = (TransientReference>) sessionImplementor.getProperties() + .get( INDEXING_PLAN_PER_TRANSACTION_MAP_KEY ); + Map planPerTransaction = reference == null ? null : reference.get(); + if ( planPerTransaction == null ) { + planPerTransaction = new HashMap<>(); + reference = new TransientReference<>( planPerTransaction ); + sessionImplementor.setProperty( INDEXING_PLAN_PER_TRANSACTION_MAP_KEY, reference ); } if ( sessionImplementor.isTransactionInProgress() ) { @@ -224,51 +229,52 @@ public PojoWorkPlan getCurrentWorkPlan(boolean createIfDoesNotExist) { } // For out of transaction case we will use null as transaction identifier - PojoWorkPlan workPlan = workPlanPerTransaction.get( transactionIdentifier ); - if ( workPlan != null ) { - return workPlan; + PojoIndexingPlan plan = planPerTransaction.get( transactionIdentifier ); + if ( plan != null ) { + return plan; } if ( !createIfDoesNotExist ) { return null; } - AutomaticIndexingSynchronizationStrategy workPlanSynchronizationStrategy = synchronizationStrategy; - workPlan = createWorkPlan( - workPlanSynchronizationStrategy.getDocumentCommitStrategy(), - workPlanSynchronizationStrategy.getDocumentRefreshStrategy() + AutomaticIndexingSynchronizationStrategy planSynchronizationStrategy = synchronizationStrategy; + plan = createIndexingPlan( + planSynchronizationStrategy.getDocumentCommitStrategy(), + planSynchronizationStrategy.getDocumentRefreshStrategy() ); - workPlanPerTransaction.put( transactionIdentifier, workPlan ); + planPerTransaction.put( transactionIdentifier, plan ); if ( sessionImplementor.isTransactionInProgress() ) { Synchronization txSync = createTransactionWorkQueueSynchronization( - workPlan, workPlanPerTransaction, transactionIdentifier, workPlanSynchronizationStrategy + plan, planPerTransaction, transactionIdentifier, planSynchronizationStrategy ); registerSynchronization( sessionImplementor, txSync ); } - return workPlan; + return plan; } - AutomaticIndexingSynchronizationStrategy getAutomaticIndexingSynchronizationStrategy() { + @Override + public AutomaticIndexingSynchronizationStrategy getAutomaticIndexingSynchronizationStrategy() { return synchronizationStrategy; } - private PojoWorkPlan createWorkPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return getDelegate().createWorkPlan( commitStrategy, refreshStrategy ); + private PojoIndexingPlan createIndexingPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { + return getDelegate().createIndexingPlan( commitStrategy, refreshStrategy ); } - private Synchronization createTransactionWorkQueueSynchronization(PojoWorkPlan workPlan, - Map workPlanPerTransaction, Transaction transactionIdentifier, + private Synchronization createTransactionWorkQueueSynchronization(PojoIndexingPlan indexingPlan, + Map indexingPlanPerTransaction, Transaction transactionIdentifier, AutomaticIndexingSynchronizationStrategy synchronizationStrategy) { if ( enlistInTransaction ) { return new InTransactionWorkQueueSynchronization( - workPlan, workPlanPerTransaction, transactionIdentifier, + indexingPlan, indexingPlanPerTransaction, transactionIdentifier, synchronizationStrategy ); } else { return new PostTransactionWorkQueueSynchronization( - workPlan, workPlanPerTransaction, transactionIdentifier, + indexingPlan, indexingPlanPerTransaction, transactionIdentifier, synchronizationStrategy ); } @@ -312,11 +318,11 @@ private boolean isLocalTransaction(SessionImplementor sessionImplementor) { .isJta(); } - void checkOrmSessionIsOpen() { + private void checkOrmSessionIsOpen() { checkOrmSessionIsOpen( sessionContext.getSession() ); } - static void checkOrmSessionIsOpen(SessionImplementor session) { + private static void checkOrmSessionIsOpen(SessionImplementor session) { try { session.checkOpen(); } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/InTransactionWorkQueueSynchronization.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/InTransactionWorkQueueSynchronization.java index ff3f0df81b9..533a85059b9 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/InTransactionWorkQueueSynchronization.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/InTransactionWorkQueueSynchronization.java @@ -14,7 +14,7 @@ import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.common.logging.impl.LoggerFactory; /** @@ -26,16 +26,16 @@ public class InTransactionWorkQueueSynchronization implements Synchronization { private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); - private final PojoWorkPlan workPlan; - private final Map workPlanPerTransaction; + private final PojoIndexingPlan indexingPlan; + private final Map indexingPlanPerTransaction; private final Object transactionIdentifier; private final AutomaticIndexingSynchronizationStrategy synchronizationStrategy; - public InTransactionWorkQueueSynchronization(PojoWorkPlan workPlan, - Map workPlanPerTransaction, Object transactionIdentifier, + public InTransactionWorkQueueSynchronization(PojoIndexingPlan indexingPlan, + Map indexingPlanPerTransaction, Object transactionIdentifier, AutomaticIndexingSynchronizationStrategy synchronizationStrategy) { - this.workPlan = workPlan; - this.workPlanPerTransaction = workPlanPerTransaction; + this.indexingPlan = indexingPlan; + this.indexingPlanPerTransaction = indexingPlanPerTransaction; this.transactionIdentifier = transactionIdentifier; this.synchronizationStrategy = synchronizationStrategy; } @@ -47,12 +47,12 @@ public void beforeCompletion() { log.tracef( "Processing Transaction's beforeCompletion() phase for %s. Performing work.", this ); - CompletableFuture future = workPlan.execute(); + CompletableFuture future = indexingPlan.execute(); synchronizationStrategy.handleFuture( future ); } finally { //clean the Synchronization per Transaction - workPlanPerTransaction.remove( transactionIdentifier ); + indexingPlanPerTransaction.remove( transactionIdentifier ); } } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/LazyInitSearchSession.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/LazyInitSearchSession.java index b3603e70dbc..d99e54c9256 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/LazyInitSearchSession.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/LazyInitSearchSession.java @@ -18,8 +18,8 @@ import org.hibernate.search.mapper.orm.search.query.dsl.HibernateOrmSearchQueryHitTypeStep; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; import org.hibernate.search.mapper.orm.session.SearchSession; -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; -import org.hibernate.search.mapper.orm.writing.SearchWriter; +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; /** * A lazily initializing {@link SearchSession}. @@ -50,8 +50,8 @@ public HibernateOrmSearchQueryHitTypeStep search(SearchScope scope) { } @Override - public SearchWriter writer(Collection> types) { - return getDelegate().writer( types ); + public SearchWorkspace workspace(Collection> types) { + return getDelegate().workspace( types ); } @Override @@ -75,8 +75,8 @@ public Session toOrmSession() { } @Override - public SearchSessionWritePlan writePlan() { - return getDelegate().writePlan(); + public SearchIndexingPlan indexingPlan() { + return getDelegate().indexingPlan(); } @Override diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/PostTransactionWorkQueueSynchronization.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/PostTransactionWorkQueueSynchronization.java index ec5cdea1d9a..6759a677ca9 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/PostTransactionWorkQueueSynchronization.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/PostTransactionWorkQueueSynchronization.java @@ -14,7 +14,7 @@ import org.hibernate.search.mapper.orm.logging.impl.Log; import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.util.common.logging.impl.LoggerFactory; /** @@ -26,16 +26,16 @@ public class PostTransactionWorkQueueSynchronization implements Synchronization private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); - private final PojoWorkPlan workPlan; - private final Map workPlanPerTransaction; + private final PojoIndexingPlan indexingPlan; + private final Map indexingPlanPerTransaction; private final Object transactionIdentifier; private final AutomaticIndexingSynchronizationStrategy synchronizationStrategy; - public PostTransactionWorkQueueSynchronization(PojoWorkPlan workPlan, - Map workPlanPerTransaction, Object transactionIdentifier, + public PostTransactionWorkQueueSynchronization(PojoIndexingPlan indexingPlan, + Map indexingPlanPerTransaction, Object transactionIdentifier, AutomaticIndexingSynchronizationStrategy synchronizationStrategy) { - this.workPlan = workPlan; - this.workPlanPerTransaction = workPlanPerTransaction; + this.indexingPlan = indexingPlan; + this.indexingPlanPerTransaction = indexingPlanPerTransaction; this.transactionIdentifier = transactionIdentifier; this.synchronizationStrategy = synchronizationStrategy; } @@ -43,7 +43,7 @@ public PostTransactionWorkQueueSynchronization(PojoWorkPlan workPlan, @Override public void beforeCompletion() { log.tracef( "Processing Transaction's beforeCompletion() phase: %s", this ); - workPlan.prepare(); + indexingPlan.process(); } @Override @@ -51,7 +51,7 @@ public void afterCompletion(int i) { try { if ( Status.STATUS_COMMITTED == i ) { log.tracef( "Processing Transaction's afterCompletion() phase for %s. Performing work.", this ); - CompletableFuture future = workPlan.execute(); + CompletableFuture future = indexingPlan.execute(); synchronizationStrategy.handleFuture( future ); } else { @@ -60,12 +60,12 @@ public void afterCompletion(int i) { this, i ); - workPlan.discard(); + indexingPlan.discard(); } } finally { //clean the Synchronization per Transaction - workPlanPerTransaction.remove( transactionIdentifier ); + indexingPlanPerTransaction.remove( transactionIdentifier ); } } } diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/SearchSessionWritePlanImpl.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/SearchSessionWritePlanImpl.java deleted file mode 100644 index 6344c284ea3..00000000000 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/impl/SearchSessionWritePlanImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Hibernate Search, full-text search for your domain model - * - * License: GNU Lesser General Public License (LGPL), version 2.1 or later - * See the lgpl.txt file in the root directory or . - */ -package org.hibernate.search.mapper.orm.session.impl; - -import org.hibernate.search.mapper.orm.session.SearchSessionWritePlan; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; - -final class SearchSessionWritePlanImpl implements SearchSessionWritePlan { - - private final HibernateOrmSearchSession searchSession; - - SearchSessionWritePlanImpl(HibernateOrmSearchSession searchSession) { - this.searchSession = searchSession; - } - - @Override - public void addOrUpdate(Object entity) { - getCurrentWorkPlan().update( entity ); - } - - @Override - public void delete(Object entity) { - getCurrentWorkPlan().delete( entity ); - } - - @Override - public void purge(Class entityClass, Object providedId) { - getCurrentWorkPlan().purge( entityClass, providedId ); - } - - @Override - public void process() { - getCurrentWorkPlan().prepare(); - } - - @Override - public void execute() { - searchSession.getAutomaticIndexingSynchronizationStrategy().handleFuture( - getCurrentWorkPlan().execute() - ); - } - - private PojoWorkPlan getCurrentWorkPlan() { - searchSession.checkOrmSessionIsOpen(); - return searchSession.getCurrentWorkPlan( true ); - } -} diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSessionWritePlan.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchIndexingPlan.java similarity index 95% rename from mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSessionWritePlan.java rename to mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchIndexingPlan.java index b6abf393487..503bf14eccc 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/session/SearchSessionWritePlan.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchIndexingPlan.java @@ -4,10 +4,10 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.mapper.orm.session; +package org.hibernate.search.mapper.orm.work; /** - * An interface for writing to indexes in the context of an ORM Session. + * An interface for indexing entities in the context of an ORM Session. *

* This class is stateful: it queues operations internally to apply them at a later time. *

@@ -28,7 +28,7 @@ * {@link #process()} and {@link #execute()} are mostly useful when automatic indexing is disabled, * to control the indexing process explicitly. */ -public interface SearchSessionWritePlan { +public interface SearchIndexingPlan { /** * Add or update a document in the index if the entity type is mapped to an index @@ -75,7 +75,7 @@ public interface SearchSessionWritePlan { void purge(Class entityClass, Object providedId); /** - * Extract all data from objects passed to the write plan so far, + * Extract all data from objects passed to the indexing plan so far, * creates documents to be indexed and put them into an internal buffer, * without writing them to the indexes. *

diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/SearchWriter.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchWorkspace.java similarity index 84% rename from mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/SearchWriter.java rename to mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchWorkspace.java index 2e507a8f7a0..8f9a96b8389 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/SearchWriter.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/SearchWorkspace.java @@ -4,26 +4,29 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.mapper.orm.writing; +package org.hibernate.search.mapper.orm.work; import java.util.concurrent.CompletableFuture; /** - * The entry point for explicit index write operations. + * The entry point for explicit index operations. + *

+ * A {@link SearchWorkspace} targets a pre-defined set of indexed types (and their indexes), + * filtered to only affect a single tenant, if relevant. *

* While {@link org.hibernate.search.mapper.orm.cfg.HibernateOrmMapperSettings#AUTOMATIC_INDEXING_STRATEGY automatic indexing} * generally takes care of indexing entities as they are persisted/deleted in the database, * there are cases where massive operations must be applied to the index, * such as completely purging the index. - * This is where the {@link SearchWriter} comes in. + * This is where the {@link SearchWorkspace} comes in. */ -public interface SearchWriter { +public interface SearchWorkspace { /** - * Purge the indexes targeted by this writer, removing all documents. + * Purge the data targeted by this workspaces, removing all documents. *

* When using multi-tenancy, only documents of one tenant will be removed: - * the tenant that was targeted by the session from where this writer originated. + * the tenant that was targeted by the session from where this workspace originated. */ void purge(); @@ -60,7 +63,7 @@ public interface SearchWriter { CompletableFuture flushAsync(); /** - * Merge all segments of the indexes targeted by this writer into a single one. + * Merge all segments of the indexes targeted by this workspace into a single one. *

* Note this operation may affect performance positively as well as negatively. * As a rule of thumb, if indexes are read-only for extended periods of time, diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanContext.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanContext.java new file mode 100644 index 00000000000..21148eb4e22 --- /dev/null +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanContext.java @@ -0,0 +1,18 @@ +/* + * Hibernate Search, full-text search for your domain model + * + * License: GNU Lesser General Public License (LGPL), version 2.1 or later + * See the lgpl.txt file in the root directory or . + */ +package org.hibernate.search.mapper.orm.work.impl; + +import org.hibernate.search.mapper.orm.session.AutomaticIndexingSynchronizationStrategy; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; + +public interface SearchIndexingPlanContext { + + AutomaticIndexingSynchronizationStrategy getAutomaticIndexingSynchronizationStrategy(); + + PojoIndexingPlan getCurrentIndexingPlan(boolean createIfDoesNotExist); + +} diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanImpl.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanImpl.java new file mode 100644 index 00000000000..bbbfb3bb5ce --- /dev/null +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchIndexingPlanImpl.java @@ -0,0 +1,54 @@ +/* + * Hibernate Search, full-text search for your domain model + * + * License: GNU Lesser General Public License (LGPL), version 2.1 or later + * See the lgpl.txt file in the root directory or . + */ +package org.hibernate.search.mapper.orm.work.impl; + +import org.hibernate.search.mapper.orm.work.SearchIndexingPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; + +public final class SearchIndexingPlanImpl implements SearchIndexingPlan { + + private final SearchIndexingPlanContext context; + + public SearchIndexingPlanImpl(SearchIndexingPlanContext context) { + this.context = context; + } + + @Override + public void addOrUpdate(Object entity) { + context.getCurrentIndexingPlan( true ).addOrUpdate( entity ); + } + + @Override + public void delete(Object entity) { + context.getCurrentIndexingPlan( true ).delete( entity ); + } + + @Override + public void purge(Class entityClass, Object providedId) { + context.getCurrentIndexingPlan( true ).purge( entityClass, providedId ); + } + + @Override + public void process() { + PojoIndexingPlan plan = context.getCurrentIndexingPlan( false ); + if ( plan == null ) { + return; + } + plan.process(); + } + + @Override + public void execute() { + PojoIndexingPlan plan = context.getCurrentIndexingPlan( false ); + if ( plan == null ) { + return; + } + context.getAutomaticIndexingSynchronizationStrategy().handleFuture( + plan.execute() + ); + } +} diff --git a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/impl/SearchWriterImpl.java b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchWorkspaceImpl.java similarity index 60% rename from mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/impl/SearchWriterImpl.java rename to mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchWorkspaceImpl.java index 794bdb4380f..2ff9b8e8e47 100644 --- a/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/writing/impl/SearchWriterImpl.java +++ b/mapper/orm/src/main/java/org/hibernate/search/mapper/orm/work/impl/SearchWorkspaceImpl.java @@ -4,19 +4,19 @@ * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or . */ -package org.hibernate.search.mapper.orm.writing.impl; +package org.hibernate.search.mapper.orm.work.impl; import java.util.concurrent.CompletableFuture; -import org.hibernate.search.mapper.orm.writing.SearchWriter; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.orm.work.SearchWorkspace; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; import org.hibernate.search.util.common.impl.Futures; -public class SearchWriterImpl implements SearchWriter { - private final PojoScopeWorkExecutor scopeWorkExecutor; +public class SearchWorkspaceImpl implements SearchWorkspace { + private final PojoScopeWorkspace delegate; - public SearchWriterImpl(PojoScopeWorkExecutor scopeWorkExecutor) { - this.scopeWorkExecutor = scopeWorkExecutor; + public SearchWorkspaceImpl(PojoScopeWorkspace delegate) { + this.delegate = delegate; } @Override @@ -26,7 +26,7 @@ public void optimize() { @Override public CompletableFuture optimizeAsync() { - return scopeWorkExecutor.optimize(); + return delegate.optimize(); } @Override @@ -36,7 +36,7 @@ public void purge() { @Override public CompletableFuture purgeAsync() { - return scopeWorkExecutor.purge(); + return delegate.purge(); } @Override @@ -46,6 +46,6 @@ public void flush() { @Override public CompletableFuture flushAsync() { - return scopeWorkExecutor.flush(); + return delegate.flush(); } } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/logging/impl/Log.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/logging/impl/Log.java index 574517fc9ba..5e414b3bc6a 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/logging/impl/Log.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/logging/impl/Log.java @@ -409,7 +409,7 @@ SearchException cannotPurgeNonIndexedContainedType( + " Make sure you do not change entities within an entity getter or a custom bridge used for indexing," + " and avoid any event that could trigger entity processing." + " Hibernate ORM flushes, in particular, must be avoided in entity getters and bridges.") - SearchException recursiveWorkPlanPrepare(); + SearchException recursiveIndexingPlanProcess(); @Message(id = ID_OFFSET_2 + 61, value = "Type '%1$s' cannot be indexed-embedded, because no index mapping (@GenericField, @FullTextField, ...) is defined for that type.") SearchException invalidIndexedEmbedded(@FormatWith(PojoTypeModelFormatter.class) PojoTypeModel typeModel); diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java index 5478b39caa9..f6ebcdae523 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoIndexedTypeManagerBuilder.java @@ -118,7 +118,7 @@ void buildAndAddTo(PojoIndexedTypeManagerContainer.Builder typeManagersBuilder, /* * TODO offer more flexibility to mapper implementations, allowing them to define their own dirtiness state? - * Note this will require to allow them to define their own work plan APIs. + * Note this will require to allow them to define their own indexing plan APIs. */ PojoPathFilterFactory> pathFilterFactory = typeAdditionalMetadata .getEntityTypeMetadata().orElseThrow( () -> log.missingEntityTypeMetadata( typeModel ) ) diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java index d81388bb06d..75a5c708ee8 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java @@ -232,7 +232,7 @@ private void buildAndAddContainedTypeManagerTo( PojoRawTypeModel entityType) { /* * TODO offer more flexibility to mapper implementations, allowing them to define their own dirtiness state? - * Note this will require to allow them to define their own work plan APIs. + * Note this will require to allow them to define their own indexing plan APIs. */ PojoPathFilterFactory> pathFilterFactory = typeAdditionalMetadataProvider.get( entityType ) .getEntityTypeMetadata().orElseThrow( () -> log.missingEntityTypeMetadata( entityType ) ) diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java index 1e21335e861..d483b8d0607 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoContainedTypeManager.java @@ -16,7 +16,7 @@ import org.hibernate.search.mapper.pojo.scope.impl.PojoScopeContainedTypeContext; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; import org.hibernate.search.mapper.pojo.work.impl.CachingCastingEntitySupplier; -import org.hibernate.search.mapper.pojo.work.impl.PojoContainedTypeWorkPlan; +import org.hibernate.search.mapper.pojo.work.impl.PojoContainedTypeIndexingPlan; import org.hibernate.search.mapper.pojo.work.impl.PojoWorkContainedTypeContext; import org.hibernate.search.util.common.impl.ToStringTreeAppendable; import org.hibernate.search.util.common.impl.ToStringTreeBuilder; @@ -76,8 +76,8 @@ public void resolveEntitiesToReindex(PojoReindexingCollector collector, PojoRunt } @Override - public PojoContainedTypeWorkPlan createWorkPlan(AbstractPojoBackendSessionContext sessionContext) { - return new PojoContainedTypeWorkPlan<>( + public PojoContainedTypeIndexingPlan createIndexingPlan(AbstractPojoBackendSessionContext sessionContext) { + return new PojoContainedTypeIndexingPlan<>( this, sessionContext ); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java index 8d82bc5c148..55121eb7d31 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/impl/PojoIndexedTypeManager.java @@ -13,7 +13,7 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.mapper.mapping.spi.MappedIndexManager; import org.hibernate.search.engine.mapper.scope.spi.MappedIndexScopeBuilder; @@ -30,8 +30,8 @@ import org.hibernate.search.mapper.pojo.work.impl.CachingCastingEntitySupplier; import org.hibernate.search.mapper.pojo.work.impl.PojoDocumentContributor; import org.hibernate.search.mapper.pojo.work.impl.PojoDocumentReferenceProvider; -import org.hibernate.search.mapper.pojo.work.impl.PojoIndexedTypeWorkPlan; -import org.hibernate.search.mapper.pojo.work.impl.PojoTypeDocumentWorkExecutor; +import org.hibernate.search.mapper.pojo.work.impl.PojoIndexedTypeIndexingPlan; +import org.hibernate.search.mapper.pojo.work.impl.PojoTypeIndexer; import org.hibernate.search.mapper.pojo.work.impl.PojoWorkIndexedTypeContext; import org.hibernate.search.util.common.impl.Closer; import org.hibernate.search.util.common.impl.ToStringTreeAppendable; @@ -141,26 +141,26 @@ public void resolveEntitiesToReindex(PojoReindexingCollector collector, PojoRunt } @Override - public PojoTypeDocumentWorkExecutor createDocumentWorkExecutor( + public PojoTypeIndexer createIndexer( AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { - return new PojoTypeDocumentWorkExecutor<>( + return new PojoTypeIndexer<>( this, sessionContext, - indexManager.createDocumentWorkExecutor( sessionContext, commitStrategy ) + indexManager.createIndexer( sessionContext, commitStrategy ) ); } @Override - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return indexManager.createWorkExecutor( sessionContext ); + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return indexManager.createWorkspace( sessionContext ); } @Override - public PojoIndexedTypeWorkPlan createWorkPlan(AbstractPojoBackendSessionContext sessionContext, + public PojoIndexedTypeIndexingPlan createIndexingPlan(AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return new PojoIndexedTypeWorkPlan<>( + return new PojoIndexedTypeIndexingPlan<>( this, sessionContext, - indexManager.createWorkPlan( sessionContext, commitStrategy, refreshStrategy ) + indexManager.createIndexingPlan( sessionContext, commitStrategy, refreshStrategy ) ); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoTypeAdditionalMetadata.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoTypeAdditionalMetadata.java index 9e4321f5ce6..7684ff02627 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoTypeAdditionalMetadata.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/additionalmetadata/impl/PojoTypeAdditionalMetadata.java @@ -27,7 +27,7 @@ public PojoTypeAdditionalMetadata(Optional ent * All other types are assumed to only be able to be embedded in other objects, * with their lifecycle completely tied to their embedding object. * As a result, entity types are the only types whose lifecycle events are expected to be sent - * to POJO work plans. + * to POJO indexing plans. * * @return {@code true} if this type is an entity type, {@code false} otherwise. */ diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/impl/PojoScopeDelegateImpl.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/impl/PojoScopeDelegateImpl.java index 1e815bef684..9969d98bc44 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/impl/PojoScopeDelegateImpl.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/impl/PojoScopeDelegateImpl.java @@ -28,8 +28,8 @@ import org.hibernate.search.mapper.pojo.mapping.context.spi.AbstractPojoBackendMappingContext; import org.hibernate.search.engine.search.predicate.dsl.SearchPredicateFactory; import org.hibernate.search.engine.search.sort.dsl.SearchSortFactory; -import org.hibernate.search.mapper.pojo.work.impl.PojoScopeWorkExecutorImpl; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.pojo.work.impl.PojoScopeWorkspaceImpl; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; import org.hibernate.search.util.common.logging.impl.LoggerFactory; public final class PojoScopeDelegateImpl implements PojoScopeDelegate { @@ -126,8 +126,8 @@ public SearchAggregationFactory aggregation() { } @Override - public PojoScopeWorkExecutor executor(DetachedBackendSessionContext sessionContext) { - return new PojoScopeWorkExecutorImpl( + public PojoScopeWorkspace workspace(DetachedBackendSessionContext sessionContext) { + return new PojoScopeWorkspaceImpl( targetedTypeContexts, sessionContext ); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/spi/PojoScopeDelegate.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/spi/PojoScopeDelegate.java index 06d84600e7d..943addba1df 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/spi/PojoScopeDelegate.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/scope/spi/PojoScopeDelegate.java @@ -16,7 +16,7 @@ import org.hibernate.search.engine.search.query.dsl.SearchQueryHitTypeStep; import org.hibernate.search.engine.search.sort.dsl.SearchSortFactory; import org.hibernate.search.engine.search.loading.context.spi.LoadingContextBuilder; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; /** * @param The type of entity references, i.e. the type of hits returned by @@ -44,6 +44,6 @@ public interface PojoScopeDelegate { SearchAggregationFactory aggregation(); - PojoScopeWorkExecutor executor(DetachedBackendSessionContext sessionContext); + PojoScopeWorkspace workspace(DetachedBackendSessionContext sessionContext); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/impl/PojoSearchSessionDelegateImpl.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/impl/PojoSearchSessionDelegateImpl.java index 1b8b5a90c13..070493683f9 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/impl/PojoSearchSessionDelegateImpl.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/impl/PojoSearchSessionDelegateImpl.java @@ -12,10 +12,10 @@ import org.hibernate.search.mapper.pojo.scope.impl.PojoScopeIndexedTypeContextProvider; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; import org.hibernate.search.mapper.pojo.session.spi.PojoSearchSessionDelegate; -import org.hibernate.search.mapper.pojo.work.impl.PojoSessionWorkExecutorImpl; -import org.hibernate.search.mapper.pojo.work.impl.PojoWorkPlanImpl; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.impl.PojoIndexerImpl; +import org.hibernate.search.mapper.pojo.work.impl.PojoIndexingPlanImpl; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; public final class PojoSearchSessionDelegateImpl implements PojoSearchSessionDelegate { @@ -37,16 +37,16 @@ public AbstractPojoBackendSessionContext getBackendSessionContext() { } @Override - public PojoWorkPlan createWorkPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return new PojoWorkPlanImpl( + public PojoIndexingPlan createIndexingPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { + return new PojoIndexingPlanImpl( indexedTypeContextProvider, containedTypeContextProvider, backendSessionContext, commitStrategy, refreshStrategy ); } @Override - public PojoSessionWorkExecutor createSessionWorkExecutor(DocumentCommitStrategy commitStrategy) { - return new PojoSessionWorkExecutorImpl( indexedTypeContextProvider, backendSessionContext, commitStrategy ); + public PojoIndexer createIndexer(DocumentCommitStrategy commitStrategy) { + return new PojoIndexerImpl( indexedTypeContextProvider, backendSessionContext, commitStrategy ); } } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/spi/PojoSearchSessionDelegate.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/spi/PojoSearchSessionDelegate.java index 3eff1f8c5b6..fae0ba45e12 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/spi/PojoSearchSessionDelegate.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/session/spi/PojoSearchSessionDelegate.java @@ -9,15 +9,15 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; public interface PojoSearchSessionDelegate { AbstractPojoBackendSessionContext getBackendSessionContext(); - PojoWorkPlan createWorkPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy); + PojoIndexingPlan createIndexingPlan(DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy); - PojoSessionWorkExecutor createSessionWorkExecutor(DocumentCommitStrategy commitStrategy); + PojoIndexer createIndexer(DocumentCommitStrategy commitStrategy); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeWorkPlan.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java similarity index 86% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeWorkPlan.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java index a98d150e7fa..88d69015827 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeWorkPlan.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/AbstractPojoTypeIndexingPlan.java @@ -8,11 +8,11 @@ import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; -abstract class AbstractPojoTypeWorkPlan { +abstract class AbstractPojoTypeIndexingPlan { final AbstractPojoBackendSessionContext sessionContext; - AbstractPojoTypeWorkPlan(AbstractPojoBackendSessionContext sessionContext) { + AbstractPojoTypeIndexingPlan(AbstractPojoBackendSessionContext sessionContext) { this.sessionContext = sessionContext; } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeWorkPlan.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeIndexingPlan.java similarity index 82% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeWorkPlan.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeIndexingPlan.java index d1485199736..8f9316a2af9 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeWorkPlan.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoContainedTypeIndexingPlan.java @@ -21,16 +21,16 @@ /** * @param The contained entity type. */ -public class PojoContainedTypeWorkPlan extends AbstractPojoTypeWorkPlan { +public class PojoContainedTypeIndexingPlan extends AbstractPojoTypeIndexingPlan { private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); private final PojoWorkContainedTypeContext typeContext; // Use a LinkedHashMap for deterministic iteration - private final Map workPlansPerId = new LinkedHashMap<>(); + private final Map indexingPlansPerId = new LinkedHashMap<>(); - public PojoContainedTypeWorkPlan(PojoWorkContainedTypeContext typeContext, + public PojoContainedTypeIndexingPlan(PojoWorkContainedTypeContext typeContext, AbstractPojoBackendSessionContext sessionContext) { super( sessionContext ); this.typeContext = typeContext; @@ -39,25 +39,25 @@ public PojoContainedTypeWorkPlan(PojoWorkContainedTypeContext typeContext, @Override void add(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); - getWork( providedId ).add( entitySupplier ); + getPlan( providedId ).add( entitySupplier ); } @Override void update(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); - getWork( providedId ).update( entitySupplier ); + getPlan( providedId ).update( entitySupplier ); } @Override void update(Object providedId, Object entity, String... dirtyPaths) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); - getWork( providedId ).update( entitySupplier, dirtyPaths ); + getPlan( providedId ).update( entitySupplier, dirtyPaths ); } @Override void delete(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); - getWork( providedId ).delete( entitySupplier ); + getPlan( providedId ).delete( entitySupplier ); } @Override @@ -66,21 +66,21 @@ void purge(Object providedId) { } void resolveDirty(PojoReindexingCollector containingEntityCollector) { - for ( ContainedEntityWorkPlan workPerDocument : workPlansPerId.values() ) { - workPerDocument.resolveDirty( containingEntityCollector ); + for ( ContainedEntityIndexingPlan plan : indexingPlansPerId.values() ) { + plan.resolveDirty( containingEntityCollector ); } } - private ContainedEntityWorkPlan getWork(Object identifier) { - ContainedEntityWorkPlan work = workPlansPerId.get( identifier ); - if ( work == null ) { - work = new ContainedEntityWorkPlan(); - workPlansPerId.put( identifier, work ); + private ContainedEntityIndexingPlan getPlan(Object identifier) { + ContainedEntityIndexingPlan plan = indexingPlansPerId.get( identifier ); + if ( plan == null ) { + plan = new ContainedEntityIndexingPlan(); + indexingPlansPerId.put( identifier, plan ); } - return work; + return plan; } - private class ContainedEntityWorkPlan { + private class ContainedEntityIndexingPlan { private Supplier entitySupplier; private Boolean createdInThisPlan; diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeWorkPlan.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeIndexingPlan.java similarity index 80% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeWorkPlan.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeIndexingPlan.java index 810ecaf3f5e..29a4674704d 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeWorkPlan.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexedTypeIndexingPlan.java @@ -14,7 +14,7 @@ import java.util.function.Supplier; import org.hibernate.search.engine.backend.document.DocumentElement; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; import org.hibernate.search.mapper.pojo.automaticindexing.impl.PojoReindexingCollector; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; @@ -24,17 +24,17 @@ * @param The entity type mapped to the index. * @param The document type for the index. */ -public class PojoIndexedTypeWorkPlan extends AbstractPojoTypeWorkPlan { +public class PojoIndexedTypeIndexingPlan extends AbstractPojoTypeIndexingPlan { private final PojoWorkIndexedTypeContext typeContext; - private final IndexWorkPlan delegate; + private final IndexIndexingPlan delegate; // Use a LinkedHashMap for deterministic iteration - private final Map workPlansPerId = new LinkedHashMap<>(); + private final Map indexingPlansPerId = new LinkedHashMap<>(); - public PojoIndexedTypeWorkPlan(PojoWorkIndexedTypeContext typeContext, + public PojoIndexedTypeIndexingPlan(PojoWorkIndexedTypeContext typeContext, AbstractPojoBackendSessionContext sessionContext, - IndexWorkPlan delegate) { + IndexIndexingPlan delegate) { super( sessionContext ); this.typeContext = typeContext; this.delegate = delegate; @@ -44,58 +44,58 @@ public PojoIndexedTypeWorkPlan(PojoWorkIndexedTypeContext typeContext, void add(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); I identifier = typeContext.getIdentifierMapping().getIdentifier( providedId, entitySupplier ); - getWork( identifier ).add( entitySupplier ); + getPlan( identifier ).add( entitySupplier ); } @Override void update(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); I identifier = typeContext.getIdentifierMapping().getIdentifier( providedId, entitySupplier ); - getWork( identifier ).update( entitySupplier ); + getPlan( identifier ).update( entitySupplier ); } @Override void update(Object providedId, Object entity, String... dirtyPaths) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); I identifier = typeContext.getIdentifierMapping().getIdentifier( providedId, entitySupplier ); - getWork( identifier ).update( entitySupplier, dirtyPaths ); + getPlan( identifier ).update( entitySupplier, dirtyPaths ); } @Override void delete(Object providedId, Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); I identifier = typeContext.getIdentifierMapping().getIdentifier( providedId, entitySupplier ); - getWork( identifier ).delete( entitySupplier ); + getPlan( identifier ).delete( entitySupplier ); } @Override void purge(Object providedId) { I identifier = typeContext.getIdentifierMapping().getIdentifier( providedId ); - getWork( identifier ).purge(); + getPlan( identifier ).purge(); } void updateBecauseOfContained(Object entity) { Supplier entitySupplier = typeContext.toEntitySupplier( sessionContext, entity ); I identifier = typeContext.getIdentifierMapping().getIdentifier( null, entitySupplier ); - if ( !workPlansPerId.containsKey( identifier ) ) { - getWork( identifier ).updateBecauseOfContained( entitySupplier ); + if ( !indexingPlansPerId.containsKey( identifier ) ) { + getPlan( identifier ).updateBecauseOfContained( entitySupplier ); } // If the entry is already there, no need for an additional update } void resolveDirty(PojoReindexingCollector containingEntityCollector) { - for ( IndexedEntityWorkPlan workPerDocument : workPlansPerId.values() ) { - workPerDocument.resolveDirty( containingEntityCollector ); + for ( IndexedEntityIndexingPlan plan : indexingPlansPerId.values() ) { + plan.resolveDirty( containingEntityCollector ); } } - void prepare() { - sendWorksToDelegate(); - getDelegate().prepare(); + void process() { + sendCommandsToDelegate(); + getDelegate().process(); } CompletableFuture execute() { - sendWorksToDelegate(); + sendCommandsToDelegate(); /* * No need to call prepare() here: * delegates are supposed to handle execute() even without a prior call to prepare(). @@ -107,33 +107,33 @@ void discard() { delegate.discard(); } - void clearNotPrepared() { - this.workPlansPerId.clear(); + void discardNotProcessed() { + this.indexingPlansPerId.clear(); } - private IndexedEntityWorkPlan getWork(I identifier) { - IndexedEntityWorkPlan work = workPlansPerId.get( identifier ); - if ( work == null ) { - work = new IndexedEntityWorkPlan( identifier ); - workPlansPerId.put( identifier, work ); + private IndexedEntityIndexingPlan getPlan(I identifier) { + IndexedEntityIndexingPlan plan = indexingPlansPerId.get( identifier ); + if ( plan == null ) { + plan = new IndexedEntityIndexingPlan( identifier ); + indexingPlansPerId.put( identifier, plan ); } - return work; + return plan; } - private IndexWorkPlan getDelegate() { + private IndexIndexingPlan getDelegate() { return delegate; } - private void sendWorksToDelegate() { + private void sendCommandsToDelegate() { try { - workPlansPerId.values().forEach( IndexedEntityWorkPlan::sendWorkToDelegate ); + indexingPlansPerId.values().forEach( IndexedEntityIndexingPlan::sendCommandsToDelegate ); } finally { - workPlansPerId.clear(); + indexingPlansPerId.clear(); } } - private class IndexedEntityWorkPlan { + private class IndexedEntityIndexingPlan { private final I identifier; private Supplier entitySupplier; @@ -145,7 +145,7 @@ private class IndexedEntityWorkPlan { private boolean updatedBecauseOfContained; private Set dirtyPaths; - private IndexedEntityWorkPlan(I identifier) { + private IndexedEntityIndexingPlan(I identifier) { this.identifier = identifier; } @@ -223,7 +223,7 @@ void resolveDirty(PojoReindexingCollector containingEntityCollector) { } } - void sendWorkToDelegate() { + void sendCommandsToDelegate() { DocumentReferenceProvider referenceProvider = typeContext.toDocumentReferenceProvider( sessionContext, identifier, entitySupplier ); if ( add ) { diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoSessionWorkExecutorImpl.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexerImpl.java similarity index 75% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoSessionWorkExecutorImpl.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexerImpl.java index 71ed6b3fd9e..145183b5f1a 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoSessionWorkExecutorImpl.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexerImpl.java @@ -16,10 +16,10 @@ import org.hibernate.search.mapper.pojo.logging.impl.Log; import org.hibernate.search.mapper.pojo.model.spi.PojoRuntimeIntrospector; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; -import org.hibernate.search.mapper.pojo.work.spi.PojoSessionWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexer; import org.hibernate.search.util.common.logging.impl.LoggerFactory; -public class PojoSessionWorkExecutorImpl implements PojoSessionWorkExecutor { +public class PojoIndexerImpl implements PojoIndexer { private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); @@ -28,9 +28,9 @@ public class PojoSessionWorkExecutorImpl implements PojoSessionWorkExecutor { private final PojoRuntimeIntrospector introspector; private final DocumentCommitStrategy commitStrategy; - private final Map, PojoTypeDocumentWorkExecutor> typeExecutors = new HashMap<>(); + private final Map, PojoTypeIndexer> typeExecutors = new HashMap<>(); - public PojoSessionWorkExecutorImpl(PojoWorkIndexedTypeContextProvider indexedTypeContextProvider, + public PojoIndexerImpl(PojoWorkIndexedTypeContextProvider indexedTypeContextProvider, AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { this.indexedTypeContextProvider = indexedTypeContextProvider; @@ -47,22 +47,22 @@ public CompletableFuture add(Object entity) { @Override public CompletableFuture add(Object providedId, Object entity) { Class clazz = introspector.getClass( entity ); - PojoTypeDocumentWorkExecutor typeExecutor = this.typeExecutors.get( clazz ); + PojoTypeIndexer typeExecutor = this.typeExecutors.get( clazz ); if ( typeExecutor == null ) { - typeExecutor = createTypeDocumentExecutor( clazz ); + typeExecutor = createTypeIndexer( clazz ); typeExecutors.put( clazz, typeExecutor ); } return typeExecutor.add( providedId, entity ); } - private PojoTypeDocumentWorkExecutor createTypeDocumentExecutor(Class clazz) { + private PojoTypeIndexer createTypeIndexer(Class clazz) { Optional> typeContext = indexedTypeContextProvider.getByExactClass( clazz ); if ( !typeContext.isPresent() ) { throw log.notDirectlyIndexedType( clazz ); } - return typeContext.get().createDocumentWorkExecutor( sessionContext, commitStrategy ); + return typeContext.get().createIndexer( sessionContext, commitStrategy ); } } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkPlanImpl.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexingPlanImpl.java similarity index 65% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkPlanImpl.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexingPlanImpl.java index dddc2fc5cbf..21d0a180758 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkPlanImpl.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoIndexingPlanImpl.java @@ -18,13 +18,13 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.mapper.pojo.logging.impl.Log; -import org.hibernate.search.mapper.pojo.work.spi.PojoWorkPlan; +import org.hibernate.search.mapper.pojo.work.spi.PojoIndexingPlan; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; import org.hibernate.search.mapper.pojo.model.spi.PojoRuntimeIntrospector; import org.hibernate.search.util.common.AssertionFailure; import org.hibernate.search.util.common.logging.impl.LoggerFactory; -public class PojoWorkPlanImpl implements PojoWorkPlan { +public class PojoIndexingPlanImpl implements PojoIndexingPlan { private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() ); @@ -36,12 +36,12 @@ public class PojoWorkPlanImpl implements PojoWorkPlan { private final DocumentRefreshStrategy refreshStrategy; // Use a LinkedHashMap for deterministic iteration - private final Map, PojoIndexedTypeWorkPlan> indexedTypeDelegates = new LinkedHashMap<>(); - private final Map, PojoContainedTypeWorkPlan> containedTypeDelegates = new HashMap<>(); + private final Map, PojoIndexedTypeIndexingPlan> indexedTypeDelegates = new LinkedHashMap<>(); + private final Map, PojoContainedTypeIndexingPlan> containedTypeDelegates = new HashMap<>(); - private boolean isPreparing = false; + private boolean isProcessing = false; - public PojoWorkPlanImpl(PojoWorkIndexedTypeContextProvider indexedTypeContextProvider, + public PojoIndexingPlanImpl(PojoWorkIndexedTypeContextProvider indexedTypeContextProvider, PojoWorkContainedTypeContextProvider containedTypeContextProvider, AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, @@ -62,31 +62,31 @@ public void add(Object entity) { @Override public void add(Object providedId, Object entity) { Class clazz = introspector.getClass( entity ); - AbstractPojoTypeWorkPlan delegate = getDelegate( clazz ); + AbstractPojoTypeIndexingPlan delegate = getDelegate( clazz ); delegate.add( providedId, entity ); } @Override - public void update(Object entity) { - update( null, entity ); + public void addOrUpdate(Object entity) { + addOrUpdate( null, entity ); } @Override - public void update(Object providedId, Object entity) { + public void addOrUpdate(Object providedId, Object entity) { Class clazz = introspector.getClass( entity ); - AbstractPojoTypeWorkPlan delegate = getDelegate( clazz ); + AbstractPojoTypeIndexingPlan delegate = getDelegate( clazz ); delegate.update( providedId, entity ); } @Override - public void update(Object entity, String... dirtyPaths) { - update( null, entity, dirtyPaths ); + public void addOrUpdate(Object entity, String... dirtyPaths) { + addOrUpdate( null, entity, dirtyPaths ); } @Override - public void update(Object providedId, Object entity, String... dirtyPaths) { + public void addOrUpdate(Object providedId, Object entity, String... dirtyPaths) { Class clazz = getIntrospector().getClass( entity ); - AbstractPojoTypeWorkPlan delegate = getDelegate( clazz ); + AbstractPojoTypeIndexingPlan delegate = getDelegate( clazz ); delegate.update( providedId, entity, dirtyPaths ); } @@ -98,45 +98,45 @@ public void delete(Object entity) { @Override public void delete(Object providedId, Object entity) { Class clazz = introspector.getClass( entity ); - AbstractPojoTypeWorkPlan delegate = getDelegate( clazz ); + AbstractPojoTypeIndexingPlan delegate = getDelegate( clazz ); delegate.delete( providedId, entity ); } @Override public void purge(Class clazz, Object providedId) { - AbstractPojoTypeWorkPlan delegate = getDelegate( clazz ); + AbstractPojoTypeIndexingPlan delegate = getDelegate( clazz ); delegate.purge( providedId ); } @Override - public void prepare() { - if ( isPreparing ) { - throw log.recursiveWorkPlanPrepare(); + public void process() { + if ( isProcessing ) { + throw log.recursiveIndexingPlanProcess(); } - isPreparing = true; + isProcessing = true; try { - for ( PojoContainedTypeWorkPlan delegate : containedTypeDelegates.values() ) { + for ( PojoContainedTypeIndexingPlan delegate : containedTypeDelegates.values() ) { delegate.resolveDirty( this::updateBecauseOfContained ); } - for ( PojoIndexedTypeWorkPlan delegate : indexedTypeDelegates.values() ) { + for ( PojoIndexedTypeIndexingPlan delegate : indexedTypeDelegates.values() ) { delegate.resolveDirty( this::updateBecauseOfContained ); } - for ( PojoIndexedTypeWorkPlan delegate : indexedTypeDelegates.values() ) { - delegate.prepare(); + for ( PojoIndexedTypeIndexingPlan delegate : indexedTypeDelegates.values() ) { + delegate.process(); } } finally { - isPreparing = false; + isProcessing = false; } } @Override public CompletableFuture execute() { try { - prepare(); + process(); List> futures = new ArrayList<>(); - for ( PojoIndexedTypeWorkPlan delegate : indexedTypeDelegates.values() ) { + for ( PojoIndexedTypeIndexingPlan delegate : indexedTypeDelegates.values() ) { futures.add( delegate.execute() ); } return CompletableFuture.allOf( futures.toArray( new CompletableFuture[0] ) ); @@ -149,7 +149,7 @@ public CompletableFuture execute() { @Override public void discard() { try { - for ( PojoIndexedTypeWorkPlan delegate : indexedTypeDelegates.values() ) { + for ( PojoIndexedTypeIndexingPlan delegate : indexedTypeDelegates.values() ) { delegate.discard(); } } @@ -159,9 +159,9 @@ public void discard() { } @Override - public void clearNotPrepared() { - for ( PojoIndexedTypeWorkPlan delegate : indexedTypeDelegates.values() ) { - delegate.clearNotPrepared(); + public void discardNotProcessed() { + for ( PojoIndexedTypeIndexingPlan delegate : indexedTypeDelegates.values() ) { + delegate.discardNotProcessed(); } } @@ -169,8 +169,8 @@ private PojoRuntimeIntrospector getIntrospector() { return introspector; } - private AbstractPojoTypeWorkPlan getDelegate(Class clazz) { - AbstractPojoTypeWorkPlan delegate = indexedTypeDelegates.get( clazz ); + private AbstractPojoTypeIndexingPlan getDelegate(Class clazz) { + AbstractPojoTypeIndexingPlan delegate = indexedTypeDelegates.get( clazz ); if ( delegate == null ) { delegate = containedTypeDelegates.get( clazz ); if ( delegate == null ) { @@ -180,12 +180,12 @@ private AbstractPojoTypeWorkPlan getDelegate(Class clazz) { return delegate; } - private AbstractPojoTypeWorkPlan createDelegate(Class clazz) { + private AbstractPojoTypeIndexingPlan createDelegate(Class clazz) { Optional> indexedTypeContextOptional = indexedTypeContextProvider.getByExactClass( clazz ); if ( indexedTypeContextOptional.isPresent() ) { - PojoIndexedTypeWorkPlan delegate = indexedTypeContextOptional.get() - .createWorkPlan( sessionContext, commitStrategy, refreshStrategy ); + PojoIndexedTypeIndexingPlan delegate = indexedTypeContextOptional.get() + .createIndexingPlan( sessionContext, commitStrategy, refreshStrategy ); indexedTypeDelegates.put( clazz, delegate ); return delegate; } @@ -193,8 +193,8 @@ private AbstractPojoTypeWorkPlan createDelegate(Class clazz) { Optional> containedTypeContextOptional = containedTypeContextProvider.getByExactClass( clazz ); if ( containedTypeContextOptional.isPresent() ) { - PojoContainedTypeWorkPlan delegate = containedTypeContextOptional.get() - .createWorkPlan( sessionContext ); + PojoContainedTypeIndexingPlan delegate = containedTypeContextOptional.get() + .createIndexingPlan( sessionContext ); containedTypeDelegates.put( clazz, delegate ); return delegate; } @@ -202,8 +202,8 @@ private AbstractPojoTypeWorkPlan createDelegate(Class clazz) { throw log.notIndexedTypeNorAsDelegate( clazz ); } - private PojoIndexedTypeWorkPlan getOrCreateIndexedDelegateForContainedUpdate(Class clazz) { - PojoIndexedTypeWorkPlan delegate = indexedTypeDelegates.get( clazz ); + private PojoIndexedTypeIndexingPlan getOrCreateIndexedDelegateForContainedUpdate(Class clazz) { + PojoIndexedTypeIndexingPlan delegate = indexedTypeDelegates.get( clazz ); if ( delegate != null ) { return delegate; } @@ -212,7 +212,7 @@ private AbstractPojoTypeWorkPlan createDelegate(Class clazz) { indexedTypeContextProvider.getByExactClass( clazz ); if ( indexedTypeManagerOptional.isPresent() ) { delegate = indexedTypeManagerOptional.get() - .createWorkPlan( sessionContext, commitStrategy, refreshStrategy ); + .createIndexingPlan( sessionContext, commitStrategy, refreshStrategy ); indexedTypeDelegates.put( clazz, delegate ); return delegate; } @@ -227,7 +227,7 @@ private AbstractPojoTypeWorkPlan createDelegate(Class clazz) { private void updateBecauseOfContained(Object containingEntity) { // TODO ignore the event when containingEntity has provided IDs Class clazz = getIntrospector().getClass( containingEntity ); - PojoIndexedTypeWorkPlan delegate = getOrCreateIndexedDelegateForContainedUpdate( clazz ); + PojoIndexedTypeIndexingPlan delegate = getOrCreateIndexedDelegateForContainedUpdate( clazz ); delegate.updateBecauseOfContained( containingEntity ); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkExecutorImpl.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkspaceImpl.java similarity index 56% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkExecutorImpl.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkspaceImpl.java index 235a98066d8..20d472448f0 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkExecutorImpl.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoScopeWorkspaceImpl.java @@ -12,42 +12,42 @@ import java.util.concurrent.CompletableFuture; import java.util.function.Function; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; -import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkExecutor; +import org.hibernate.search.mapper.pojo.work.spi.PojoScopeWorkspace; -public class PojoScopeWorkExecutorImpl implements PojoScopeWorkExecutor { +public class PojoScopeWorkspaceImpl implements PojoScopeWorkspace { - private final List workExecutors = new ArrayList<>(); + private final List delegates = new ArrayList<>(); - public PojoScopeWorkExecutorImpl(Set> targetedTypeContexts, + public PojoScopeWorkspaceImpl(Set> targetedTypeContexts, DetachedBackendSessionContext sessionContext) { for ( PojoWorkIndexedTypeContext targetedTypeContext : targetedTypeContexts ) { - workExecutors.add( targetedTypeContext.createWorkExecutor( sessionContext ) ); + delegates.add( targetedTypeContext.createWorkspace( sessionContext ) ); } } @Override public CompletableFuture optimize() { - return doOperationOnTypes( IndexWorkExecutor::optimize ); + return doOperationOnTypes( IndexWorkspace::optimize ); } @Override public CompletableFuture purge() { - return doOperationOnTypes( IndexWorkExecutor::purge ); + return doOperationOnTypes( IndexWorkspace::purge ); } @Override public CompletableFuture flush() { - return doOperationOnTypes( IndexWorkExecutor::flush ); + return doOperationOnTypes( IndexWorkspace::flush ); } - private CompletableFuture doOperationOnTypes(Function> operation) { - CompletableFuture[] futures = new CompletableFuture[workExecutors.size()]; + private CompletableFuture doOperationOnTypes(Function> operation) { + CompletableFuture[] futures = new CompletableFuture[delegates.size()]; int typeCounter = 0; - for ( IndexWorkExecutor workExecutor : workExecutors ) { - futures[typeCounter++] = operation.apply( workExecutor ); + for ( IndexWorkspace delegate : delegates ) { + futures[typeCounter++] = operation.apply( delegate ); } // TODO HSEARCH-3110 use an ErrorHandler here? diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeDocumentWorkExecutor.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeIndexer.java similarity index 83% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeDocumentWorkExecutor.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeIndexer.java index 7783c9dbfa1..f412359648f 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeDocumentWorkExecutor.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoTypeIndexer.java @@ -11,18 +11,18 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.mapper.pojo.session.context.spi.AbstractPojoBackendSessionContext; -public class PojoTypeDocumentWorkExecutor { +public class PojoTypeIndexer { private final AbstractPojoBackendSessionContext sessionContext; private final PojoWorkIndexedTypeContext typeContext; - private final IndexDocumentWorkExecutor delegate; + private final IndexIndexer delegate; - public PojoTypeDocumentWorkExecutor(PojoWorkIndexedTypeContext typeContext, + public PojoTypeIndexer(PojoWorkIndexedTypeContext typeContext, AbstractPojoBackendSessionContext sessionContext, - IndexDocumentWorkExecutor delegate) { + IndexIndexer delegate) { this.sessionContext = sessionContext; this.typeContext = typeContext; this.delegate = delegate; diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkContainedTypeContext.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkContainedTypeContext.java index 79b6840b977..7c6d5b9c222 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkContainedTypeContext.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkContainedTypeContext.java @@ -25,6 +25,6 @@ public interface PojoWorkContainedTypeContext { void resolveEntitiesToReindex(PojoReindexingCollector collector, PojoRuntimeIntrospector runtimeIntrospector, Supplier entitySupplier, Set dirtyPaths); - PojoContainedTypeWorkPlan createWorkPlan(AbstractPojoBackendSessionContext sessionContext); + PojoContainedTypeIndexingPlan createIndexingPlan(AbstractPojoBackendSessionContext sessionContext); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java index 8f93fedd30d..c5ae6f947b7 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/impl/PojoWorkIndexedTypeContext.java @@ -13,7 +13,7 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.mapper.pojo.bridge.mapping.impl.IdentifierMappingImplementor; import org.hibernate.search.mapper.pojo.automaticindexing.impl.PojoReindexingCollector; @@ -44,13 +44,13 @@ PojoDocumentContributor toDocumentContributor(Supplier entitySupplier, void resolveEntitiesToReindex(PojoReindexingCollector collector, PojoRuntimeIntrospector runtimeIntrospector, Supplier entitySupplier, Set dirtyPaths); - PojoIndexedTypeWorkPlan createWorkPlan(AbstractPojoBackendSessionContext sessionContext, + PojoIndexedTypeIndexingPlan createIndexingPlan(AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy); - PojoTypeDocumentWorkExecutor createDocumentWorkExecutor( + PojoTypeIndexer createIndexer( AbstractPojoBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy); - IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext); + IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoSessionWorkExecutor.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexer.java similarity index 87% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoSessionWorkExecutor.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexer.java index 1b1a0c19ea6..c39ed93ceb1 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoSessionWorkExecutor.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexer.java @@ -8,7 +8,11 @@ import java.util.concurrent.CompletableFuture; -public interface PojoSessionWorkExecutor { +/** + * An interface for indexing entities in the context of a session in a POJO mapper, + * immediately, asynchronously and without any sort of {@link PojoIndexingPlan planning}. + */ +public interface PojoIndexer { /** * Add an entity to the index, assuming that the entity is absent from the index. diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoWorkPlan.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexingPlan.java similarity index 73% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoWorkPlan.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexingPlan.java index a4a2048b9d7..6dca45ddf59 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoWorkPlan.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoIndexingPlan.java @@ -9,17 +9,23 @@ import java.util.concurrent.CompletableFuture; /** - * A set of works to be executed on POJO-mapped indexes. + * An interface for indexing entities in the context of a session in a POJO mapper. *

- * Works are accumulated when methods such as {@link #add(Object)} or {@link #update(Object, Object)} are called, - * and executed only when {@link #execute()} is called. + * This class is stateful: it queues operations internally to apply them at a later time. *

- * Relative ordering of works within a work plan will be preserved. + * When {@link #process()} is called, + * the entities will be processed and index documents will be built + * and stored in an internal buffer. + *

+ * When {@link #execute()} is called, + * the operations will be actually sent to the index. + *

+ * Note that {@link #execute()} will implicitly trigger processing of documents that weren't processed yet, + * if any, so calling {@link #process()} is not necessary if you call {@link #execute()} just next. *

* Implementations may not be thread-safe. - * */ -public interface PojoWorkPlan { +public interface PojoIndexingPlan { /** * Add an entity to the index, assuming that the entity is absent from the index. @@ -35,7 +41,7 @@ public interface PojoWorkPlan { *

* Note: depending on the backend, this may lead to errors or duplicate entries in the index * if the entity was actually already present in the index before this call. - * When in doubt, you should rather use {@link #update(Object, Object)} or {@link #update(Object)}. + * When in doubt, you should rather use {@link #addOrUpdate(Object, Object)} or {@link #addOrUpdate(Object)}. * * @param providedId A value to extract the document ID from. * Generally the expected value is the entity ID, but a different value may be expected depending on the mapping. @@ -47,11 +53,11 @@ public interface PojoWorkPlan { /** * Update an entity in the index, or add it if it's absent from the index. *

- * Shorthand for {@code update(null, entity)}; see {@link #update(Object, Object)}. + * Shorthand for {@code update(null, entity)}; see {@link #addOrUpdate(Object, Object)}. * * @param entity The entity to update in the index. */ - void update(Object entity); + void addOrUpdate(Object entity); /** * Update an entity in the index, or add it if it's absent from the index. @@ -61,7 +67,7 @@ public interface PojoWorkPlan { * If {@code null}, Hibernate Search will attempt to extract the ID from the entity. * @param entity The entity to update in the index. */ - void update(Object providedId, Object entity); + void addOrUpdate(Object providedId, Object entity); /** * Update an entity in the index, or add it if it's absent from the index, @@ -70,13 +76,13 @@ public interface PojoWorkPlan { *

* Assumes that the entity may already be present in the index. *

- * Shorthand for {@code update(null, entity, dirtyPaths)}; see {@link #update(Object, Object)}. + * Shorthand for {@code update(null, entity, dirtyPaths)}; see {@link #addOrUpdate(Object, Object)}. * * @param entity The entity to update in the index. * @param dirtyPaths The paths to consider dirty, formatted using the dot-notation * ("directEntityProperty.nestedPropery"). */ - void update(Object entity, String... dirtyPaths); + void addOrUpdate(Object entity, String... dirtyPaths); /** * Update an entity in the index, or add it if it's absent from the index, @@ -90,7 +96,7 @@ public interface PojoWorkPlan { * @param dirtyPaths The paths to consider dirty, formatted using the dot-notation * ("directEntityProperty.nestedPropery"). */ - void update(Object providedId, Object entity, String... dirtyPaths); + void addOrUpdate(Object providedId, Object entity, String... dirtyPaths); /** * Delete an entity from the index. @@ -127,31 +133,35 @@ public interface PojoWorkPlan { void purge(Class clazz, Object providedId); /** - * Prepare the work plan execution, i.e. execute as much as possible without writing to the index. + * Extract all data from objects passed to the indexing plan so far, + * create documents to be indexed and put them into an internal buffer, + * without writing them to the indexes. *

* In particular, ensure that all data is extracted from the POJOs * and converted to the backend-specific format. *

* Calling this method is optional: the {@link #execute()} method - * will perform the preparation if necessary. + * will perform the processing if necessary. */ - void prepare(); + void process(); /** - * Start executing all the works in this plan, and clear the plan so that it can be re-used. + * Write all pending changes to the index now, + * without waiting for a Hibernate ORM flush event or transaction commit, + * and clear the plan so that it can be re-used. * * @return A {@link CompletableFuture} that will be completed when all the works are complete. */ CompletableFuture execute(); /** - * Discard all works that are prepared but not yet executed. + * Discard all plans of indexing. */ void discard(); /** - * Discard all works that are not prepared yet. + * Discard all plans of indexing, except for parts that were already {@link #process() processed}. */ - void clearNotPrepared(); + void discardNotProcessed(); } diff --git a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkExecutor.java b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkspace.java similarity index 91% rename from mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkExecutor.java rename to mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkspace.java index 17394bbac94..0d9b7b4f502 100644 --- a/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkExecutor.java +++ b/mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/work/spi/PojoScopeWorkspace.java @@ -8,7 +8,7 @@ import java.util.concurrent.CompletableFuture; -public interface PojoScopeWorkExecutor { +public interface PojoScopeWorkspace { CompletableFuture optimize(); diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/BackendMock.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/BackendMock.java index 65f9c159bc6..237c21b8447 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/BackendMock.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/BackendMock.java @@ -264,11 +264,11 @@ public DocumentWorkCallListContext work(StubDocumentWork work) { return this; } - public BackendMock preparedThenExecuted(CompletableFuture future) { + public BackendMock processedThenExecuted(CompletableFuture future) { log.debugf( "Expecting %d works to be prepared, then executed", works.size() ); // First expect all works to be prepared, then expect all works to be executed works.stream() - .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PREPARE, work ) ) + .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PROCESS, work ) ) .forEach( expectationConsumer ); works.stream() .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.EXECUTE, work, future ) ) @@ -276,8 +276,8 @@ public BackendMock preparedThenExecuted(CompletableFuture future) { return BackendMock.this; } - public BackendMock preparedThenExecuted() { - return preparedThenExecuted( CompletableFuture.completedFuture( null ) ); + public BackendMock processedThenExecuted() { + return processedThenExecuted( CompletableFuture.completedFuture( null ) ); } public BackendMock executed(CompletableFuture future) { @@ -292,10 +292,10 @@ public BackendMock executed() { return executed( CompletableFuture.completedFuture( null ) ); } - public BackendMock prepared() { + public BackendMock processed() { log.debugf( "Expecting %d works to be prepared", works.size() ); works.stream() - .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PREPARE, work ) ) + .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PROCESS, work ) ) .forEach( expectationConsumer ); return BackendMock.this; } diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/DocumentWorkCall.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/DocumentWorkCall.java index 4b2cbd214e9..021f4ad15dd 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/DocumentWorkCall.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/DocumentWorkCall.java @@ -18,17 +18,19 @@ class DocumentWorkCall extends Call { enum WorkPhase { /** - * The initial state for a work. + * Processing of the work, in preparation for its execution. */ - PREPARE, + PROCESS, /** - * Works that are prepared and never discarded, may be executed. + * Actual execution of the work. + * Happens after processing, unless the work was discarded. */ EXECUTE, /** - * Works that are prepared and not yet executed, may be discarded from executions. + * Discarding of the work. + * Happens after processing, if the mapper decides to cancel some changes. */ DISCARD } diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/VerifyingStubBackendBehavior.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/VerifyingStubBackendBehavior.java index 550cc10b5dd..daae8f3ffe4 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/VerifyingStubBackendBehavior.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/VerifyingStubBackendBehavior.java @@ -105,10 +105,10 @@ public void pushSchema(String indexName, StubIndexSchemaNode rootSchemaNode) { } @Override - public void prepareDocumentWorks(String indexName, List works) { + public void processDocumentWorks(String indexName, List works) { CallQueue callQueue = getDocumentWorkCalls( indexName ); works.stream() - .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PREPARE, work ) ) + .map( work -> new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PROCESS, work ) ) .forEach( call -> callQueue.verify( call, DocumentWorkCall::verify, @@ -143,10 +143,10 @@ public CompletableFuture executeDocumentWorks(String indexName, List prepareAndExecuteDocumentWork(String indexName, StubDocumentWork work) { + public CompletableFuture processAndExecuteDocumentWork(String indexName, StubDocumentWork work) { CallQueue callQueue = getDocumentWorkCalls( indexName ); callQueue.verify( - new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PREPARE, work ), + new DocumentWorkCall( indexName, DocumentWorkCall.WorkPhase.PROCESS, work ), DocumentWorkCall::verify, noExpectationsBehavior( () -> CompletableFuture.completedFuture( null ) ) ); diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/StubBackendBehavior.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/StubBackendBehavior.java index 9fa5e0398ba..6200c98a61a 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/StubBackendBehavior.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/StubBackendBehavior.java @@ -37,7 +37,7 @@ public void pushSchema(String indexName, StubIndexSchemaNode rootSchemaNode) { } @Override - public void prepareDocumentWorks(String indexName, List works) { + public void processDocumentWorks(String indexName, List works) { throw new IllegalStateException( "The stub backend behavior was not set when works were prepared for index '" + indexName + "': " + works ); } @@ -55,7 +55,7 @@ public CompletableFuture executeDocumentWorks(String indexName, List prepareAndExecuteDocumentWork(String indexName, StubDocumentWork work) { + public CompletableFuture processAndExecuteDocumentWork(String indexName, StubDocumentWork work) { throw new IllegalStateException( "The stub backend behavior was not set when work were prepared and executed for index '" + indexName + "': " + work ); } @@ -102,13 +102,13 @@ protected StubBackendBehavior() { public abstract void pushSchema(String indexName, StubIndexSchemaNode rootSchemaNode); - public abstract void prepareDocumentWorks(String indexName, List works); + public abstract void processDocumentWorks(String indexName, List works); public abstract void discardDocumentWorks(String indexName, List works); public abstract CompletableFuture executeDocumentWorks(String indexName, List works); - public abstract CompletableFuture prepareAndExecuteDocumentWork(String indexName, StubDocumentWork work); + public abstract CompletableFuture processAndExecuteDocumentWork(String indexName, StubDocumentWork work); public abstract SearchResult executeSearchWork(Set indexNames, StubSearchWork work, StubSearchProjectionContext projectionContext, diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexDocumentWorkExecutor.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexer.java similarity index 90% rename from util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexDocumentWorkExecutor.java rename to util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexer.java index 83c926d57a4..38b1b752c52 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexDocumentWorkExecutor.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexer.java @@ -11,19 +11,19 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.document.StubDocumentNode; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.document.impl.StubDocumentElement; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.index.StubDocumentWork; -public class StubIndexDocumentWorkExecutor implements IndexDocumentWorkExecutor { +public class StubIndexIndexer implements IndexIndexer { private final StubIndexManager indexManager; private final BackendSessionContext sessionContext; private final DocumentCommitStrategy commitStrategy; - public StubIndexDocumentWorkExecutor(StubIndexManager indexManager, BackendSessionContext sessionContext, + public StubIndexIndexer(StubIndexManager indexManager, BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { this.indexManager = indexManager; this.sessionContext = sessionContext; diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkPlan.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexingPlan.java similarity index 93% rename from util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkPlan.java rename to util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexingPlan.java index 7c204304aed..0085b1c165f 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkPlan.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexIndexingPlan.java @@ -12,7 +12,7 @@ import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.work.execution.spi.DocumentContributor; import org.hibernate.search.engine.backend.work.execution.spi.DocumentReferenceProvider; import org.hibernate.search.engine.backend.session.spi.BackendSessionContext; @@ -20,7 +20,7 @@ import org.hibernate.search.util.impl.integrationtest.common.stub.backend.index.StubDocumentWork; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.document.impl.StubDocumentElement; -class StubIndexWorkPlan implements IndexWorkPlan { +class StubIndexIndexingPlan implements IndexIndexingPlan { private final StubIndexManager indexManager; private final BackendSessionContext sessionContext; private final DocumentCommitStrategy commitStrategy; @@ -30,7 +30,7 @@ class StubIndexWorkPlan implements IndexWorkPlan { private int preparedIndex = 0; - StubIndexWorkPlan(StubIndexManager indexManager, BackendSessionContext sessionContext, + StubIndexIndexingPlan(StubIndexManager indexManager, BackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { this.sessionContext = sessionContext; this.indexManager = indexManager; @@ -76,14 +76,14 @@ public void delete(DocumentReferenceProvider documentReferenceProvider) { } @Override - public void prepare() { - indexManager.prepare( works.subList( preparedIndex, works.size() ) ); + public void process() { + indexManager.process( works.subList( preparedIndex, works.size() ) ); preparedIndex = works.size(); } @Override public CompletableFuture execute() { - prepare(); + process(); CompletableFuture future = indexManager.execute( works ); works.clear(); preparedIndex = 0; diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexManager.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexManager.java index bc7db9efd8b..c86852151cf 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexManager.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexManager.java @@ -13,10 +13,10 @@ import org.hibernate.search.engine.backend.index.IndexManager; import org.hibernate.search.engine.backend.index.spi.IndexManagerStartContext; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.scope.spi.IndexScopeBuilder; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.backend.index.spi.IndexManagerImplementor; import org.hibernate.search.engine.backend.mapping.spi.BackendMappingContext; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; @@ -71,20 +71,20 @@ public void start(IndexManagerStartContext context) { } @Override - public IndexWorkPlan createWorkPlan(BackendSessionContext context, + public IndexIndexingPlan createIndexingPlan(BackendSessionContext context, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return new StubIndexWorkPlan( this, context, commitStrategy, refreshStrategy ); + return new StubIndexIndexingPlan( this, context, commitStrategy, refreshStrategy ); } @Override - public IndexDocumentWorkExecutor createDocumentWorkExecutor(BackendSessionContext context, + public IndexIndexer createIndexer(BackendSessionContext context, DocumentCommitStrategy commitStrategy) { - return new StubIndexDocumentWorkExecutor( this, context, commitStrategy ); + return new StubIndexIndexer( this, context, commitStrategy ); } @Override - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return new StubIndexWorkExecutor( name, backend.getBehavior(), sessionContext ); + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return new StubIndexWorkspace( name, backend.getBehavior(), sessionContext ); } @Override @@ -111,8 +111,8 @@ public T unwrap(Class clazz) { throw new SearchException( "Cannot unwrap " + this + " to " + clazz ); } - void prepare(List works) { - backend.getBehavior().prepareDocumentWorks( name, works ); + void process(List works) { + backend.getBehavior().processDocumentWorks( name, works ); } CompletableFuture execute(List works) { @@ -120,7 +120,7 @@ CompletableFuture execute(List works) { } CompletableFuture prepareAndExecuteWork(StubDocumentWork work) { - return backend.getBehavior().prepareAndExecuteDocumentWork( name, work ); + return backend.getBehavior().processAndExecuteDocumentWork( name, work ); } public void discard(List works) { diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkExecutor.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkspace.java similarity index 92% rename from util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkExecutor.java rename to util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkspace.java index b56a1e1ad38..030563ccd65 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkExecutor.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubIndexWorkspace.java @@ -9,18 +9,18 @@ import java.util.Collections; import java.util.concurrent.CompletableFuture; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.StubBackendBehavior; import org.hibernate.search.util.impl.integrationtest.common.stub.backend.index.StubIndexScopeWork; -class StubIndexWorkExecutor implements IndexWorkExecutor { +class StubIndexWorkspace implements IndexWorkspace { private final String indexName; private final StubBackendBehavior behavior; private final DetachedBackendSessionContext sessionContext; - StubIndexWorkExecutor(String indexName, StubBackendBehavior behavior, + StubIndexWorkspace(String indexName, StubBackendBehavior behavior, DetachedBackendSessionContext sessionContext) { this.indexName = indexName; this.behavior = behavior; diff --git a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingIndexManager.java b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingIndexManager.java index 18990d9a42b..6d8c1bce37b 100644 --- a/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingIndexManager.java +++ b/util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingIndexManager.java @@ -8,10 +8,10 @@ import org.hibernate.search.engine.backend.document.DocumentElement; import org.hibernate.search.engine.backend.work.execution.DocumentCommitStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexDocumentWorkExecutor; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexer; import org.hibernate.search.engine.backend.work.execution.DocumentRefreshStrategy; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkExecutor; -import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkPlan; +import org.hibernate.search.engine.backend.work.execution.spi.IndexWorkspace; +import org.hibernate.search.engine.backend.work.execution.spi.IndexIndexingPlan; import org.hibernate.search.engine.mapper.mapping.spi.MappedIndexManager; import org.hibernate.search.engine.mapper.scope.spi.MappedIndexScopeBuilder; import org.hibernate.search.engine.backend.session.spi.DetachedBackendSessionContext; @@ -35,43 +35,43 @@ public T unwrapForTests(Class clazz) { return clazz.cast( indexManager.toAPI() ); } - public IndexWorkPlan createWorkPlan() { - return createWorkPlan( new StubBackendSessionContext() ); + public IndexIndexingPlan createIndexingPlan() { + return createIndexingPlan( new StubBackendSessionContext() ); } - public IndexWorkPlan createWorkPlan(StubBackendSessionContext sessionContext) { + public IndexIndexingPlan createIndexingPlan(StubBackendSessionContext sessionContext) { /* * Use the same defaults as in the ORM mapper for the commit strategy, * but force refreshes because it's more convenient for tests. */ - return indexManager.createWorkPlan( sessionContext, DocumentCommitStrategy.FORCE, DocumentRefreshStrategy.FORCE ); + return indexManager.createIndexingPlan( sessionContext, DocumentCommitStrategy.FORCE, DocumentRefreshStrategy.FORCE ); } - public IndexWorkPlan createWorkPlan(StubBackendSessionContext sessionContext, + public IndexIndexingPlan createIndexingPlan(StubBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy) { - return indexManager.createWorkPlan( sessionContext, commitStrategy, refreshStrategy ); + return indexManager.createIndexingPlan( sessionContext, commitStrategy, refreshStrategy ); } - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( DocumentCommitStrategy commitStrategy) { - return createDocumentWorkExecutor( new StubBackendSessionContext(), commitStrategy ); + return createIndexer( new StubBackendSessionContext(), commitStrategy ); } - public IndexDocumentWorkExecutor createDocumentWorkExecutor( + public IndexIndexer createIndexer( StubBackendSessionContext sessionContext, DocumentCommitStrategy commitStrategy) { - return indexManager.createDocumentWorkExecutor( sessionContext, commitStrategy ); + return indexManager.createIndexer( sessionContext, commitStrategy ); } - public IndexWorkExecutor createWorkExecutor() { - return createWorkExecutor( new StubBackendSessionContext() ); + public IndexWorkspace createWorkspace() { + return createWorkspace( new StubBackendSessionContext() ); } - public IndexWorkExecutor createWorkExecutor(StubBackendSessionContext sessionContext) { - return createWorkExecutor( DetachedBackendSessionContext.of( sessionContext ) ); + public IndexWorkspace createWorkspace(StubBackendSessionContext sessionContext) { + return createWorkspace( DetachedBackendSessionContext.of( sessionContext ) ); } - public IndexWorkExecutor createWorkExecutor(DetachedBackendSessionContext sessionContext) { - return indexManager.createWorkExecutor( sessionContext ); + public IndexWorkspace createWorkspace(DetachedBackendSessionContext sessionContext) { + return indexManager.createWorkspace( sessionContext ); } /**