Skip to content

Commit

Permalink
MODSOURCE-787: Extend MARC-MARC search query to account for compariso…
Browse files Browse the repository at this point in the history
…n part (#751)

* MODSOURCE-787: Extend MARC-MARC search query to account for comparison part
  • Loading branch information
Aliaksandr-Fedasiuk authored Aug 14, 2024
1 parent 0925860 commit 12cd2c2
Showing 1 changed file with 17 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.folio.rest.jaxrs.model.Field;
import org.folio.rest.jaxrs.model.Filter;
import org.folio.rest.jaxrs.model.ProfileSnapshotWrapper;
import org.folio.rest.jaxrs.model.Qualifier;
import org.folio.rest.jaxrs.model.Record;
import org.folio.rest.jaxrs.model.RecordIdentifiersDto;
import org.folio.rest.jaxrs.model.RecordMatchingDto;
Expand All @@ -45,6 +46,7 @@
import static java.lang.String.format;
import static org.apache.http.HttpStatus.SC_OK;
import static org.folio.processing.value.Value.ValueType.MISSING;
import static org.folio.rest.jaxrs.model.Filter.*;
import static org.folio.rest.jaxrs.model.MatchExpression.DataValueType.VALUE_FROM_RECORD;
import static org.folio.rest.jaxrs.model.ProfileType.MATCH_PROFILE;

Expand Down Expand Up @@ -193,14 +195,28 @@ private RecordMatchingDto buildRecordsMatchingRequest(MatchDetail matchDetail, V
default -> Collections.emptyList();
};

Qualifier qualifier = matchDetail.getExistingMatchExpression().getQualifier();
Filter.Qualifier qualifierFilterType = null;
ComparisonPartType comparisonPartType = null;
String qualifierValue = null;

if (qualifier != null) {
qualifierFilterType = Filter.Qualifier.valueOf(qualifier.getQualifierType().toString());
qualifierValue = qualifier.getQualifierValue();
comparisonPartType = ComparisonPartType.valueOf(qualifier.getComparisonPart().toString());
}

return new RecordMatchingDto()
.withRecordType(getMatchedRecordType())
.withFilters(List.of(new Filter()
.withValues(values)
.withField(field)
.withIndicator1(ind1)
.withIndicator2(ind2)
.withSubfield(subfield)))
.withSubfield(subfield)
.withQualifier(qualifierFilterType)
.withQualifierValue(qualifierValue)
.withComparisonPartType(comparisonPartType)))
.withReturnTotalRecordsCount(true);
}

Expand Down

0 comments on commit 12cd2c2

Please sign in to comment.