Mercurial > dive4elements > river
diff flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java @ 3328:a41f279a66e2
Added parser and import classes to import MINFO sq relations.
flys-backend/trunk@4646 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 13 Jun 2012 06:22:04 +0000 |
parents | bf8d9a4f4cd4 |
children | cc8fc6b29649 |
line wrap: on
line diff
--- a/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java Tue Jun 12 13:50:29 2012 +0000 +++ b/flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java Wed Jun 13 06:22:04 2012 +0000 @@ -16,6 +16,7 @@ import de.intevation.flys.importer.parsers.PegelGltParser; import de.intevation.flys.importer.parsers.SedimentDensityParser; import de.intevation.flys.importer.parsers.SedimentYieldParser; +import de.intevation.flys.importer.parsers.SQRelationParser; import de.intevation.flys.importer.parsers.WaterlevelDifferencesParser; import de.intevation.flys.importer.parsers.WaterlevelParser; import de.intevation.flys.importer.parsers.WstParser; @@ -96,6 +97,8 @@ public static final String MINFO_WATERLEVEL_DIFF_DIR = "Wasserspiegeldifferenzen"; + public static final String MINFO_SQ_DIR = "Feststofftransport-Abfluss-Beziehung"; + protected String name; @@ -139,6 +142,8 @@ protected List<ImportWaterlevelDifference> waterlevelDiffs; + protected List<ImportSQRelation> sqRelations; + protected ImportWst wst; protected ImportUnit wstUnit; @@ -162,6 +167,7 @@ sedimentYields = new ArrayList<ImportSedimentYield>(); waterlevels = new ArrayList<ImportWaterlevel>(); waterlevelDiffs = new ArrayList<ImportWaterlevelDifference>(); + sqRelations = new ArrayList<ImportSQRelation>(); } public ImportRiver( @@ -232,6 +238,7 @@ parseSedimentYield(); parseWaterlevels(); parseWaterlevelDifferences(); + parseSQRelation(); } public void parseFloodProtection() throws IOException { @@ -362,13 +369,13 @@ protected void parseFlowVelocity() throws IOException { - log.debug("Parse flow velocity"); - if (Config.INSTANCE.skipFlowVelocity()) { log.info("skip parsing flow velocity"); return; } + log.debug("Parse flow velocity"); + File minfoDir = getMinfoDir(); File flowDir = new File(minfoDir, FLOW_VELOCITY_DIR); File modelDir = new File(flowDir, FLOW_VELOCITY_MODEL); @@ -521,6 +528,36 @@ } + protected void parseSQRelation() throws IOException { + if (Config.INSTANCE.skipSQRelation()) { + log.info("skip sq relation"); + return; + } + + log.info("Parse sq relations"); + + File minfo = getMinfoDir(); + File sqDir = new File(minfo, MINFO_SQ_DIR); + + File[] files = sqDir.listFiles(); + + if (files == null) { + log.warn("Cannot read directory '" + sqDir + "'"); + return; + } + + SQRelationParser parser = new SQRelationParser(); + + for (File file: files) { + parser.parse(file); + } + + sqRelations = parser.getSQRelations(); + + log.debug("Parsed " + sqRelations.size() + " SQ relations."); + } + + protected void parseBedHeightSingles(File dir) throws IOException { log.debug("Parse bed height singles"); @@ -892,6 +929,7 @@ storeSedimentYield(); storeWaterlevels(); storeWaterlevelDifferences(); + storeSQRelations(); } public void storeWstUnit() { @@ -1186,6 +1224,15 @@ } + public void storeSQRelations() { + if (!Config.INSTANCE.skipSQRelation()) { + log.info("store sq relations"); + + // TODO + } + } + + public void storeAnnotations() { if (!Config.INSTANCE.skipAnnotations()) { River river = getPeer();