Skip to content

Commit 8045f84

Browse files
author
Sharon Shabtai
authored
Merge pull request #307 from scribe/SearchFixDev
Moving over code Search fix
2 parents fbc7339 + ba4df3e commit 8045f84

File tree

3 files changed

+25
-22
lines changed

3 files changed

+25
-22
lines changed

Builders/Mac/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
CODESIGN_IDENTITY='Developer ID Application: Spectra Logic Corporation (YAUF7295LE)'
44

5-
VERSION='5.0.10'
5+
VERSION='5.0.11'
66

77
/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/bin/javafxpackager -deploy -native dmg -srcfiles ../../dsb-gui/build/libs/dsb-gui-$VERSION-all.jar -outdir deploy -appclass com.spectralogic.dsbrowser.gui.Main -outfile BlackPearlEonBrowser -name BlackPearlEonBrowser -BappVersion=$VERSION -Bicon=eonbrowse.icns -v
88

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515

1616
buildscript {
17-
ext.kotlin_version = '1.3.50'
17+
ext.kotlin_version = '1.3.71'
1818

1919
repositories {
2020
maven {
@@ -35,7 +35,7 @@ plugins {
3535

3636
allprojects {
3737
group = 'com.spectralogic.dsbrowser'
38-
version = '5.0.10'
38+
version = '5.0.11'
3939
}
4040

4141
subprojects {

dsb-gui/src/main/java/com/spectralogic/dsbrowser/gui/services/tasks/SearchJobTask.java

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@
3030
import com.spectralogic.dsbrowser.gui.services.Workers;
3131
import com.spectralogic.dsbrowser.gui.services.sessionStore.Session;
3232
import com.spectralogic.dsbrowser.gui.util.*;
33+
import com.spectralogic.dsbrowser.util.GuavaCollectors;
3334
import javafx.scene.layout.HBox;
3435
import org.slf4j.Logger;
3536
import org.slf4j.LoggerFactory;
3637

3738
import java.util.ArrayList;
3839
import java.util.List;
3940
import java.util.Optional;
41+
import java.util.stream.Stream;
4042

4143
public class SearchJobTask extends Ds3Task<List<Ds3TreeTableItem>> {
4244
private final static Logger LOG = LoggerFactory.getLogger(SearchJobTask.class);
@@ -67,26 +69,27 @@ public SearchJobTask(final List<Bucket> searchableBuckets,
6769
@Override
6870
protected List<Ds3TreeTableItem> call() throws Exception {
6971
try {
70-
final List<Ds3TreeTableItem> list = new ArrayList<>();
71-
searchableBuckets.forEach(bucket -> {
72-
if (bucket.getName().contains(searchText)) {
73-
loggingService.logMessage(StringBuilderUtil.bucketFoundMessage("'" + searchText + "'", bucket.getName()).toString(), LogType.SUCCESS);
74-
final Ds3TreeTableValue value = new Ds3TreeTableValue(bucket.getName(), bucket.getName(), Ds3TreeTableValue.Type.Bucket,
75-
0, StringConstants.TWO_DASH, StringConstants.TWO_DASH, false, null);
76-
list.add(new Ds3TreeTableItem(value.getName(), session, value, workers, ds3Common, dateTimeUtils, loggingService));
77-
} else {
78-
final List<DetailedS3Object> detailedDs3Objects = getDetailedDs3Objects(bucket.getName());
79-
if (Guard.isNotNullAndNotEmpty(detailedDs3Objects)) {
80-
final List<Ds3TreeTableItem> treeTableItems = buildTreeItems(detailedDs3Objects, bucket.getName(), dateTimeUtils);
81-
if (Guard.isNotNullAndNotEmpty(treeTableItems)) {
82-
list.addAll(treeTableItems);
83-
loggingService.logMessage(StringBuilderUtil.searchInBucketMessage(bucket.getName(), list.size()).toString(),
84-
LogType.SUCCESS);
72+
return searchableBuckets.parallelStream().map(Bucket::getName)
73+
.flatMap(bucketName -> {
74+
if (bucketName.contains(searchText)) {
75+
loggingService.logMessage(StringBuilderUtil.bucketFoundMessage("'" + searchText + "'", bucketName).toString(), LogType.SUCCESS);
76+
final Ds3TreeTableValue value = new Ds3TreeTableValue(bucketName, bucketName, Ds3TreeTableValue.Type.Bucket,
77+
0, StringConstants.TWO_DASH, StringConstants.TWO_DASH, false, null);
78+
return Stream.of(new Ds3TreeTableItem(value.getName(), session, value, workers, ds3Common, dateTimeUtils, loggingService));
79+
} else {
80+
final List<DetailedS3Object> detailedDs3Objects = getDetailedDs3Objects(bucketName);
81+
if (Guard.isNotNullAndNotEmpty(detailedDs3Objects)) {
82+
final List<Ds3TreeTableItem> treeTableItems = buildTreeItems(detailedDs3Objects, bucketName, dateTimeUtils);
83+
if (Guard.isNotNullAndNotEmpty(treeTableItems)) {
84+
loggingService.logMessage(StringBuilderUtil.searchInBucketMessage(bucketName, treeTableItems.size()).toString(),
85+
LogType.SUCCESS);
86+
return treeTableItems.stream();
87+
}
88+
}
89+
return Stream.empty();
8590
}
86-
}
87-
}
88-
});
89-
return list;
91+
})
92+
.collect(GuavaCollectors.immutableList());
9093
} catch (final Exception e) {
9194
LOG.error("Search failed", e);
9295
loggingService.logMessage(StringBuilderUtil.searchFailedMessage().append(e).toString(), LogType.ERROR);

0 commit comments

Comments
 (0)