You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by th...@mvv.de on 2008/04/15 17:06:39 UTC
[Trinidad] infinite loop when trying to set selected row / set row index
While trying to fix this (http://www.nabble.com/-Trinidad--how-to-add-default-selection-for-Table-td16698321.html) I found a strange behaviour that looks like a bug.
The table is defined like this:
<tr:table value="#{myBean.billingAdresses}" var="address" rowSelection="single" binding="#{myBean.addressTable}" >
The method billingAddresses() returns a Collection of BillingAddress-objects. The row displaying a certain object should be pre-selected when the table is displayed. So, in the backing bean, there are a number of called methods to find the right RowKey and to create the RowKeySet to set to the table using UIXTable.setSelectedRowKeys(). This are the used methods:
public List<BillingAddress> getBillingAdresses(){
addressList = myData.getBillingAdresses(getUser(), getJcoClient());
addressTable.setSelectedRowKeys(getSelectedRowKeys());
return addressList;
}
public RowKeySet getSelectedRowKeys(){
RowKeySet selectedRows = getMatchingRowKeys(currentAddress, addressTable);
return selectedRows;
}
public RowKeySet getMatchingRowKeys(BillingAddress sample, CoreTable table){
RowKeySet keySet = new RowKeySetImpl();
int rows = table.getRows();
for(int i=1;i<rows;i++){
table.setRowIndex(i); // <-- This is where the JVM jumps back
BillingAddress rowAddress = (BillingAddress)table.getRowData();
if(rowAddress == sample)
keySet.add(table.getRowKey());
}
return keySet;
}
The problem emerges when debugging step by step through this. Everything is fine until getMatchingRowKeys(...) is called. In the line marked with // <!-- the debugger jumps back to the first line of getBillingAdresses(...) resulting in an infinite loop.
My questions are:
1) Is there another way to get the apropriate RowKeys and set them to the table
2) Should I report this to JIRA or is there an error in my code that keeps hidden from my eyes?
Please note also this posting http://markmail.org/message/mku5h24ofwi2gnrd#query:how%20to%20RowKEySet+page:1+mid:mku5h24ofwi2gnrd+state:results as it looks like dealing with the same problem.
Thanks,
Tom
Thomas Asel
Diplom Informatiker (FH)
Selbständiger Softwareentwickler
im Auftrag der 24/7 IT-Services GmbH
== == == == == == == == == == == ==
www.thomas-asel.de
J2EE und Contentmanagement-Lösungen
L13,7 68161 Mannheim
Tel.: +49 (0) 621 / 386 448 3
Mobil: +49(0) 176 / 219 284 26
USt-IdNr.: DE248123620