Ignore:
Timestamp:
2023-10-12T21:13:32+02:00 (12 months ago)
Author:
taylor.smock
Message:

Fix #23157: Change S57osm.OSMmap to accept either a file or inputstream (patch by oobayly)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/seachart/src/s57/S57osm.java

    r35404 r36169  
    33
    44import java.io.File;
     5import java.io.InputStream;
     6import java.io.FileInputStream;
    57import java.util.ArrayList;
    68import java.util.HashMap;
     
    98100    }
    99101
    100     public static void OSMmap(File in, S57map map, boolean bb) throws Exception {
     102    public static void OSMmap(File file, S57map map, boolean bb) throws Exception {
     103        try (InputStream in = new FileInputStream(file)) {
     104          OSMmap(in, map, bb);
     105        }
     106    }
     107
     108    public static void OSMmap(InputStream in, S57map map, boolean bb) throws Exception {
     109        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
     110        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
     111        Document doc = dBuilder.parse(in);
     112
     113        OSMmap(doc, map, bb);
     114    }
     115
     116    public static void OSMmap(Document doc, S57map map, boolean bb) throws Exception {
    101117        double lat = 0;
    102118        double lon = 0;
     
    113129        map.nodes.put(4L, new Snode());
    114130
    115         DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    116         DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    117         Document doc = dBuilder.parse(in);
    118131        doc.getDocumentElement().normalize();
    119132        if (!doc.getDocumentElement().getNodeName().equals("osm")) {
Note: See TracChangeset for help on using the changeset viewer.