Bonjour,
J'ai dans mon projet la méthode ci-dessous :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| private static void getLinkedAndUnlinkedItems (final ListGrid listGrid, final BigDecimal organizationId, final ArrayList<ItemsDTO> linkedItems) {
AsyncCallback<ArrayList<ItemsDTO>> callback = new AsyncCallback<ArrayList<ItemsDTO>>() {
public void onFailure(Throwable caught) {
SC.warn("Unable to retrieve items. Please contact your administrator.\nDetails :\n" + caught.getMessage());
}
public void onSuccess(ArrayList<ItemsDTO> result) {
if (result != null) {
allItemsrecords = new ItemLinkRecord [result.size()];
int index = 0;
for (ItemsDTO item : result) {
allItemsrecords[index] = new ItemLinkRecord(item, linkedItems.contains(item), item.getItemId());
index ++;
}
listGrid.setData(allItemsrecords);
for (ItemLinkRecord record : allItemsrecords) {
if (record.getSelected()) listGrid.selectRecord(record);
}
}
}
};
parametersService.getAllItems(organizationId, callback);
} |
Dans la ligne ci-dessous
allItemsrecords[index] = new ItemLinkRecord(item, linkedItems.contains(item), item.getItemId());
linkedItems.contains(item) ne fais jamais appel à la méthode equals que j'ai surchargée dans la classe ItemsDTO.
En revanche, si je fais
allItemsrecords[index] = new ItemLinkRecord(item, result.contains(item), item.getItemId());
La méthode est appelée.
Quelqu'un aurait-une idée à propos de l'origine de ce comportement ?
Merci d'avance !
Partager