void exportPlacemarkDataTable() { final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setDialogTitle(MessageFormat.format("Export {0} Data Table", /*I18N*/ StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()))); setComponentName(fileChooser, "Export_Data_Table"); fileChooser.setFileFilter(PlacemarkIO.createTextFileFilter()); final File ioDir = getIODir(); fileChooser.setCurrentDirectory(ioDir); fileChooser.setSelectedFile(new File(ioDir, "Data")); int result = fileChooser.showSaveDialog(SwingUtilities.getWindowAncestor(this)); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { if (Boolean.TRUE.equals(Dialogs.requestOverwriteDecision(getTitle(), file))) { setIODir(file.getAbsoluteFile().getParentFile()); file = FileUtils.ensureExtension(file, PlacemarkIO.FILE_EXTENSION_FLAT_TEXT); try { try (Writer writer = new FileWriter(file)) { writePlacemarkDataTableText(writer); } } catch (IOException ignored) { Dialogs.showError(MessageFormat.format("I/O Error.\nFailed to export {0} data table.", /*I18N*/ placemarkDescriptor.getRoleLabel())); } } } } }
private List<Placemark> loadPlacemarksFromFile() throws IOException { final SnapFileChooser fileChooser = new SnapFileChooser(); String roleLabel = StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()); fileChooser.setDialogTitle("Import " + roleLabel + "s"); /*I18N*/ setComponentName(fileChooser, "Import"); fileChooser.addChoosableFileFilter(PlacemarkIO.createTextFileFilter()); fileChooser.setFileFilter(PlacemarkIO.createPlacemarkFileFilter()); fileChooser.setCurrentDirectory(getIODir()); int result = fileChooser.showOpenDialog(SwingUtilities.getWindowAncestor(this)); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { setIODir(file.getAbsoluteFile().getParentFile()); GeoCoding geoCoding = null; if (product != null) { geoCoding = product.getSceneGeoCoding(); } return PlacemarkIO.readPlacemarks(new FileReader(file), geoCoding, placemarkDescriptor); } } return Collections.emptyList(); }
fileChooser.addChoosableFileFilter(PlacemarkIO.createKmzFileFilter()); fileChooser.setFileFilter(PlacemarkIO.createPlacemarkFileFilter()); final File ioDir = getIODir(); fileChooser.setCurrentDirectory(ioDir); fileChooser.setSelectedFile(new File(ioDir, placemarkDescriptor.getRoleName()));