From 173cbca5973d7bc2081e1db7ed92ff022f08e925 Mon Sep 17 00:00:00 2001
From: "Stefan E. Funk" <funk@sub.uni-goettingen.de>
Date: Thu, 9 Feb 2023 14:04:28 +0100
Subject: [PATCH] fix: remove sandbox items from dc record list

---
 .../textgrid/middleware/RecordListDelivererDC.java     | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
index 976f99c6..854d6fd6 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java
@@ -142,9 +142,15 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
       // All objects!
       recordFilter = query;
     } else {
+      // No sandbox items.
+      QueryBuilder tgFilterSandBox = QueryBuilders.matchPhraseQuery("nearlyPublished", "true");
       // All editions only!
-      recordFilter = QueryBuilders.boolQuery().must(query)
-          .must(QueryBuilders.matchPhraseQuery(this.formatField, this.formatToFilter));
+      QueryBuilder tgEditionsOnly =
+          QueryBuilders.matchPhraseQuery(this.formatField, this.formatToFilter);
+
+      // Compose query.
+      recordFilter =
+          QueryBuilders.boolQuery().must(query).must(tgEditionsOnly).mustNot(tgFilterSandBox);
     }
 
     SearchRequest searchRequest = new SearchRequest(this.oaiEsClient.getEsIndex());
-- 
GitLab