From ba4df3e70e63091ef05a97ff1d414bb55d27d322 Mon Sep 17 00:00:00 2001 From: Eric <192110+scribe@users.noreply.github.com> Date: Fri, 3 Apr 2020 11:14:39 -0600 Subject: [PATCH] Moving over code --- Builders/Mac/build.sh | 2 +- build.gradle | 4 +- .../gui/services/tasks/SearchJobTask.java | 41 ++++++++++--------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/Builders/Mac/build.sh b/Builders/Mac/build.sh index c917e2b0..e25b5aa2 100755 --- a/Builders/Mac/build.sh +++ b/Builders/Mac/build.sh @@ -2,7 +2,7 @@ CODESIGN_IDENTITY='Developer ID Application: Spectra Logic Corporation (YAUF7295LE)' -VERSION='5.0.10' +VERSION='5.0.11' /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 diff --git a/build.gradle b/build.gradle index 674c6aa0..c84f97f1 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ */ buildscript { - ext.kotlin_version = '1.3.50' + ext.kotlin_version = '1.3.71' repositories { maven { @@ -35,7 +35,7 @@ plugins { allprojects { group = 'com.spectralogic.dsbrowser' - version = '5.0.10' + version = '5.0.11' } subprojects { diff --git a/dsb-gui/src/main/java/com/spectralogic/dsbrowser/gui/services/tasks/SearchJobTask.java b/dsb-gui/src/main/java/com/spectralogic/dsbrowser/gui/services/tasks/SearchJobTask.java index 2715385a..f2ed200f 100644 --- a/dsb-gui/src/main/java/com/spectralogic/dsbrowser/gui/services/tasks/SearchJobTask.java +++ b/dsb-gui/src/main/java/com/spectralogic/dsbrowser/gui/services/tasks/SearchJobTask.java @@ -30,6 +30,7 @@ import com.spectralogic.dsbrowser.gui.services.Workers; import com.spectralogic.dsbrowser.gui.services.sessionStore.Session; import com.spectralogic.dsbrowser.gui.util.*; +import com.spectralogic.dsbrowser.util.GuavaCollectors; import javafx.scene.layout.HBox; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,6 +38,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.stream.Stream; public class SearchJobTask extends Ds3Task> { private final static Logger LOG = LoggerFactory.getLogger(SearchJobTask.class); @@ -67,26 +69,27 @@ public SearchJobTask(final List searchableBuckets, @Override protected List call() throws Exception { try { - final List list = new ArrayList<>(); - searchableBuckets.forEach(bucket -> { - if (bucket.getName().contains(searchText)) { - loggingService.logMessage(StringBuilderUtil.bucketFoundMessage("'" + searchText + "'", bucket.getName()).toString(), LogType.SUCCESS); - final Ds3TreeTableValue value = new Ds3TreeTableValue(bucket.getName(), bucket.getName(), Ds3TreeTableValue.Type.Bucket, - 0, StringConstants.TWO_DASH, StringConstants.TWO_DASH, false, null); - list.add(new Ds3TreeTableItem(value.getName(), session, value, workers, ds3Common, dateTimeUtils, loggingService)); - } else { - final List detailedDs3Objects = getDetailedDs3Objects(bucket.getName()); - if (Guard.isNotNullAndNotEmpty(detailedDs3Objects)) { - final List treeTableItems = buildTreeItems(detailedDs3Objects, bucket.getName(), dateTimeUtils); - if (Guard.isNotNullAndNotEmpty(treeTableItems)) { - list.addAll(treeTableItems); - loggingService.logMessage(StringBuilderUtil.searchInBucketMessage(bucket.getName(), list.size()).toString(), - LogType.SUCCESS); + return searchableBuckets.parallelStream().map(Bucket::getName) + .flatMap(bucketName -> { + if (bucketName.contains(searchText)) { + loggingService.logMessage(StringBuilderUtil.bucketFoundMessage("'" + searchText + "'", bucketName).toString(), LogType.SUCCESS); + final Ds3TreeTableValue value = new Ds3TreeTableValue(bucketName, bucketName, Ds3TreeTableValue.Type.Bucket, + 0, StringConstants.TWO_DASH, StringConstants.TWO_DASH, false, null); + return Stream.of(new Ds3TreeTableItem(value.getName(), session, value, workers, ds3Common, dateTimeUtils, loggingService)); + } else { + final List detailedDs3Objects = getDetailedDs3Objects(bucketName); + if (Guard.isNotNullAndNotEmpty(detailedDs3Objects)) { + final List treeTableItems = buildTreeItems(detailedDs3Objects, bucketName, dateTimeUtils); + if (Guard.isNotNullAndNotEmpty(treeTableItems)) { + loggingService.logMessage(StringBuilderUtil.searchInBucketMessage(bucketName, treeTableItems.size()).toString(), + LogType.SUCCESS); + return treeTableItems.stream(); + } + } + return Stream.empty(); } - } - } - }); - return list; + }) + .collect(GuavaCollectors.immutableList()); } catch (final Exception e) { LOG.error("Search failed", e); loggingService.logMessage(StringBuilderUtil.searchFailedMessage().append(e).toString(), LogType.ERROR);