Changeset 14010 in josm for trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
- Timestamp:
- 2018-07-07T14:09:37+02:00 (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
r13220 r14010 23 23 import java.io.IOException; 24 24 import java.io.InputStream; 25 import java.nio.file.Files;26 25 import java.text.DateFormat; 27 26 import java.text.ParseException; 28 27 import java.text.SimpleDateFormat; 29 28 import java.util.ArrayList; 29 import java.util.Arrays; 30 30 import java.util.Collection; 31 31 import java.util.Collections; … … 38 38 import java.util.TimeZone; 39 39 import java.util.concurrent.TimeUnit; 40 import java.util.zip.GZIPInputStream;41 40 42 41 import javax.swing.AbstractAction; … … 60 59 import javax.swing.event.DocumentEvent; 61 60 import javax.swing.event.DocumentListener; 62 import javax.swing.filechooser.FileFilter;63 61 64 62 import org.openstreetmap.josm.Main; 65 63 import org.openstreetmap.josm.actions.DiskAccessAction; 64 import org.openstreetmap.josm.actions.ExtensionFileFilter; 66 65 import org.openstreetmap.josm.data.gpx.GpxConstants; 67 66 import org.openstreetmap.josm.data.gpx.GpxData; … … 72 71 import org.openstreetmap.josm.gui.ExtendedDialog; 73 72 import org.openstreetmap.josm.gui.MainApplication; 73 import org.openstreetmap.josm.gui.io.importexport.GpxImporter; 74 74 import org.openstreetmap.josm.gui.io.importexport.JpgImporter; 75 import org.openstreetmap.josm.gui.io.importexport.NMEAImporter; 75 76 import org.openstreetmap.josm.gui.layer.GpxLayer; 76 77 import org.openstreetmap.josm.gui.layer.Layer; 77 78 import org.openstreetmap.josm.gui.widgets.AbstractFileChooser; 79 import org.openstreetmap.josm.gui.widgets.FileChooserManager; 78 80 import org.openstreetmap.josm.gui.widgets.JosmComboBox; 79 81 import org.openstreetmap.josm.gui.widgets.JosmTextField; 82 import org.openstreetmap.josm.io.Compression; 80 83 import org.openstreetmap.josm.io.GpxReader; 84 import org.openstreetmap.josm.io.IGpxReader; 85 import org.openstreetmap.josm.io.nmea.NmeaReader; 81 86 import org.openstreetmap.josm.spi.preferences.Config; 82 87 import org.openstreetmap.josm.tools.GBC; … … 85 90 import org.openstreetmap.josm.tools.Logging; 86 91 import org.openstreetmap.josm.tools.Pair; 87 import org.openstreetmap.josm.tools.Utils;88 92 import org.openstreetmap.josm.tools.date.DateUtils; 89 93 import org.xml.sax.SAXException; … … 251 255 252 256 @Override 253 public void actionPerformed(ActionEvent arg0) { 254 FileFilter filter = new FileFilter() { 255 @Override 256 public boolean accept(File f) { 257 return f.isDirectory() || Utils.hasExtension(f, "gpx", "gpx.gz"); 258 } 259 260 @Override 261 public String getDescription() { 262 return tr("GPX Files (*.gpx *.gpx.gz)"); 263 } 264 }; 265 AbstractFileChooser fc = DiskAccessAction.createAndOpenFileChooser(true, false, null, filter, JFileChooser.FILES_ONLY, null); 257 public void actionPerformed(ActionEvent e) { 258 ExtensionFileFilter gpxFilter = GpxImporter.getFileFilter(); 259 AbstractFileChooser fc = new FileChooserManager(true, null).createFileChooser(false, null, 260 Arrays.asList(gpxFilter, NMEAImporter.FILE_FILTER), gpxFilter, JFileChooser.FILES_ONLY).openFileChooser(); 266 261 if (fc == null) 267 262 return; … … 287 282 } 288 283 GpxData data = null; 289 try (InputStream iStream = createInputStream(sel)) {290 GpxReader reader = new GpxReader(iStream);284 try (InputStream iStream = Compression.getUncompressedFileInputStream(sel)) { 285 IGpxReader reader = gpxFilter.accept(sel) ? new GpxReader(iStream) : new NmeaReader(iStream); 291 286 reader.parse(false); 292 287 data = reader.getGpxData(); … … 327 322 } 328 323 } 329 330 private InputStream createInputStream(File sel) throws IOException {331 if (Utils.hasExtension(sel, "gpx.gz")) {332 return new GZIPInputStream(Files.newInputStream(sel.toPath()));333 } else {334 return Files.newInputStream(sel.toPath());335 }336 }337 324 } 338 325
Note: See TracChangeset
for help on using the changeset viewer.