Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/parsers/DA66Parser.java @ 4715:2f7a509f5acf
Implement new CrossSectionParser interface.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 19 Dec 2012 14:59:14 +0100 |
parents | 70842db72ee4 |
children | e67d396ed65d |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/parsers/DA66Parser.java Wed Dec 19 14:58:34 2012 +0100 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/parsers/DA66Parser.java Wed Dec 19 14:59:14 2012 +0100 @@ -23,7 +23,7 @@ * To create cross-sections, generate: Map<double,list<xy>> from files * in da66 format. */ -public class DA66Parser extends LineParser +public class DA66Parser extends LineParser implements CrossSectionParser { /** Private logger. */ private static Logger logger = Logger.getLogger(DA66Parser.class); @@ -160,13 +160,6 @@ private List<XY> currentLine; - // TODO refactor, its shared with PRFParser. - public interface Callback { - boolean da66Accept(File file); - void da66Parsed(DA66Parser parser); - } // interface Parser - - /** Data collected so far, last element will be currentLine. */ protected Map<Double, List<XY>> data; @@ -175,6 +168,17 @@ data = new TreeMap<Double, List<XY>>(); } + @Override + public String getDescription() { + return "da66-dummy"; + } + + @Override + public Integer getYear() { + return 2012; + } + + @Override public Map<Double, List<XY>> getData() { return data; } @@ -198,13 +202,13 @@ public boolean visit(File file) { if (file.isFile() && file.canRead() && file.getName().toLowerCase().endsWith(".d66") - && (callback == null || callback.da66Accept(file))) { + && (callback == null || callback.accept(file))) { reset(); try { parse(file); logger.info("parsing done"); if (callback != null) { - callback.da66Parsed(DA66Parser.this); + callback.parsed(DA66Parser.this); } } catch (IOException ioe) { @@ -284,7 +288,7 @@ protected void handleLine(int lineNum, String line) { String head = line.substring(0,2); if (HEAD_HEAD.equals(head)) { - logger.debug("Hit a 00"); + //logger.debug("New station"); Matcher m = LINE_PATTERN.matcher(line); if (m.find()) { // Actually matches!