Bonjour,

J'ai dans mon projet la méthode ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !