Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java @ 4767:03246a8b3869
ImportRiver: Added w80 and hook for da50 parsing (not implemented).
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 04 Jan 2013 11:17:40 +0100 |
parents | 94b39073f0f7 |
children | a70de5298248 |
comparison
equal
deleted
inserted
replaced
4766:655e86f025c1 | 4767:03246a8b3869 |
---|---|
32 import de.intevation.flys.importer.parsers.PRFParser; | 32 import de.intevation.flys.importer.parsers.PRFParser; |
33 import de.intevation.flys.importer.parsers.PegelGltParser; | 33 import de.intevation.flys.importer.parsers.PegelGltParser; |
34 import de.intevation.flys.importer.parsers.SQRelationParser; | 34 import de.intevation.flys.importer.parsers.SQRelationParser; |
35 import de.intevation.flys.importer.parsers.SedimentDensityParser; | 35 import de.intevation.flys.importer.parsers.SedimentDensityParser; |
36 import de.intevation.flys.importer.parsers.SedimentYieldParser; | 36 import de.intevation.flys.importer.parsers.SedimentYieldParser; |
37 import de.intevation.flys.importer.parsers.W80Parser; | |
37 import de.intevation.flys.importer.parsers.WaterlevelDifferencesParser; | 38 import de.intevation.flys.importer.parsers.WaterlevelDifferencesParser; |
38 import de.intevation.flys.importer.parsers.WaterlevelParser; | 39 import de.intevation.flys.importer.parsers.WaterlevelParser; |
39 import de.intevation.flys.importer.parsers.WstParser; | 40 import de.intevation.flys.importer.parsers.WstParser; |
40 import de.intevation.flys.model.River; | 41 import de.intevation.flys.model.River; |
41 import de.intevation.flys.model.Unit; | 42 import de.intevation.flys.model.Unit; |
227 public void parseDependencies() throws IOException { | 228 public void parseDependencies() throws IOException { |
228 parseGauges(); | 229 parseGauges(); |
229 parseAnnotations(); | 230 parseAnnotations(); |
230 parsePRFs(); | 231 parsePRFs(); |
231 parseDA66s(); | 232 parseDA66s(); |
233 parseDA50s(); | |
234 parseW80s(); | |
232 parseHYKs(); | 235 parseHYKs(); |
233 parseWst(); | 236 parseWst(); |
234 parseExtraWsts(); | 237 parseExtraWsts(); |
235 parseFixations(); | 238 parseFixations(); |
236 parseOfficialLines(); | 239 parseOfficialLines(); |
907 lines.add(new ImportCrossSectionLine(km, points)); | 910 lines.add(new ImportCrossSectionLine(km, points)); |
908 } | 911 } |
909 | 912 |
910 crossSections.add(new ImportCrossSection( | 913 crossSections.add(new ImportCrossSection( |
911 ImportRiver.this, description, ti, lines)); | 914 ImportRiver.this, description, ti, lines)); |
915 } | |
916 | |
917 /** Create a W80 Parser and parse w80 files found. */ | |
918 public void parseW80s() { | |
919 if (Config.INSTANCE.skipW80s()) { | |
920 log.info("skip parsing W80s"); | |
921 } | |
922 W80Parser parser = new W80Parser(); | |
923 File riverDir = wstFile | |
924 .getParentFile() // Basisdaten | |
925 .getParentFile() // Hydrologie | |
926 .getParentFile(); // <river> | |
927 | |
928 // TODO this can probably be further merged with implementation for PRF parser. | |
929 parser.parseW80s(riverDir, new CrossSectionParser.Callback() { | |
930 | |
931 Set<HashedFile> w80s = new HashSet<HashedFile>(); | |
932 | |
933 @Override | |
934 public boolean accept(File file) { | |
935 HashedFile hf = new HashedFile(file); | |
936 boolean success = w80s.add(hf); | |
937 if (!success) { | |
938 log.warn("W80 file '" + file + "' seems to be a duplicate."); | |
939 } | |
940 return success; | |
941 } | |
942 | |
943 @Override | |
944 public void parsed(CrossSectionParser parser) { | |
945 log.debug("callback from W80 parser"); | |
946 | |
947 addCrossSections(parser); | |
948 } | |
949 }); | |
950 } | |
951 | |
952 public void parseDA50s() { | |
953 if (Config.INSTANCE.skipDA50s()) { | |
954 log.info("skip parsing DA50s"); | |
955 } | |
956 else log.warn("DA50 parsing not yet implemented"); | |
912 } | 957 } |
913 | 958 |
914 | 959 |
915 /** Create a DA66 Parser and parse the da66 files found. */ | 960 /** Create a DA66 Parser and parse the da66 files found. */ |
916 // TODO this is a copy of parsePRFs, extract interfaces (e.g. CrossSectionParser). | 961 // TODO this is a copy of parsePRFs, extract interfaces (e.g. CrossSectionParser). |
1038 } | 1083 } |
1039 } | 1084 } |
1040 } | 1085 } |
1041 | 1086 |
1042 public void storeCrossSections() { | 1087 public void storeCrossSections() { |
1043 if (!Config.INSTANCE.skipPRFs() || !Config.INSTANCE.skipDA66s()) { | 1088 if (!Config.INSTANCE.skipPRFs() || !Config.INSTANCE.skipDA66s() || !Config.INSTANCE.skipDA50s() || !Config.INSTANCE.skipW80s()) { |
1044 log.info("store cross sections"); | 1089 log.info("store cross sections"); |
1045 getPeer(); | 1090 getPeer(); |
1046 for (ImportCrossSection crossSection: crossSections) { | 1091 for (ImportCrossSection crossSection: crossSections) { |
1047 crossSection.storeDependencies(); | 1092 crossSection.storeDependencies(); |
1048 } | 1093 } |