@Override public int compare(PlacemarkDescriptor o1, PlacemarkDescriptor o2) { return o1.getRoleLabel().compareTo(o2.getRoleLabel()); } });
public static String createLabel(PlacemarkDescriptor placemarkDescriptor, int pinNumber, boolean firstLetterIsUpperCase) { Assert.argument(placemarkDescriptor.getRoleLabel().length() > 0, "placemarkDescriptor.getRoleLabel()"); String name = placemarkDescriptor.getRoleLabel(); if (firstLetterIsUpperCase) { name = name.substring(0, 1).toUpperCase() + name.substring(1); } return name + " " + pinNumber; }
private void makePlacemarkNameUnique(Placemark newPlacemark) { if (makePlacemarkNameUnique0(newPlacemark, product)) { showWarningDialog(MessageFormat.format("{0} has been renamed to ''{1}'',\n" + "because a {2} with the former name already exists.", StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()), newPlacemark.getName(), placemarkDescriptor.getRoleLabel())); } }
void importPlacemarks(boolean allPlacemarks) { List<Placemark> placemarks; try { placemarks = loadPlacemarksFromFile(); } catch (IOException e) { e.printStackTrace(); showErrorDialog( MessageFormat.format("I/O error, failed to import {0}s:\n{1}", /*I18N*/ placemarkDescriptor.getRoleLabel(), e.getMessage())); return; } if (placemarks.isEmpty()) { return; } addPlacemarksToProduct(placemarks, product, allPlacemarks); }
buttons.add(createButton("<html>Interpret each point as <b>" + descriptor.getRoleLabel() + "</br></html>", false, InterpretationMethod.APPLY_DESCRIPTOR,
@Override protected void onOK() { if (ProductNode.isValidNodeName(getName())) { super.onOK(); } else { showInformationDialog("'" + getName() + "' is not a valid " + placemarkDescriptor.getRoleLabel() + " name."); /*I18N*/ } }
showWarningDialog(MessageFormat.format( "One or more {0}s have not been imported,\n{1}because they can not be assigned to a product without a geo-coding.", placemarkDescriptor.getRoleLabel(), intoProductMessage)); placemarkDescriptor.getRoleLabel(), intoProductMessage)); MessageFormat.format( "No {0}s have been imported,\n{1}because their pixel positions\nare outside the product''s bounds.", placemarkDescriptor.getRoleLabel(), intoProductMessage) ); } else { MessageFormat.format( "{0} {1}s have not been imported,\n{2}because their pixel positions\nare outside the product''s bounds.", numPinsOutOfBounds, placemarkDescriptor.getRoleLabel(), intoProductMessage) );
void removeSelectedPins() { final List<Placemark> placemarks = getSelectedPlacemarks(); int i = JOptionPane.showConfirmDialog(getPaneWindow(), MessageFormat.format( "Do you really want to remove {0} selected {1}(s)?\n" + "This action can not be undone.", placemarks.size(), placemarkDescriptor.getRoleLabel()), MessageFormat.format("{0} - Remove {1}s", getDescriptor().getTitle(), placemarkDescriptor.getRoleLabel()), JOptionPane.OK_CANCEL_OPTION); if (i == JOptionPane.OK_OPTION) { int selectedRow = placemarkTable.getSelectedRow(); for (Placemark placemark : placemarks) { getPlacemarkGroup(product).remove(placemark); } if (selectedRow >= getPlacemarkGroup(product).getNodeCount()) { selectedRow = getPlacemarkGroup(product).getNodeCount() - 1; } if (selectedRow >= 0) { placemarkTable.getSelectionModel().setSelectionInterval(selectedRow, selectedRow); } updateUIState(); } }
void exportPlacemarkDataTable() { final BeamFileChooser fileChooser = new BeamFileChooser(); 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(getPaneWindow()); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { if (!visatApp.promptForOverwrite(file)) { return; } 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) { showErrorDialog(MessageFormat.format("I/O Error.\nFailed to export {0} data table.", /*I18N*/ placemarkDescriptor.getRoleLabel())); } } } }
private void writePlacemarkDataTableText(final Writer writer) { final String[] standardColumnNames = placemarkTableModel.getStandardColumnNames(); final int columnCountMin = standardColumnNames.length; final int columnCount = placemarkTableModel.getColumnCount(); String[] additionalColumnNames = new String[columnCount - columnCountMin]; for (int i = 0; i < additionalColumnNames.length; i++) { additionalColumnNames[i] = placemarkTableModel.getColumnName(columnCountMin + i); } List<Placemark> placemarkList = new ArrayList<>(); List<Object[]> valueList = new ArrayList<>(); for (int sortedRow = 0; sortedRow < placemarkTable.getRowCount(); ++sortedRow) { ListSelectionModel selectionModel = placemarkTable.getSelectionModel(); if (selectionModel.isSelectionEmpty() || selectionModel.isSelectedIndex(sortedRow)) { final int modelRow = placemarkTable.getActualRowAt(sortedRow); placemarkList.add(placemarkTableModel.getPlacemarkAt(modelRow)); Object[] values = new Object[columnCount]; for (int col = 0; col < columnCount; col++) { values[col] = placemarkTableModel.getValueAt(modelRow, col); } valueList.add(values); } } PlacemarkIO.writePlacemarksWithAdditionalData(writer, placemarkDescriptor.getRoleLabel(), product.getName(), placemarkList, valueList, standardColumnNames, additionalColumnNames); }
private List<Placemark> loadPlacemarksFromFile() throws IOException { final BeamFileChooser fileChooser = new BeamFileChooser(); 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(getPaneWindow()); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { setIODir(file.getAbsoluteFile().getParentFile()); GeoCoding geoCoding = null; if (product != null) { geoCoding = product.getGeoCoding(); } return PlacemarkIO.readPlacemarks(new FileReader(file), geoCoding, placemarkDescriptor); } } return Collections.emptyList(); }
void exportPlacemarks() { final BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setDialogTitle(MessageFormat.format("Export {0}(s)", StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()))); /*I18N*/ setComponentName(fileChooser, "Export_Selected"); fileChooser.addChoosableFileFilter(PlacemarkIO.createTextFileFilter()); showErrorDialog( String.format("I/O Error.\n Failed to export %ss.\n%s", placemarkDescriptor.getRoleLabel(), ioe.getMessage()) ); ioe.printStackTrace();
private void testReadStandardResult(List<Placemark> expectedPlacemarks, List<Placemark> actualPlacemarks, PlacemarkDescriptor descriptorInstance) { for (int i = 0; i < actualPlacemarks.size(); i++) { Placemark actualPlacemark = actualPlacemarks.get(i); Placemark expectedPlacemark = expectedPlacemarks.get(i); assertNotSame(expectedPlacemark, actualPlacemark); assertEquals(expectedPlacemark.getName(), actualPlacemark.getName()); assertEquals(expectedPlacemark.getLabel(), actualPlacemark.getLabel()); assertEquals(expectedPlacemark.getPixelPos(), actualPlacemark.getPixelPos()); assertEquals(expectedPlacemark.getGeoPos(), actualPlacemark.getGeoPos()); assertEquals(expectedPlacemark.getDescription(), actualPlacemark.getDescription()); PlacemarkDescriptor descriptor = expectedPlacemark.getDescriptor(); assertEquals(descriptor.getRoleLabel(), descriptorInstance.getRoleLabel()); } }
@Test public void testDeprecatedProperties() throws Exception { final Product product = new Product("n", "t", 1, 1); assertNull(instance.getPlacemarkGroup(product)); assertEquals("track_point", instance.getRoleName()); assertEquals("track point", instance.getRoleLabel()); assertNull(instance.getCursorImage()); assertNotNull(instance.getCursorHotSpot()); assertEquals(null, instance.getShowLayerCommandId()); }
@Test public void testDeprecatedProperties() throws Exception { final Product product = new Product("n", "t", 1, 1); assertSame(product.getGcpGroup(), instance.getPlacemarkGroup(product)); assertEquals("gcp", instance.getRoleName()); assertEquals("GCP", instance.getRoleLabel()); assertNull(instance.getCursorImage()); assertNotNull(instance.getCursorHotSpot()); assertEquals("showGcpOverlay", instance.getShowLayerCommandId()); }
@Test public void testDeprecatedProperties() throws Exception { final Product product = new Product("n", "t", 1, 1); assertSame(product.getPinGroup(), instance.getPlacemarkGroup(product)); assertEquals("pin", instance.getRoleName()); assertEquals("pin", instance.getRoleLabel()); assertNull(instance.getCursorImage()); assertNotNull(instance.getCursorHotSpot()); assertEquals("showPinOverlay", instance.getShowLayerCommandId()); }
final String placemarkLabel = view.getPlacemarkDescriptor().getRoleLabel(); newButton.setToolTipText("Create and add new " + placemarkLabel + "."); /*I18N*/ newButton.addActionListener(new ActionListener() {
boolean belongsToProduct = placemark.getProduct() != null; String titlePrefix = belongsToProduct ? "Edit" : "New"; String roleLabel = StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel());
public PlacemarkDialog(final Window parent, final Product product, final PlacemarkDescriptor placemarkDescriptor, boolean switchGeoAndPixelPositionsEditable) { super(parent, "New " + placemarkDescriptor.getRoleLabel(), ModalDialog.ID_OK_CANCEL, null); /*I18N*/ Guardian.assertNotNull("product", product); this.product = product;