Skip to content

Commit cfb6185

Browse files
authored
Merge pull request #11707 from IQSS/11692-search-api-bug
11692 search api bug
2 parents bbc9bd4 + 8950015 commit cfb6185

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/main/java/edu/harvard/iq/dataverse/DatasetVersionFilesServiceBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,8 @@ private Predicate createSearchCriteriaPredicate(DatasetVersion datasetVersion,
294294
String searchText = searchCriteria.getSearchText();
295295
if (searchText != null && !searchText.isEmpty()) {
296296
searchText = searchText.trim().toLowerCase();
297-
predicates.add(criteriaBuilder.like(fileMetadataRoot.get("label"), "%" + searchText + "%"));
297+
predicates.add(criteriaBuilder.or(criteriaBuilder.like(criteriaBuilder.lower(fileMetadataRoot.get("label")), "%" + searchText + "%"),
298+
criteriaBuilder.like(criteriaBuilder.lower(fileMetadataRoot.get("description")), "%" + searchText + "%")));
298299
}
299300
return criteriaBuilder.and(predicates.toArray(new Predicate[]{}));
300301
}

src/test/java/edu/harvard/iq/dataverse/api/DatasetsIT.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5356,6 +5356,29 @@ public void getVersionFiles() throws IOException, InterruptedException {
53565356

53575357
fileMetadatasCount = getVersionFilesResponseSearchText.jsonPath().getList("data").size();
53585358
assertEquals(1, fileMetadatasCount);
5359+
5360+
// Test search for file metadata description
5361+
5362+
// Update file metadata
5363+
String updateDescription = "Updated description. Again";
5364+
5365+
String updateJsonString = "{\"description\":\""+updateDescription+"\"}";
5366+
Response updateMetadataResponse = UtilIT.updateFileMetadata(testFileId2, updateJsonString, apiToken);
5367+
updateMetadataResponse.prettyPrint();
5368+
updateMetadataResponse.then().assertThat().statusCode(OK.getStatusCode());
5369+
5370+
Response getVersionFilesResponseSearchTextDescription = UtilIT.getVersionFiles(datasetId, DS_VERSION_LATEST, null, null, null, null, null, null, "again", null, false, apiToken);
5371+
5372+
getVersionFilesResponseSearchTextDescription.prettyPrint();
5373+
5374+
getVersionFilesResponseSearchTextDescription.then().assertThat()
5375+
.statusCode(OK.getStatusCode())
5376+
.body("data[0].label", equalTo(testFileName2));
5377+
5378+
fileMetadatasCount = getVersionFilesResponseSearchText.jsonPath().getList("data").size();
5379+
assertEquals(1, fileMetadatasCount);
5380+
5381+
53595382

53605383
// Test Deaccessioned
53615384
Response publishDataverseResponse = UtilIT.publishDataverseViaNativeApi(dataverseAlias, apiToken);

0 commit comments

Comments
 (0)