From bcf71e04cc9357116154a5d617280b58b323715d Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Wed, 21 May 2008 20:43:51 +0000 Subject: [PATCH] Fix for SWF-692 --- .../model/ManySelectionTrackingListDataModel.java | 3 +++ .../faces/model/OneSelectionTrackingListDataModel.java | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java b/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java index 70494509..38557676 100644 --- a/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java +++ b/spring-faces/src/main/java/org/springframework/faces/model/ManySelectionTrackingListDataModel.java @@ -54,6 +54,9 @@ public class ManySelectionTrackingListDataModel extends SerializableListDataMode } public void setSelected(boolean rowSelected) { + if (!isRowAvailable()) { + return; + } if (rowSelected && !selections.contains(getRowData())) { selections.add(getRowData()); } else { diff --git a/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java b/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java index 274c1de8..b22a75ec 100644 --- a/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java +++ b/spring-faces/src/main/java/org/springframework/faces/model/OneSelectionTrackingListDataModel.java @@ -64,11 +64,15 @@ public class OneSelectionTrackingListDataModel extends SerializableListDataModel } public void setSelected(boolean rowSelected) { - if (rowSelected && !selections.contains(getRowData())) { + if (!isRowAvailable()) { + return; + } + + if (!rowSelected) { + selections.clear(); + } else if (rowSelected && !selections.contains(getRowData())) { selections.clear(); selections.add(getRowData()); - } else if (!rowSelected) { - selections.clear(); } }