Skip to content

Commit

Permalink
fix(mod-search): fix export of cql files
Browse files Browse the repository at this point in the history
- add shared to filter

Closes: MSEARCH-762
  • Loading branch information
viacheslavpoliakov committed Jun 7, 2024
1 parent b5e3c63 commit b34f4ca
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 14 deletions.
12 changes: 1 addition & 11 deletions src/main/java/org/folio/search/service/ResourceIdService.java
Original file line number Diff line number Diff line change
Expand Up @@ -174,24 +174,14 @@ private void streamResourceIds(CqlResourceIdsRequest request, Consumer<List<Stri
.size(streamIdsProperties.getScrollQuerySize())
.fetchSource(new String[] {request.getSourceFieldPath()}, null)
.sort(fieldSort("_doc"));
log.info("[SLY] *** CONSORTIUM query: {}",
log.info("[SLY] *** RESOURCE: {}, CONSORTIUM query: {}", request.getResource(),
new SearchRequest("CONSORTIUM").source(searchSourceConsortium).toString());

boolean simpleSrc = !isConsortium && !isShared;
log.info("[SLY] *** WILL USE [{}] REQUEST:{}", request.getTenantId(), request.toString());
searchRepository.streamResourceIds(request, simpleSrc ? searchSource : searchSourceConsortium, idsConsumer);
}

private SearchSourceBuilder getSearchSourceBuilder(CqlResourceIdsRequest request) {
if (!request.getTenantId().equalsIgnoreCase("consortium")
&& request.getQuery().contains("shared==\"false\"")) {
return queryConverter.convertForConsortia(
request.getQuery(),
request.getResource(), true);
}
return queryConverter.convertForConsortia(request.getQuery(), request.getResource());
}

private void processStreamToJson(OutputStream outputStream,
BiConsumer<JsonGenerator, AtomicInteger> idsStreamProcessor) {
try (var json = objectMapper.createGenerator(outputStream)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ public class ConsortiumSearchHelper {
public QueryBuilder filterQueryForActiveAffiliation(QueryBuilder query, String resource) {
var contextTenantId = folioExecutionContext.getTenantId();
var centralTenantId = consortiumTenantService.getCentralTenant(contextTenantId);
logger.info("[SLY] *** CONTEXT: {}, CENTRAL: {}, RESOURCE: {}", contextTenantId, centralTenantId, resource);
logger.info("[SLY] *** query: {}", query.toString());

if (centralTenantId.isEmpty()) {
return query;
}
Expand Down Expand Up @@ -163,7 +166,7 @@ private LinkedList<QueryBuilder> getAffiliationShouldClauses(String contextTenan
var affiliationShouldClauses = new LinkedList<QueryBuilder>();
addTenantIdAffiliationShouldClause(contextTenantId, centralTenantId, affiliationShouldClauses,
resource);
addSharedAffiliationShouldClause(affiliationShouldClauses, resource);
addSharedAffiliationShouldClause(affiliationShouldClauses, resource, contextTenantId.equals(centralTenantId));
return affiliationShouldClauses;
}

Expand All @@ -175,8 +178,8 @@ private void addTenantIdAffiliationShouldClause(String contextTenantId, String c
}

private void addSharedAffiliationShouldClause(LinkedList<QueryBuilder> affiliationShouldClauses,
String resource) {
affiliationShouldClauses.add(termQuery(getFieldForResource(SHARED_FIELD_NAME, resource), true));
String resource, boolean isShared) {
affiliationShouldClauses.add(termQuery(getFieldForResource(SHARED_FIELD_NAME, resource), isShared));
}

private void removeOriginalSharedFilterFromQuery(QueryBuilder queryBuilder) {
Expand Down

0 comments on commit b34f4ca

Please sign in to comment.