Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2-EE-GA_P02
-
Fix Version/s: 2.0.1, EE-1.8.2.GA_P03
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
Description
Scenario: There is a dataTable that uses a rowSelector. When a row is selecting a user can delete this row. After the row is deleted when a user selects a new row a PropertyNotFoundException is thrown:
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'item' resolved to null
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'item' resolved to null
Activity
Arran Mccullough
created issue -
Arran Mccullough
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [5007000000F6uyy] |
Arran Mccullough
made changes -
Attachment | Case9696Example.war [ 12797 ] | |
Attachment | error-stacktrace.txt [ 12798 ] |
Arran Mccullough
made changes -
Attachment | Case9696Example.zip [ 12799 ] |
Ken Fyten
made changes -
Fix Version/s | 1.8.2-EE-GA_P03 [ 10251 ] | |
Assignee Priority | P1 | |
Assignee | Yip Ng [ yip.ng ] |
Ken Fyten
made changes -
Fix Version/s | 2.0.1 [ 10255 ] |
yip.ng
made changes -
Attachment | screenshot-01.png [ 12807 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #23792 | Wed Jan 12 13:26:02 MST 2011 | yip.ng | |
Files Changed | ||||
MODIFY
/icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/ext/RowSelector.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #23793 | Wed Jan 12 13:27:15 MST 2011 | yip.ng | |
Files Changed | ||||
MODIFY
/icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/RowSelector.java
|
yip.ng
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Assignee Priority | P1 |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Dev comment:
I believe the problem is in this method of RowSelector:
private void deselectPreviousSelection(UIData uiData, int rowindex) {
{ uiData.setRowIndex((selection[i]).intValue()); setValue(Boolean.FALSE); }Integer[] selection = new Integer[currentSelection.size()];
currentSelection.toArray(selection);
for (int i=0; i<selection.length; i++)
uiData.setRowIndex(rowindex);
}
We have code to deselect the previously selected row, when a new row is selected. But, it's not checking if that row had since been removed. In this case, we need to check if the row is available, before calling setValue().