private void addSelections(boolean all) { List<Object[]> selected = new ArrayList<Object[]>(); int[] rows; if (all) { int rowCount = individualsSTP.getTable().getModel().getRowCount(); rows = new int[rowCount]; for (int i = 0; i < rowCount; i++) { rows[i] = i; } } else { rows = individualsSTP.getTable().getSelectedRows(); } for (int r : rows) { int realRow = individualsSTP.getActualRowAt(r); Object[] o = individualsRetriever.getIndividuals().get(realRow); selected.add(o); } for (int i : rows) { selectedRows.add(individualsSTP.getActualRowAt(i)); } for (Object[] s : selected) { selectedHospitalIDs.add(s[INDEX_OF_HOSPITAL_ID].toString()); } refreshSelectionIndicator(); }
public Set<String> getDNAIDsOfSelectedIndividuals() { Set<String> ids = new HashSet<String>(); for (int i : selectedRows) { String dnaID = (String) individualsRetriever.getIndividuals().get(i)[INDEX_OF_DNA_IDS]; ids.add(dnaID); } return ids; }
public Set<String> getInverseOfHospitalIDsOfSelectedIndividuals() { List<Object[]> allRows = individualsRetriever.getIndividuals(); Set<String> results = new HashSet<String>(); Set<String> selected = getHospitalIDsOfSelectedIndividuals(); for (Object[] row : allRows) { String id = (String) row[INDEX_OF_HOSPITAL_ID]; if (!selected.contains(id)) { results.add(id); } } return results; }
public void setSelectedIndividuals(Set<String> s) { selectedRows.removeAll(selectedRows); selectedHospitalIDs = s; hasMadeSelections = true; for (String arbitraryHostpitalID : s) { int rowNumber = 0; List<Object[]> individuals = individualsRetriever.getIndividuals(); for (Object[] inOrderRow : individuals) { if (inOrderRow[INDEX_OF_HOSPITAL_ID].equals(arbitraryHostpitalID)) { selectedRows.add(rowNumber); } rowNumber++; } } refreshSelectionIndicator(); }