diff --git a/src/main/java/de/komoot/photon/App.java b/src/main/java/de/komoot/photon/App.java index 1ed919b5..7a5f03ed 100644 --- a/src/main/java/de/komoot/photon/App.java +++ b/src/main/java/de/komoot/photon/App.java @@ -124,16 +124,19 @@ private static void startJsonDump(CommandLineArgs args) { final var dbProps = args.getDatabaseProperties(); try { - final var connector = new NominatimImporter(args.getHost(), args.getPort(), args.getDatabase(), args.getUser(), args.getPassword(), dbProps); - dbProps.setImportDate(connector.getLastImportDate()); - final String filename = args.getJsonDump(); final JsonDumper jsonDumper = new JsonDumper(filename, dbProps); - jsonDumper.writeHeader(connector.loadCountryNames(dbProps.getLanguages())); - final var importThread = new ImportThread(jsonDumper); + try { - importFromDatabase(args, importThread, dbProps); + if (args.getImportFile() == null) { + final var connector = new NominatimImporter(args.getHost(), args.getPort(), args.getDatabase(), args.getUser(), args.getPassword(), dbProps); + dbProps.setImportDate(connector.getLastImportDate()); + jsonDumper.writeHeader(connector.loadCountryNames(dbProps.getLanguages())); + importFromDatabase(args, importThread, dbProps); + } else { + importFromFile(args, importThread); + } } finally { importThread.finish(); } diff --git a/src/main/java/de/komoot/photon/json/JsonDumper.java b/src/main/java/de/komoot/photon/json/JsonDumper.java index 86d257bf..17d07acb 100644 --- a/src/main/java/de/komoot/photon/json/JsonDumper.java +++ b/src/main/java/de/komoot/photon/json/JsonDumper.java @@ -114,6 +114,8 @@ public void writeNominatimDocument(PhotonDoc doc) throws IOException { writer.writeStringField(DumpFields.PLACE_OBJECT_TYPE, doc.getOsmType()); writer.writeNumberField(DumpFields.PLACE_OBJECT_ID, doc.getOsmId()); + final var addressType = doc.getAddressType(); + writer.writeStringField(Constants.OBJECT_TYPE, addressType == null ? "other" : addressType.getName()); writer.writeStringField(DumpFields.PLACE_OSM_KEY, doc.getTagKey()); writer.writeStringField(DumpFields.PLACE_OSM_VALUE, doc.getTagValue()); writer.writeObjectField(DumpFields.PLACE_CATEGORIES,doc.getCategories());