Merge remote-tracking branch 'origin/GT-3350_ryanmkurtz_ExtensionPoints'

This commit is contained in:
Ryan Kurtz 2019-12-03 10:13:23 -05:00
commit 36a628ae97
52 changed files with 341 additions and 169 deletions

View file

@ -15,6 +15,9 @@
*/
package ghidra.feature.vt;
import java.io.IOException;
import java.util.*;
import ghidra.app.script.GhidraScript;
import ghidra.feature.vt.api.db.VTSessionDB;
import ghidra.feature.vt.api.main.*;
@ -26,9 +29,6 @@ import ghidra.util.classfinder.ClassSearcher;
import ghidra.util.exception.CancelledException;
import ghidra.util.exception.VersionException;
import java.io.IOException;
import java.util.*;
public abstract class GhidraVersionTrackingScript extends GhidraScript {
protected VTSession vtSession;
protected Program sourceProgram;
@ -162,7 +162,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
public List<String> getProgramCorrelators() {
List<String> correlators = new ArrayList<String>();
Set<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
List<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
for (VTProgramCorrelatorFactory vtProgramCorrelatorFactory : generateList) {
correlators.add(vtProgramCorrelatorFactory.getName());
}
@ -221,7 +221,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
//==================================================================================================
private VTProgramCorrelatorFactory getCorrelatorFactory(String name) {
Set<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
List<VTProgramCorrelatorFactory> generateList = getVTProgramCorrelatorFactory();
for (VTProgramCorrelatorFactory vtProgramCorrelatorFactory : generateList) {
if (vtProgramCorrelatorFactory.getName().equals(name)) {
return vtProgramCorrelatorFactory;
@ -230,7 +230,7 @@ public abstract class GhidraVersionTrackingScript extends GhidraScript {
return null;
}
private static Set<VTProgramCorrelatorFactory> getVTProgramCorrelatorFactory() {
private static List<VTProgramCorrelatorFactory> getVTProgramCorrelatorFactory() {
return ClassSearcher.getInstances(VTProgramCorrelatorFactory.class);
}
}

View file

@ -40,7 +40,7 @@ public abstract class Stringable implements ExtensionPoint, DisplayStringProvide
private static void initializeNameMap() {
shortNameToClassnameMap = new HashMap<String, Class<? extends Stringable>>();
Set<Class<? extends Stringable>> classes = ClassSearcher.getClasses(Stringable.class);
List<Class<? extends Stringable>> classes = ClassSearcher.getClasses(Stringable.class);
for (Class<? extends Stringable> clazz : classes) {
String name = getShortNameFieldValue(clazz);
shortNameToClassnameMap.put(name, clazz);

View file

@ -62,7 +62,7 @@ public class AddressCorrelatorManager {
private List<AddressCorrelator> initializeAddressCorrelators() {
Set<DiscoverableAddressCorrelator> instances =
List<DiscoverableAddressCorrelator> instances =
ClassSearcher.getInstances(DiscoverableAddressCorrelator.class);
List<AddressCorrelator> addressCorrelatorList = new ArrayList<AddressCorrelator>(instances);

View file

@ -17,7 +17,8 @@ package ghidra.feature.vt.gui.provider.matchtable;
import java.awt.BorderLayout;
import java.awt.event.*;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
@ -98,7 +99,7 @@ public class AlgorithmFilter extends CheckBoxBasedAncillaryFilter<VTMatch> {
list.add(ManualMatchProgramCorrelator.NAME);
list.add(ImpliedMatchProgramCorrelator.NAME);
Set<VTAbstractProgramCorrelatorFactory> instances =
List<VTAbstractProgramCorrelatorFactory> instances =
ClassSearcher.getInstances(VTAbstractProgramCorrelatorFactory.class);
for (VTAbstractProgramCorrelatorFactory factory : instances) {
list.add(factory.getName());

View file

@ -15,13 +15,6 @@
*/
package ghidra.feature.vt.gui.wizard;
import ghidra.feature.vt.api.main.VTSession;
import ghidra.feature.vt.gui.validator.VTPreconditionValidator;
import ghidra.program.model.listing.Program;
import ghidra.util.HelpLocation;
import ghidra.util.Msg;
import ghidra.util.classfinder.ClassSearcher;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -33,6 +26,12 @@ import javax.swing.*;
import docking.widgets.conditiontestpanel.*;
import docking.wizard.*;
import ghidra.feature.vt.api.main.VTSession;
import ghidra.feature.vt.gui.validator.VTPreconditionValidator;
import ghidra.program.model.listing.Program;
import ghidra.util.HelpLocation;
import ghidra.util.Msg;
import ghidra.util.classfinder.ClassSearcher;
public class PreconditionsPanel extends AbstractMageJPanel<VTWizardStateKey> implements Scrollable {
private static final Dimension DEFAULT_SIZE = new Dimension(650, 480);
@ -148,7 +147,7 @@ public class PreconditionsPanel extends AbstractMageJPanel<VTWizardStateKey> imp
Program destinationProgram, VTSession existingResults) throws SecurityException {
List<ConditionTester> list = new ArrayList<ConditionTester>();
Set<Class<? extends VTPreconditionValidator>> vtValidatorClasses =
List<Class<? extends VTPreconditionValidator>> vtValidatorClasses =
ClassSearcher.getClasses(VTPreconditionValidator.class);
for (Class<? extends VTPreconditionValidator> validatorClass : vtValidatorClasses) {
try {

View file

@ -60,13 +60,12 @@ public class VTProgramTableCorrelatorModel extends AbstractGTableModel<VTProgram
}
private static List<VTProgramCorrelatorFactory> generateList() {
Set<VTAbstractProgramCorrelatorFactory> instances =
List<VTAbstractProgramCorrelatorFactory> instances =
ClassSearcher.getInstances(VTAbstractProgramCorrelatorFactory.class);
List<VTProgramCorrelatorFactory> list =
new ArrayList<>(instances);
List<VTProgramCorrelatorFactory> list = new ArrayList<>(instances);
Collections.sort(list, comparator);
Collections.sort(instances, comparator);
return list;
}