Skip to content

Commit 2edfdac

Browse files
committed
avoid duplicate loop over datasetVersions
1 parent 9490e8f commit 2edfdac

File tree

1 file changed

+6
-28
lines changed

1 file changed

+6
-28
lines changed

src/main/java/edu/harvard/iq/dataverse/search/SolrIndexServiceBean.java

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -491,34 +491,12 @@ private String reindexFilesInBatches(List<DataFile> filesToReindexPermissionsFor
491491
permStringByDatasetVersion.put(datasetVersionFileIsAttachedTo.getId(), searchPermissionsService.findDatasetVersionPerms(datasetVersionFileIsAttachedTo));
492492
}
493493
}
494-
495-
//ToDo - are we creating these docs twice - both this loop and constructDatafileSolrDocs go through all versions?
496-
for (DatasetVersion datasetVersionFileIsAttachedTo : datasetVersions) {
497-
boolean cardShouldExist = desiredCards.get(datasetVersionFileIsAttachedTo.getVersionState());
498-
499-
if (cardShouldExist) {
500-
for (DataFile file : filesToReindexPermissionsFor) {
501-
List<String> cachedPermission = permStringByDatasetVersion.get(datasetVersionFileIsAttachedTo.getId());
502-
if (cachedPermission == null) {
503-
logger.warning("no cached permission! Looking it up...");
504-
List<DvObjectSolrDoc> fileSolrDocs = constructDatafileSolrDocs(file, permStringByDatasetVersion, desiredCards, datasetVersions);
505-
for (DvObjectSolrDoc fileSolrDoc : fileSolrDocs) {
506-
Long datasetVersionId = fileSolrDoc.getDatasetVersionId();
507-
if (datasetVersionId != null) {
508-
permStringByDatasetVersion.put(datasetVersionId, fileSolrDoc.getPermissions());
509-
SolrInputDocument solrDoc = SearchUtil.createSolrDoc(fileSolrDoc);
510-
docs.add(solrDoc);
511-
}
512-
}
513-
} else {
514-
logger.finest("cached permission is " + cachedPermission);
515-
List<DvObjectSolrDoc> fileSolrDocsBasedOnCachedPermissions = constructDatafileSolrDocs(file, permStringByDatasetVersion, desiredCards, datasetVersions);
516-
for (DvObjectSolrDoc fileSolrDoc : fileSolrDocsBasedOnCachedPermissions) {
517-
SolrInputDocument solrDoc = SearchUtil.createSolrDoc(fileSolrDoc);
518-
docs.add(solrDoc);
519-
}
520-
}
521-
}
494+
495+
for (DataFile file : filesToReindexPermissionsFor) {
496+
List<DvObjectSolrDoc> fileSolrDocsBasedOnCachedPermissions = constructDatafileSolrDocs(file, permStringByDatasetVersion, desiredCards, datasetVersions);
497+
for (DvObjectSolrDoc fileSolrDoc : fileSolrDocsBasedOnCachedPermissions) {
498+
SolrInputDocument solrDoc = SearchUtil.createSolrDoc(fileSolrDoc);
499+
docs.add(solrDoc);
522500
}
523501
}
524502

0 commit comments

Comments
 (0)