diff backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java @ 9032:1f63e9d3b0ec

New columns for bed_height, tkh and depth_evolution, a few syntactic corrections for Oracle
author mschaefer
date Fri, 27 Apr 2018 17:35:12 +0200
parents dcbdff96d1a8
children 4c5eeaff554c
line wrap: on
line diff
--- a/backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java	Fri Apr 27 11:34:04 2018 +0200
+++ b/backend/src/main/java/org/dive4elements/river/importer/sinfo/parsers/TkhParser.java	Fri Apr 27 17:35:12 2018 +0200
@@ -31,6 +31,7 @@
 import org.dive4elements.river.importer.sinfo.importitem.TkhColumnSeriesImport;
 import org.dive4elements.river.importer.sinfo.importitem.TkhKmLineImport;
 import org.dive4elements.river.importer.sinfo.importitem.TkhSeriesImport;
+import org.dive4elements.river.model.sinfo.Tkh;
 import org.dive4elements.river.model.sinfo.TkhColumn;
 import org.dive4elements.river.model.sinfo.TkhValue;
 
@@ -56,6 +57,36 @@
 
     private static final Pattern COLUMN_TITLE = Pattern.compile("Transportk((.)|(oe))rperh((.)|(oe))he\\s*\\((.+?)\\)\\s*\\[cm\\].*", Pattern.CASE_INSENSITIVE);
 
+    private enum GroupDirectory {
+        NONE(Tkh.Group.NONE, ""), //
+        CALCULATION(Tkh.Group.CALCULATION, "Berechnungsergebnisse"), //
+        MEASUREMENT(Tkh.Group.MEASUREMENT, "Naturmessungen");
+
+        private final Tkh.Group group;
+        private final String dirname;
+
+        GroupDirectory(final Tkh.Group group, final String dirname) {
+            this.group = group;
+            this.dirname = dirname;
+        }
+
+        public Tkh.Group getGroup() {
+            return this.group;
+        }
+
+        public String getDirName() {
+            return this.dirname;
+        }
+
+        public static GroupDirectory forDirName(final String dirname) {
+            for (final GroupDirectory gd : GroupDirectory.values()) {
+                if (dirname.equalsIgnoreCase(gd.getDirName()))
+                    return gd;
+            }
+            return NONE;
+        }
+    }
+
     private static final DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
 
     private final TkhSeriesImport tkhGroup;
@@ -68,6 +99,7 @@
     public TkhParser(final File importPath, final File rootRelativePath, final ImportRiver river) {
         super(importPath, rootRelativePath, river);
         this.tkhGroup = new TkhSeriesImport(importPath.getName().replaceAll("\\.csv", ""));
+        this.tkhGroup.setGroup(GroupDirectory.forDirName(this.importPath.getParentFile().getName()).getGroup());
         this.seriesHeader = new TkhColumnSeriesImport(this.tkhGroup.getFilename(), this.tkhGroup, null, null);
         this.colParsers = new ArrayList<>();
     }

http://dive4elements.wald.intevation.org