From f49cc7a483b869475d5937fba8cd220765014f24 Mon Sep 17 00:00:00 2001 From: Jan Breuer Date: Fri, 9 Oct 2015 11:33:33 +0200 Subject: [PATCH] Refactor class naming --- .gitignore | 1 + nbproject/project.properties | 2 +- .../Hex2bin.java} | 34 +++++++++++-------- ...HexDataListener.java => DataListener.java} | 2 +- .../{IntelHexParser.java => Parser.java} | 17 +++++----- ...ntelHexRecordType.java => RecordType.java} | 10 +++--- .../intelhex/{ => listeners}/BinWriter.java | 7 ++-- .../{ => listeners}/RangeDetector.java | 8 +++-- 8 files changed, 47 insertions(+), 34 deletions(-) rename src/cz/jaybee/{intelhex/IntelHexParserDemo.java => cli/Hex2bin.java} (88%) rename src/cz/jaybee/intelhex/{IntelHexDataListener.java => DataListener.java} (97%) rename src/cz/jaybee/intelhex/{IntelHexParser.java => Parser.java} (95%) rename src/cz/jaybee/intelhex/{IntelHexRecordType.java => RecordType.java} (89%) rename src/cz/jaybee/intelhex/{ => listeners}/BinWriter.java (94%) rename src/cz/jaybee/intelhex/{ => listeners}/RangeDetector.java (90%) diff --git a/.gitignore b/.gitignore index ba37ee2..41ee9f0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ *.ear /build/ /nbproject/private/ +/dist/ \ No newline at end of file diff --git a/nbproject/project.properties b/nbproject/project.properties index f96a15d..e092241 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -53,7 +53,7 @@ javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= -main.class=cz.jaybee.intelhex.IntelHexParserDemo +main.class=cz.jaybee.cli.Hex2bin manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false diff --git a/src/cz/jaybee/intelhex/IntelHexParserDemo.java b/src/cz/jaybee/cli/Hex2bin.java similarity index 88% rename from src/cz/jaybee/intelhex/IntelHexParserDemo.java rename to src/cz/jaybee/cli/Hex2bin.java index a72821c..77780ac 100644 --- a/src/cz/jaybee/intelhex/IntelHexParserDemo.java +++ b/src/cz/jaybee/cli/Hex2bin.java @@ -23,8 +23,13 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cz.jaybee.intelhex; +package cz.jaybee.cli; +import cz.jaybee.intelhex.IntelHexException; +import cz.jaybee.intelhex.Parser; +import cz.jaybee.intelhex.Region; +import cz.jaybee.intelhex.listeners.RangeDetector; +import cz.jaybee.intelhex.listeners.BinWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; @@ -37,17 +42,17 @@ import java.util.logging.Logger; * * @author Jan Breuer */ -public class IntelHexParserDemo { +public class Hex2bin { /** * Convert Intel HEX to bin * * usage: * - * IntelHexParserDemo {source} {target} + * Hex2bin {source} {target} + * + * Hex2bin {source} {target} {address_from} {address_to} * - * IntelHexParserDemo {source} {target} {address_from} {address_to} - * * {source} is source Intel HEX file name * * {target} is target BIN file name @@ -69,7 +74,7 @@ public class IntelHexParserDemo { if (args.length == 0) { System.out.println("usage:"); - System.out.println(" hex2bin [minimize]"); + System.out.println(" hex2bin [minimize]"); System.out.println(); System.out.println(" full address range of app.hex"); System.out.println(" hex2bin app.hex app.bin"); @@ -82,7 +87,7 @@ public class IntelHexParserDemo { System.out.println(" hex2bin app.hex app.bin 0x0000 0x1fff minimize"); return; } - + if (args.length >= 1) { fileIn = args[0]; } @@ -98,8 +103,8 @@ public class IntelHexParserDemo { if (args.length >= 4) { dataTo = args[3]; } - - if (args.length >=5 ) { + + if (args.length >= 5) { if (args[4].equals("minimize")) { minimize = true; } @@ -108,19 +113,19 @@ public class IntelHexParserDemo { try (FileInputStream is = new FileInputStream(fileIn)) { OutputStream os = new FileOutputStream(fileOut); // init parser - IntelHexParser parser = new IntelHexParser(is); + Parser parser = new Parser(is); - // 1st iteration - calculate maximum output range + // 1st iteration - calculate maximum output range RangeDetector rangeDetector = new RangeDetector(); parser.setDataListener(rangeDetector); parser.parse(); is.getChannel().position(0); Region outputRegion = rangeDetector.getFullRangeRegion(); - + // if address parameter is "max", calculate maximum memory region if (!("min".equals(dataFrom))) { outputRegion.setAddressStart(Long.parseLong(dataFrom.substring(2), 16)); - } + } if (!("max".equals(dataTo))) { outputRegion.setAddressEnd(Long.parseLong(dataTo.substring(2), 16)); } @@ -137,10 +142,9 @@ public class IntelHexParserDemo { System.out.print("Written output: "); System.out.println(outputRegion); - } catch (IntelHexException | IOException ex) { - Logger.getLogger(IntelHexParserDemo.class.getName()).log(Level.SEVERE, null, ex); + Logger.getLogger(Hex2bin.class.getName()).log(Level.SEVERE, null, ex); } } diff --git a/src/cz/jaybee/intelhex/IntelHexDataListener.java b/src/cz/jaybee/intelhex/DataListener.java similarity index 97% rename from src/cz/jaybee/intelhex/IntelHexDataListener.java rename to src/cz/jaybee/intelhex/DataListener.java index 779477b..70d3cd1 100644 --- a/src/cz/jaybee/intelhex/IntelHexDataListener.java +++ b/src/cz/jaybee/intelhex/DataListener.java @@ -30,7 +30,7 @@ package cz.jaybee.intelhex; * * @author Jan Breuer */ -public interface IntelHexDataListener { +public interface DataListener { /** * Every time new data are read from file, this listener method is called diff --git a/src/cz/jaybee/intelhex/IntelHexParser.java b/src/cz/jaybee/intelhex/Parser.java similarity index 95% rename from src/cz/jaybee/intelhex/IntelHexParser.java rename to src/cz/jaybee/intelhex/Parser.java index e205456..5dfa571 100644 --- a/src/cz/jaybee/intelhex/IntelHexParser.java +++ b/src/cz/jaybee/intelhex/Parser.java @@ -34,10 +34,10 @@ import java.io.*; * @author Kristian Sloth Lauszus * @author riilabs */ -public class IntelHexParser { +public class Parser { private final BufferedReader reader; - private IntelHexDataListener dataListener = null; + private DataListener dataListener = null; private static final int HEX = 16; private boolean eof = false; private int recordIdx = 0; @@ -51,7 +51,7 @@ public class IntelHexParser { int length; int address; - IntelHexRecordType type; + RecordType type; byte[] data; /** @@ -82,7 +82,7 @@ public class IntelHexParser { * * @param reader */ - public IntelHexParser(Reader reader) { + public Parser(Reader reader) { this.reader = (reader instanceof BufferedReader) ? (BufferedReader) reader : new BufferedReader(reader); } @@ -91,7 +91,7 @@ public class IntelHexParser { * * @param stream */ - public IntelHexParser(InputStream stream) { + public Parser(InputStream stream) { this.reader = new BufferedReader(new InputStreamReader(stream)); } @@ -100,7 +100,7 @@ public class IntelHexParser { * * @param listener */ - public void setDataListener(IntelHexDataListener listener) { + public void setDataListener(DataListener listener) { this.dataListener = listener; } @@ -152,8 +152,8 @@ public class IntelHexParser { result.address = ((hexRecord[1] & 0xFF) << 8) + (hexRecord[2] & 0xFF); // determine record type - result.type = IntelHexRecordType.fromInt(hexRecord[3] & 0xFF); - if (result.type == IntelHexRecordType.UNKNOWN) { + result.type = RecordType.fromInt(hexRecord[3] & 0xFF); + if (result.type == RecordType.UNKNOWN) { throw new IntelHexException("Unsupported record type " + (hexRecord[3] & 0xFF) + " (" + recordIdx + ")"); } @@ -219,6 +219,7 @@ public class IntelHexParser { } else { throw new IntelHexException("Invalid START_SEG record at line #" + recordIdx + " " + record); } + break; case UNKNOWN: break; } diff --git a/src/cz/jaybee/intelhex/IntelHexRecordType.java b/src/cz/jaybee/intelhex/RecordType.java similarity index 89% rename from src/cz/jaybee/intelhex/IntelHexRecordType.java rename to src/cz/jaybee/intelhex/RecordType.java index 7d31df9..229b583 100644 --- a/src/cz/jaybee/intelhex/IntelHexRecordType.java +++ b/src/cz/jaybee/intelhex/RecordType.java @@ -30,7 +30,7 @@ package cz.jaybee.intelhex; * * @author Jan Breuer */ -public enum IntelHexRecordType { +public enum RecordType { DATA(0x00), EOF(0x01), @@ -41,7 +41,7 @@ public enum IntelHexRecordType { UNKNOWN(0xFF); int id; - IntelHexRecordType(int id) { + RecordType(int id) { this.id = id; } @@ -60,12 +60,12 @@ public enum IntelHexRecordType { * @param id record type integer value * @return record type enum value */ - public static IntelHexRecordType fromInt(int id) { - for (IntelHexRecordType d : IntelHexRecordType.values()) { + public static RecordType fromInt(int id) { + for (RecordType d : RecordType.values()) { if (d.id == id) { return d; } } - return IntelHexRecordType.UNKNOWN; + return RecordType.UNKNOWN; } } diff --git a/src/cz/jaybee/intelhex/BinWriter.java b/src/cz/jaybee/intelhex/listeners/BinWriter.java similarity index 94% rename from src/cz/jaybee/intelhex/BinWriter.java rename to src/cz/jaybee/intelhex/listeners/BinWriter.java index 4e29714..870781d 100644 --- a/src/cz/jaybee/intelhex/BinWriter.java +++ b/src/cz/jaybee/intelhex/listeners/BinWriter.java @@ -23,8 +23,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cz.jaybee.intelhex; +package cz.jaybee.intelhex.listeners; +import cz.jaybee.intelhex.DataListener; +import cz.jaybee.intelhex.MemoryRegions; +import cz.jaybee.intelhex.Region; import java.io.IOException; import java.io.OutputStream; import java.util.Arrays; @@ -36,7 +39,7 @@ import java.util.logging.Logger; * * @author Jan Breuer */ -public class BinWriter implements IntelHexDataListener { +public class BinWriter implements DataListener { private final Region outputRegion; private final OutputStream destination; diff --git a/src/cz/jaybee/intelhex/RangeDetector.java b/src/cz/jaybee/intelhex/listeners/RangeDetector.java similarity index 90% rename from src/cz/jaybee/intelhex/RangeDetector.java rename to src/cz/jaybee/intelhex/listeners/RangeDetector.java index 8da9359..2e4c8d7 100644 --- a/src/cz/jaybee/intelhex/RangeDetector.java +++ b/src/cz/jaybee/intelhex/listeners/RangeDetector.java @@ -23,7 +23,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package cz.jaybee.intelhex; +package cz.jaybee.intelhex.listeners; + +import cz.jaybee.intelhex.DataListener; +import cz.jaybee.intelhex.MemoryRegions; +import cz.jaybee.intelhex.Region; /** * First pass listener to calculate data address range for further use @@ -31,7 +35,7 @@ package cz.jaybee.intelhex; * @author riilabs * @author Jan Breuer */ -public class RangeDetector implements IntelHexDataListener { +public class RangeDetector implements DataListener { private final MemoryRegions regions = new MemoryRegions();