From ef17a05a9478219c56961eb44aa25b142daf84da Mon Sep 17 00:00:00 2001
From: mbrodhu <behnert-brodhun@sub.uni-goettingen.de>
Date: Tue, 15 Dec 2020 17:23:23 +0100
Subject: [PATCH] filter sandboxed files

---
 .../middleware/IdentifierListDelivererAbstract.java        | 6 +++---
 .../textgrid/middleware/RecordListDelivererAbstract.java   | 7 +++++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
index d0bcf023..e9bcf802 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java
@@ -87,7 +87,7 @@ public abstract class IdentifierListDelivererAbstract implements IdentifierListD
       System.out.println("TO: " + until);
       
       QueryBuilder rangeQuery = QueryBuilders.rangeQuery("created").from(from).to(until);
-    	
+      QueryBuilder filterSandBox = QueryBuilders.matchPhraseQuery("nearlyPublished", "true");
     	if(set!=null) {
     		String[] setParts = set.split(":");
     		
@@ -100,11 +100,11 @@ public abstract class IdentifierListDelivererAbstract implements IdentifierListD
           }
           
           QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery(queryField, valueField);
-          QueryBuilder boolQuery = QueryBuilders.boolQuery().must(rangeQuery).must(matchQuery);
+          QueryBuilder boolQuery = QueryBuilders.boolQuery().must(rangeQuery).must(matchQuery).mustNot(filterSandBox);
           
           query = boolQuery;
       }else {
-         query = rangeQuery;
+    	  query = QueryBuilders.boolQuery().must(rangeQuery).mustNot(filterSandBox);
       }  	
     	
     	return getConentFromESIndex(query, resumptionToken, set);
diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
index 6190d550..41c047dd 100644
--- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
+++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java
@@ -59,6 +59,8 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer
     //System.out.println("RANGEFIELD: " + "created");
     QueryBuilder rangeQuery = QueryBuilders.rangeQuery("created").from(from).to(to);
   	
+    QueryBuilder filterSandBox = QueryBuilders.matchPhraseQuery("nearlyPublished", "true");
+    
   	if(set!=null && !set.equals("openaire_data")) {
   		String[] setParts = set.split(":");
   		
@@ -71,11 +73,12 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer
         }
         
         QueryBuilder matchQuery = QueryBuilders.matchPhraseQuery(queryField, valueField);
-        QueryBuilder boolQuery = QueryBuilders.boolQuery().must(rangeQuery).must(matchQuery);
+        QueryBuilder boolQuery = QueryBuilders.boolQuery().must(rangeQuery).must(matchQuery).mustNot(filterSandBox);
         
         query = boolQuery;
     }else {
-       query = rangeQuery;
+       //query = rangeQuery;
+       query = QueryBuilders.boolQuery().must(rangeQuery).mustNot(filterSandBox);
     }  	
   	
   	return getFieldsFromESIndex(query, resumptionToken, set);
-- 
GitLab