Skip to content

Commit

Permalink
Revert "'#2251 and '#2163 apply duplicate filter as last filterer."
Browse files Browse the repository at this point in the history
This reverts commit 5b72dc6.
  • Loading branch information
patrickdalla committed Jun 28, 2024
1 parent 5b72dc6 commit 8b2878d
Showing 1 changed file with 22 additions and 38 deletions.
60 changes: 22 additions & 38 deletions iped-app/src/main/java/iped/app/ui/CaseSearcherFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import iped.app.ui.App.DuplicatesFilterer;
import iped.engine.data.IPEDMultiSource;
import iped.engine.data.IPEDSource;
import iped.engine.data.ItemId;
Expand Down Expand Up @@ -183,8 +182,6 @@ public MultiSearchResult doInBackground() {
allItemsCache = new SoftReference(result.clone());
}

IResultSetFilterer dupFilterer = null;

result.setIPEDSource(ipedCase);

if (applyUIFilters && filterManager != null) {
Expand All @@ -196,11 +193,27 @@ public MultiSearchResult doInBackground() {
}

IResultSetFilterer iRSFilterer = (IResultSetFilterer) iterator.next();
if(iRSFilterer instanceof DuplicatesFilterer) {
dupFilterer=iRSFilterer;
continue;//Duplicate filterer must be applied as last filterer
if (filterManager.isFiltererEnabled(iRSFilterer)) {
IFilter rsFilter = iRSFilterer.getFilter();

if (rsFilter != null) {
if (rsFilter instanceof IBitmapFilter) {// if the filter exposes a internal bitmap
addBitmapFilter((IBitmapFilter) rsFilter);
} else {
RoaringBitmap[] cachedBitmaps = filterManager.getCachedBitmaps((IResultSetFilter) rsFilter);
if (cachedBitmaps != null) { // if filtermanager returned a cached bitmap
addBitmapFilter(cachedBitmaps);
} else {
MultiSearchResult newresult = filterManager.applyFilter((IResultSetFilter) rsFilter, result);
if (newresult != result) {
numFilters++;
result = newresult;
result.setIPEDSource(ipedCase);
}
}
}
}
}
applyFilterer(iRSFilterer, result);
}
}

Expand All @@ -223,11 +236,6 @@ public MultiSearchResult doInBackground() {
result.setIPEDSource(ipedCase);
}
}

if(dupFilterer!=null) {
applyFilterer(dupFilterer, result);
}


} catch (Throwable e) {
if (!(e instanceof CancellationException)) {
Expand All @@ -248,31 +256,7 @@ public MultiSearchResult doInBackground() {

}

private void applyFilterer(IResultSetFilterer iRSFilterer, MultiSearchResult result2) {
if (filterManager.isFiltererEnabled(iRSFilterer)) {
IFilter rsFilter = iRSFilterer.getFilter();

if (rsFilter != null) {
if (rsFilter instanceof IBitmapFilter) {// if the filter exposes a internal bitmap
addBitmapFilter((IBitmapFilter) rsFilter);
} else {
RoaringBitmap[] cachedBitmaps = filterManager.getCachedBitmaps((IResultSetFilter) rsFilter);
if (cachedBitmaps != null) { // if filtermanager returned a cached bitmap
addBitmapFilter(cachedBitmaps);
} else {
MultiSearchResult newresult = filterManager.applyFilter((IResultSetFilter) rsFilter, result);
if (newresult != result) {
numFilters++;
result = newresult;
result.setIPEDSource(ipedCase);
}
}
}
}
}
}

@Override
@Override
public void done() {
for (CaseSearchFilterListener caseSearchFilterListener : listeners) {
if (isCancelled()) {
Expand Down Expand Up @@ -376,6 +360,6 @@ public void addBitmapFilter(RoaringBitmap[] lunionsArray) {
} else {
unionsArray[i].and(lunionsArray[i]);
}
}
}
}
}

0 comments on commit 8b2878d

Please sign in to comment.