From 36e2f04973d23b84a9f47e443c71dff3076ef9ff Mon Sep 17 00:00:00 2001 From: Andriy Kryvtsun Date: Wed, 12 Aug 2015 18:58:01 -0400 Subject: [PATCH] Get rid of 'new' for TXTExporter and ExporterRegistry --- src/net/azib/ipscan/exporters/ExporterModule.java | 10 +++------- src/net/azib/ipscan/exporters/ExporterRegistry.java | 4 +++- src/net/azib/ipscan/exporters/TXTExporter.java | 5 +++++ src/net/azib/ipscan/gui/actions/ScanMenuActions.java | 7 ++++--- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/net/azib/ipscan/exporters/ExporterModule.java b/src/net/azib/ipscan/exporters/ExporterModule.java index dca034bb..71b5f518 100644 --- a/src/net/azib/ipscan/exporters/ExporterModule.java +++ b/src/net/azib/ipscan/exporters/ExporterModule.java @@ -3,6 +3,7 @@ package net.azib.ipscan.exporters; import dagger.Module; import dagger.Provides; +import javax.inject.Inject; import java.util.ArrayList; import java.util.List; @@ -13,12 +14,7 @@ import java.util.List; public class ExporterModule { @Provides - public Exporter[] provideExporters() { - return new Exporter[] {new TXTExporter(), new CSVExporter(), new XMLExporter(), new IPListExporter()}; - } - - @Provides - public ExporterRegistry provideExporterRegistry(Exporter[] exporters) { - return new ExporterRegistry(exporters); + public Exporter[] provideExporters(TXTExporter txtExporter) { + return new Exporter[] {txtExporter, new CSVExporter(), new XMLExporter(), new IPListExporter()}; } } diff --git a/src/net/azib/ipscan/exporters/ExporterRegistry.java b/src/net/azib/ipscan/exporters/ExporterRegistry.java index f1e41923..989f7fdf 100644 --- a/src/net/azib/ipscan/exporters/ExporterRegistry.java +++ b/src/net/azib/ipscan/exporters/ExporterRegistry.java @@ -5,6 +5,7 @@ */ package net.azib.ipscan.exporters; +import javax.inject.Inject; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; @@ -19,7 +20,8 @@ public class ExporterRegistry implements Iterable { /** All available Exporter implementations, Map of Exporter instances (prototypes) */ private Map exporters; - + + @Inject public ExporterRegistry(Exporter[] registeredExporters) { exporters = new LinkedHashMap(); diff --git a/src/net/azib/ipscan/exporters/TXTExporter.java b/src/net/azib/ipscan/exporters/TXTExporter.java index b7154b38..fdb53ade 100644 --- a/src/net/azib/ipscan/exporters/TXTExporter.java +++ b/src/net/azib/ipscan/exporters/TXTExporter.java @@ -11,6 +11,7 @@ import net.azib.ipscan.fetchers.PingFetcher; import net.azib.ipscan.fetchers.PortsFetcher; import net.azib.ipscan.gui.feeders.AbstractFeederGUI; +import javax.inject.Inject; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; @@ -34,6 +35,10 @@ public class TXTExporter extends AbstractExporter { int[] padLengths; + @Inject + public TXTExporter() { + } + public String getId() { return "exporter.txt"; } diff --git a/src/net/azib/ipscan/gui/actions/ScanMenuActions.java b/src/net/azib/ipscan/gui/actions/ScanMenuActions.java index b8a0bde6..84f3adde 100644 --- a/src/net/azib/ipscan/gui/actions/ScanMenuActions.java +++ b/src/net/azib/ipscan/gui/actions/ScanMenuActions.java @@ -26,6 +26,7 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.MessageBox; +import javax.inject.Inject; import java.io.File; import java.util.ArrayList; import java.util.List; @@ -46,14 +47,14 @@ public class ScanMenuActions { } public static class LoadFromFile implements Listener { - private TXTExporter txtExporter; + + @Inject TXTExporter txtExporter; private final ExporterRegistry exporterRegistry; private FeederGUIRegistry feederRegistry; private final ResultTable resultTable; private final StateMachine stateMachine; - public LoadFromFile(TXTExporter txtExporter, ExporterRegistry exporterRegistry, FeederGUIRegistry feederRegistry, ResultTable resultTable, StateMachine stateMachine) { - this.txtExporter = txtExporter; + public LoadFromFile(ExporterRegistry exporterRegistry, FeederGUIRegistry feederRegistry, ResultTable resultTable, StateMachine stateMachine) { this.exporterRegistry = exporterRegistry; this.feederRegistry = feederRegistry; this.resultTable = resultTable;