From 75c272e706c0709b46e9131b296afaae366cc1ad Mon Sep 17 00:00:00 2001 From: Raj Patel Date: Thu, 6 Apr 2023 21:52:01 -0300 Subject: [PATCH] Added pull-up method refactoring --- .../gui/actions/StartStopScanningAction.java | 7 +++++-- .../azib/ipscan/gui/feeders/AbstractFeederGUI.java | 4 ++++ .../azib/ipscan/gui/feeders/FeederGUIRegistry.java | 8 -------- .../ipscan/gui/feeders/FeederGUIRegistryTest.java | 14 -------------- 4 files changed, 9 insertions(+), 24 deletions(-) diff --git a/src/net/azib/ipscan/gui/actions/StartStopScanningAction.java b/src/net/azib/ipscan/gui/actions/StartStopScanningAction.java index 81f5c55d..d50ad1ad 100644 --- a/src/net/azib/ipscan/gui/actions/StartStopScanningAction.java +++ b/src/net/azib/ipscan/gui/actions/StartStopScanningAction.java @@ -18,6 +18,7 @@ import net.azib.ipscan.core.state.StateMachine.Transition; import net.azib.ipscan.core.state.StateTransitionListener; import net.azib.ipscan.gui.ResultTable; import net.azib.ipscan.gui.StatusBar; +import net.azib.ipscan.gui.feeders.AbstractFeederGUI; import net.azib.ipscan.gui.feeders.FeederGUIRegistry; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; @@ -48,6 +49,7 @@ public class StartStopScanningAction implements SelectionListener, ScanningProgr private ResultTable resultTable; private FeederGUIRegistry feederRegistry; private Button button; + private AbstractFeederGUI abstractFeederGUI; Image[] buttonImages = new Image[ScanningState.values().length]; String[] buttonTexts = new String[ScanningState.values().length]; @@ -80,7 +82,7 @@ public class StartStopScanningAction implements SelectionListener, ScanningProgr public StartStopScanningAction(ScannerDispatcherThreadFactory scannerThreadFactory, StateMachine stateMachine, ResultTable resultTable, StatusBar statusBar, FeederGUIRegistry feederRegistry, PingerRegistry pingerRegistry, - Button startStopButton, GUIConfig guiConfig) { + Button startStopButton, GUIConfig guiConfig, AbstractFeederGUI abstractFeederGUI) { this(startStopButton.getDisplay()); this.scannerThreadFactory = scannerThreadFactory; @@ -92,6 +94,7 @@ public class StartStopScanningAction implements SelectionListener, ScanningProgr this.stateMachine = stateMachine; this.guiConfig = guiConfig; this.taskBarItem = getTaskBarItem(); + this.abstractFeederGUI = abstractFeederGUI; // add listeners to all state changes stateMachine.addTransitionListener(this); @@ -160,7 +163,7 @@ public class StartStopScanningAction implements SelectionListener, ScanningProgr resultTable.removeAll(); try { - scannerThread = scannerThreadFactory.createScannerThread(feederRegistry.createFeeder(), StartStopScanningAction.this, createResultsCallback(state)); + scannerThread = scannerThreadFactory.createScannerThread(abstractFeederGUI.createFeeder(), StartStopScanningAction.this, createResultsCallback(state)); stateMachine.startScanning(); mainWindowTitle = statusBar.getShell().getText(); } diff --git a/src/net/azib/ipscan/gui/feeders/AbstractFeederGUI.java b/src/net/azib/ipscan/gui/feeders/AbstractFeederGUI.java index 2ed5d36c..0c32968d 100644 --- a/src/net/azib/ipscan/gui/feeders/AbstractFeederGUI.java +++ b/src/net/azib/ipscan/gui/feeders/AbstractFeederGUI.java @@ -94,6 +94,10 @@ public abstract class AbstractFeederGUI extends Composite implements FeederCreat }).start(); } + public Feeder createFeeder() { + return createFeeder(); + } + protected void afterLocalHostInfoFilled(InterfaceAddress localInterface) { } } diff --git a/src/net/azib/ipscan/gui/feeders/FeederGUIRegistry.java b/src/net/azib/ipscan/gui/feeders/FeederGUIRegistry.java index 4c550571..553baf23 100644 --- a/src/net/azib/ipscan/gui/feeders/FeederGUIRegistry.java +++ b/src/net/azib/ipscan/gui/feeders/FeederGUIRegistry.java @@ -79,14 +79,6 @@ public class FeederGUIRegistry implements FeederRegistry { throw new FeederException("Feeder not found: " + feederId); } - /** - * @return new Feeder initialized using the currently selected Feeder GUI - */ - public Feeder createFeeder() { - lastFeeder = current().createFeeder(); - return lastFeeder; - } - /** * @param selection selected table items to derive IP addresses from * @return initialized instance of RescanFeeder diff --git a/test/net/azib/ipscan/gui/feeders/FeederGUIRegistryTest.java b/test/net/azib/ipscan/gui/feeders/FeederGUIRegistryTest.java index 3e73d755..704e2091 100644 --- a/test/net/azib/ipscan/gui/feeders/FeederGUIRegistryTest.java +++ b/test/net/azib/ipscan/gui/feeders/FeederGUIRegistryTest.java @@ -47,18 +47,4 @@ public class FeederGUIRegistryTest { assertNotNull(registry.lastFeeder); assertNotNull(registry.lastFeeder.toString()); } - - @Test - public void createFeederRemembersTheLastOne() throws Exception { - Feeder lastFeeder = registry.createFeeder(); - assertSame(lastFeeder, registry.lastFeeder); - assertNotSame(lastFeeder, registry.createFeeder()); - } - - @Test - public void createRescanFeederGetsOriginalFeeder() throws Exception { - Feeder lastFeeder = registry.createFeeder(); - Feeder rescanFeeder = registry.createRescanFeeder(new TableItem[] {mock(TableItem.class)}); - assertEquals(lastFeeder.getId(), rescanFeeder.getId()); - } }