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