private Placemark getSelectedPlacemark() { int rowIndex = placemarkTable.getSelectedRow(); if (rowIndex >= 0) { final int modelIndex = placemarkTable.convertRowIndexToModel(rowIndex); return placemarkTableModel.getPlacemarkAt(modelIndex); } return null; }
private List<Placemark> getSelectedPlacemarks() { List<Placemark> placemarkList = new ArrayList<>(); int[] sortedRowIndexes = placemarkTable.getSelectedRows(); if (sortedRowIndexes != null) { for (int rowIndex : sortedRowIndexes) { int modelRowIndex = placemarkTable.convertRowIndexToModel(rowIndex); placemarkList.add(placemarkTableModel.getPlacemarkAt(modelRowIndex)); } } return placemarkList; }
private List<PlacemarkData> getExtraDataFromTable(List<Placemark> placemarkList) { List<PlacemarkData> list = new ArrayList<>(); String[] additionalColumnNames = placemarkTableModel.getAdditionalColumnNames(); for (int rowIndex= 0; rowIndex < placemarkTableModel.getRowCount(); rowIndex++) { Placemark placemark = placemarkTableModel.getPlacemarkAt(rowIndex); if (placemarkList.contains(placemark)) { Map<String, Object> extraData = new LinkedHashMap<>(); for (String additionalColumnName : additionalColumnNames) { int columnIndex = placemarkTableModel.getColumnIndex(additionalColumnName); if (columnIndex >= 0) { Object valueAt = placemarkTableModel.getValueAt(rowIndex, columnIndex); extraData.put(additionalColumnName, valueAt); } } list.add(new PlacemarkData(placemark, extraData.isEmpty() ? null : extraData)); } } return list; }
private void writePlacemarkDataTableText(final Writer writer) { String[] additionalColumnNames = placemarkTableModel.getAdditionalColumnNames(); String[] standardColumnNames = placemarkTableModel.getStandardColumnNames(); int columnCount = placemarkTableModel.getColumnCount(); 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.convertRowIndexToModel(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); }