comparison backend/src/main/java/org/dive4elements/river/importer/Importer.java @ 9729:7e767c0c9a6d 3.2.x

Improve importer start _ Consider no given info gew files as error instead of starting to process an empty list. _ Reduce code duplication.
author Tom Gottfried <tom@intevation.de>
date Thu, 07 Jul 2022 11:19:08 +0200
parents 0a5239a1e46e
children
comparison
equal deleted inserted replaced
9728:ca1319d5816d 9729:7e767c0c9a6d
15 import org.dive4elements.river.importer.parsers.InfoGewParser; 15 import org.dive4elements.river.importer.parsers.InfoGewParser;
16 16
17 import java.io.File; 17 import java.io.File;
18 import java.io.IOException; 18 import java.io.IOException;
19 19
20 import java.util.ArrayList;
21 import java.util.Arrays;
20 import java.util.HashMap; 22 import java.util.HashMap;
21 import java.util.List; 23 import java.util.List;
22 import java.util.Map; 24 import java.util.Map;
23 25
24 import java.sql.SQLException; 26 import java.sql.SQLException;
131 133
132 134
133 /** Starting point for importing river data. */ 135 /** Starting point for importing river data. */
134 public static void main(String [] args) { 136 public static void main(String [] args) {
135 137
138 // Take paths of GEW files from arguments and system property
139 List<String> gews = new ArrayList<>(Arrays.asList(args));
140 String gewProperty = Config.INSTANCE.getInfoGewFile();
141 if (gewProperty != null && gewProperty.length() > 0) {
142 gews.add(gewProperty);
143 }
144
145 if (gews.isEmpty()) {
146 log.error("No info gew files given");
147 System.exit(1);
148 }
149
136 InfoGewParser infoGewParser = new InfoGewParser( 150 InfoGewParser infoGewParser = new InfoGewParser(
137 getAnnotationClassifier()); 151 getAnnotationClassifier());
138 152
139 log.info("Start parsing rivers..."); 153 log.info("Start parsing rivers...");
140 154
141 File bwastrFile = null; 155 File bwastrFile = null;
142 156
143 for (String gew: args) { 157 for (String gew: gews) {
144 log.info("parsing info gew file: " + gew);
145 File gewFile = new File(gew);
146 if (bwastrFile == null) {
147 bwastrFile = new File(
148 gewFile.getParentFile(), BWASTR_ID_CSV_FILE);
149 }
150 try {
151 infoGewParser.parse(gewFile);
152 }
153 catch (IOException ioe) {
154 log.error("error while parsing gew: " + gew, ioe);
155 System.exit(1);
156 }
157 }
158
159 String gew = Config.INSTANCE.getInfoGewFile();
160 if (gew != null && gew.length() > 0) {
161 log.info("parsing info gew file: " + gew); 158 log.info("parsing info gew file: " + gew);
162 File gewFile = new File(gew); 159 File gewFile = new File(gew);
163 if (bwastrFile == null) { 160 if (bwastrFile == null) {
164 bwastrFile = new File( 161 bwastrFile = new File(
165 gewFile.getParentFile(), BWASTR_ID_CSV_FILE); 162 gewFile.getParentFile(), BWASTR_ID_CSV_FILE);

http://dive4elements.wald.intevation.org