Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java @ 1220:3c860d3e79d9
Importer: Parse HYKs from importer.
flys-backend/trunk@2346 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 17 Jul 2011 22:45:00 +0000 |
parents | f08fe480092c |
children | 979ff070e368 |
comparison
equal
deleted
inserted
replaced
1219:d80997bd94ce | 1220:3c860d3e79d9 |
---|---|
19 | 19 |
20 import de.intevation.flys.utils.FileTools; | 20 import de.intevation.flys.utils.FileTools; |
21 import de.intevation.flys.utils.FileTools.HashedFile; | 21 import de.intevation.flys.utils.FileTools.HashedFile; |
22 | 22 |
23 import de.intevation.flys.importer.parsers.PRFParser; | 23 import de.intevation.flys.importer.parsers.PRFParser; |
24 import de.intevation.flys.importer.parsers.HYKParser; | |
24 import de.intevation.flys.importer.parsers.AnnotationsParser; | 25 import de.intevation.flys.importer.parsers.AnnotationsParser; |
25 import de.intevation.flys.importer.parsers.AnnotationClassifier; | 26 import de.intevation.flys.importer.parsers.AnnotationClassifier; |
26 import de.intevation.flys.importer.parsers.PegelGltParser; | 27 import de.intevation.flys.importer.parsers.PegelGltParser; |
27 import de.intevation.flys.importer.parsers.WstParser; | 28 import de.intevation.flys.importer.parsers.WstParser; |
28 | 29 |
60 | 61 |
61 protected List<ImportGauge> gauges; | 62 protected List<ImportGauge> gauges; |
62 | 63 |
63 protected List<ImportAnnotation> annotations; | 64 protected List<ImportAnnotation> annotations; |
64 | 65 |
66 protected List<ImportHYK> hyks; | |
67 | |
65 protected List<ImportCrossSection> crossSections; | 68 protected List<ImportCrossSection> crossSections; |
66 | 69 |
67 protected List<ImportWst> extraWsts; | 70 protected List<ImportWst> extraWsts; |
68 | 71 |
69 protected List<ImportWst> fixations; | 72 protected List<ImportWst> fixations; |
79 protected AnnotationClassifier annotationClassifier; | 82 protected AnnotationClassifier annotationClassifier; |
80 | 83 |
81 protected River peer; | 84 protected River peer; |
82 | 85 |
83 public ImportRiver() { | 86 public ImportRiver() { |
87 hyks = new ArrayList<ImportHYK>(); | |
84 crossSections = new ArrayList<ImportCrossSection>(); | 88 crossSections = new ArrayList<ImportCrossSection>(); |
85 extraWsts = new ArrayList<ImportWst>(); | 89 extraWsts = new ArrayList<ImportWst>(); |
86 fixations = new ArrayList<ImportWst>(); | 90 fixations = new ArrayList<ImportWst>(); |
87 officialLines = new ArrayList<ImportWst>(); | 91 officialLines = new ArrayList<ImportWst>(); |
88 floodWater = new ArrayList<ImportWst>(); | 92 floodWater = new ArrayList<ImportWst>(); |
136 | 140 |
137 public void parseDependencies() throws IOException { | 141 public void parseDependencies() throws IOException { |
138 parseGauges(); | 142 parseGauges(); |
139 parseAnnotations(); | 143 parseAnnotations(); |
140 parsePRFs(); | 144 parsePRFs(); |
145 parseHYKs(); | |
141 parseWst(); | 146 parseWst(); |
142 parseExtraWsts(); | 147 parseExtraWsts(); |
143 parseFixations(); | 148 parseFixations(); |
144 parseOfficialLines(); | 149 parseOfficialLines(); |
145 parseFloodWater(); | 150 parseFloodWater(); |
359 AnnotationsParser aparser = | 364 AnnotationsParser aparser = |
360 new AnnotationsParser(annotationClassifier); | 365 new AnnotationsParser(annotationClassifier); |
361 aparser.parse(riverDir); | 366 aparser.parse(riverDir); |
362 | 367 |
363 annotations = aparser.getAnnotations(); | 368 annotations = aparser.getAnnotations(); |
369 } | |
370 | |
371 public void parseHYKs() { | |
372 log.info("looking for HYK files"); | |
373 HYKParser parser = new HYKParser(); | |
374 File riverDir = wstFile | |
375 .getParentFile() // Basisdaten | |
376 .getParentFile() // Hydrologie | |
377 .getParentFile(); // <river> | |
378 | |
379 parser.parseHYKs(riverDir, new HYKParser.Callback() { | |
380 | |
381 Set<HashedFile> hfs = new HashSet<HashedFile>(); | |
382 | |
383 @Override | |
384 public boolean hykAccept(File file) { | |
385 HashedFile hf = new HashedFile(file); | |
386 boolean success = hfs.add(hf); | |
387 if (!success) { | |
388 log.warn("HYK file '" + file + "' seems to be a duplicate."); | |
389 } | |
390 return success; | |
391 } | |
392 | |
393 @Override | |
394 public void hykParsed(HYKParser parser) { | |
395 log.debug("callback from HYK parser"); | |
396 ImportHYK hyk = parser.getHYK(); | |
397 hyk.setRiver(ImportRiver.this); | |
398 hyks.add(hyk); | |
399 } | |
400 }); | |
364 } | 401 } |
365 | 402 |
366 public void parsePRFs() { | 403 public void parsePRFs() { |
367 log.info("looking for PRF files"); | 404 log.info("looking for PRF files"); |
368 PRFParser parser = new PRFParser(); | 405 PRFParser parser = new PRFParser(); |