/** * Busca un elemento en la table y devuelve el indice en el modelo Devuelve -1 si no se encuetra. * * @param table * @param item * @return */ protected int getModelIndexForItem(Cliente item) { if (listModel != null) { List<Cliente> lista = listModel.getDataList(); for (int i = 0; i < lista.size(); i++) if (lista.get(i).getId().equals(item.getId())) return i; } return -1; }
@Override public TerceroListTableModel<Cliente> getListTableModel() { Assert.notNull(dataService); if (listModel == null) { ClienteListProvider dataProvider = new ClienteListProvider(dataService); listModel = new TerceroListTableModel<Cliente>(dataProvider, this); listModel.refreshData(); } return this.listModel; }
/* (non-Javadoc) * @see com.veisite.vegecom.service.DataChangeListener#itemRemoved(java.lang.Object) */ @Override public void itemRemoved(Cliente item) { int index = getModelIndexForItem(item); if (index >= 0) listModel.delItemAt(index); }
/** Un tercero ha sido modificado, notificar la tabla */ @Override public void itemChanged(Cliente item) { int index = getModelIndexForItem(item); if (index >= 0) listModel.setItemAt(index, item); }
/** Un nuevo tercero ha sido añadido Incluir en la lista */ @Override public void itemAdded(Cliente item) { if (listModel != null) listModel.addItem(item); }