mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GT-3354: Code review fixes
This commit is contained in:
parent
2a64cf2a77
commit
e53e4c99fc
5 changed files with 34 additions and 10 deletions
|
@ -26,6 +26,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
import javax.swing.*;
|
||||
|
||||
import org.apache.commons.collections4.IteratorUtils;
|
||||
import org.junit.After;
|
||||
|
||||
import docking.action.DockingActionIf;
|
||||
|
@ -46,7 +47,6 @@ import ghidra.test.AbstractProgramBasedTest;
|
|||
import ghidra.util.Msg;
|
||||
import ghidra.util.search.memory.MemSearchResult;
|
||||
import ghidra.util.table.GhidraTable;
|
||||
import util.CollectionUtils;
|
||||
|
||||
/**
|
||||
* Base class for memory search tests.
|
||||
|
@ -192,7 +192,7 @@ public abstract class AbstractMemSearchTest extends AbstractProgramBasedTest {
|
|||
|
||||
AddressSet addressSet = runSwing(() -> markers.getAddressSet());
|
||||
AddressIterator it = addressSet.getAddresses(true);
|
||||
List<Address> list = CollectionUtils.asStream(it).collect(Collectors.toList());
|
||||
List<Address> list = IteratorUtils.toList(it);
|
||||
|
||||
assertListEqualUnordered("Search markers not correctly generated", expected, list);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||
import javax.swing.*;
|
||||
import javax.swing.table.JTableHeader;
|
||||
|
||||
import org.apache.commons.collections4.IteratorUtils;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
@ -1754,8 +1753,7 @@ public class GhidraFileChooserTest extends AbstractDockingTest {
|
|||
|
||||
CompletableFuture<List<File>> results = showMultiSelectionChooser(files.parent, FILES_ONLY);
|
||||
|
||||
selectFiles(CollectionUtils.asIterable(
|
||||
IteratorUtils.chainedIterator(files.files.iterator(), files.dirs.iterator())));
|
||||
selectFiles(CollectionUtils.asIterable(files.files, files.dirs));
|
||||
|
||||
pressOk();
|
||||
assertChooserHidden();
|
||||
|
@ -1769,13 +1767,11 @@ public class GhidraFileChooserTest extends AbstractDockingTest {
|
|||
CompletableFuture<List<File>> results =
|
||||
showMultiSelectionChooser(files.parent, GhidraFileChooserMode.FILES_AND_DIRECTORIES);
|
||||
|
||||
selectFiles(CollectionUtils.asIterable(
|
||||
IteratorUtils.chainedIterator(files.files.iterator(), files.dirs.iterator())));
|
||||
selectFiles(CollectionUtils.asIterable(files.files, files.dirs));
|
||||
|
||||
pressOk();
|
||||
assertChooserHidden();
|
||||
assertChosen(results, CollectionUtils.asIterable(
|
||||
IteratorUtils.chainedIterator(files.files.iterator(), files.dirs.iterator()))); // dirs are dropped
|
||||
assertChosen(results, CollectionUtils.asIterable(files.files, files.dirs)); // dirs are dropped
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
|
|
|
@ -398,6 +398,19 @@ public class CollectionUtils {
|
|||
return () -> iterator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Combines all collections passed-in into a pass-through not creating a new collection)
|
||||
* Iterable.
|
||||
*
|
||||
* @param iterables the iterables to combine
|
||||
* @return the iterable
|
||||
*/
|
||||
@SafeVarargs
|
||||
public static <T> Iterable<T> asIterable(Iterable<T>... iterables) {
|
||||
Stream<T> s = asStream(iterables);
|
||||
return asIterable(s.iterator());
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns the given iterator into a stream
|
||||
*
|
||||
|
|
|
@ -225,6 +225,21 @@ public class CollectionUtilsTest {
|
|||
assertEquals("One", iterator.next());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAsIterable_Collections() {
|
||||
|
||||
List<String> original = Arrays.asList("One", "Two", "Three", "Four");
|
||||
Collection<String> a = Arrays.asList(original.get(0), original.get(1));
|
||||
Collection<String> b = Arrays.asList(original.get(2));
|
||||
Collection<String> c = Collections.emptyList();
|
||||
Collection<String> d = Arrays.asList(original.get(3));
|
||||
Iterable<String> iterable = CollectionUtils.asIterable(a, b, c, d);
|
||||
|
||||
List<String> result = new ArrayList<>();
|
||||
iterable.forEach(s -> result.add(s));
|
||||
assertEquals(original, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAsList_UnknownToType() {
|
||||
List<String> list = new ArrayList<>();
|
||||
|
|
|
@ -163,7 +163,7 @@ class ImportGhidraToolsDialog extends DialogComponentProvider {
|
|||
Set<ToolTemplate> extraTools = ToolUtils.getExtraApplicationTools();
|
||||
|
||||
Stream<String> defaultToolNames = defaultTools.stream().map(ToolTemplate::getPath);
|
||||
Stream<String> extraToolNames = extraTools.parallelStream().map(ToolTemplate::getPath);
|
||||
Stream<String> extraToolNames = extraTools.stream().map(ToolTemplate::getPath);
|
||||
|
||||
int elementCount = defaultTools.size() + extraTools.size();
|
||||
tools = new String[elementCount];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue