From f1e46b3dfcd51fb284475c9e6de35714dea4fb8c Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 26 Jul 2012 15:34:03 +0200
Subject: [PATCH] OO-291: use generics and strong type check

---
 .../ui/wizard/MemberListWizardController.java | 39 ++++++++++++++++---
 1 file changed, 33 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/olat/group/ui/wizard/MemberListWizardController.java b/src/main/java/org/olat/group/ui/wizard/MemberListWizardController.java
index 0a011ed5190..c3d81051ee1 100644
--- a/src/main/java/org/olat/group/ui/wizard/MemberListWizardController.java
+++ b/src/main/java/org/olat/group/ui/wizard/MemberListWizardController.java
@@ -270,9 +270,9 @@ public class MemberListWizardController extends BasicController {
 					}
 				} else {
 					if (GROUPS_MEMBERS.equals(wizardType)) {						
-						setGroupList(getSelectedValues(groupsOrAreaChoice));
+						setGroupList(getSelectedGroups(groupsOrAreaChoice));
 					} else if (AREAS_MEMBERS.equals(wizardType)) {						
-						setAreaList(getSelectedValues(groupsOrAreaChoice));				
+						setAreaList(getSelectedAreas(groupsOrAreaChoice));				
 					}								
 					velocityContainer2.put("colsChoice", colsChoiceController.getInitialComponent());				
 					wizardController.setNextWizardStep(translate("memberlistwizard.colchoice"), velocityContainer2);					
@@ -367,8 +367,8 @@ public class MemberListWizardController extends BasicController {
 	 * @param choice
 	 * @return a list with the selected values of the input choice component.
 	 */
-	private List getSelectedValues(Choice choice) {	
-		List<Object> selValues = new ArrayList<Object>();
+	private List<BGArea> getSelectedAreas(Choice choice) {	
+		List<BGArea> selValues = new ArrayList<BGArea>();
 		List<Integer> selRowsIndexes = choice.getSelectedRows();
 		int numRows = choice.getTableDataModel().getRowCount();
 		for(int i=0; i<numRows; i++) {
@@ -376,11 +376,38 @@ public class MemberListWizardController extends BasicController {
 				boolean booleanValue = ((Boolean)choice.getTableDataModel().getValueAt(i, 0)).booleanValue();
 				if(booleanValue) {
 					ObjectWrapper objWrapper = (ObjectWrapper)choice.getTableDataModel().getValueAt(i, 1); 
-					selValues.add(objWrapper.getWrappedObj());
+					if(objWrapper.getWrappedObj() instanceof BGArea) {
+						selValues.add((BGArea)objWrapper.getWrappedObj());
+					}
 				}
 			} else if(selRowsIndexes.contains(new Integer(i))) {
 				ObjectWrapper objWrapper = (ObjectWrapper)choice.getTableDataModel().getValueAt(i, 1); 
-				selValues.add(objWrapper.getWrappedObj());
+				if(objWrapper.getWrappedObj() instanceof BGArea) {
+					selValues.add((BGArea)objWrapper.getWrappedObj());
+				}
+			}					
+		}		
+		return selValues;
+	}
+	
+	private List<BusinessGroup> getSelectedGroups(Choice choice) {	
+		List<BusinessGroup> selValues = new ArrayList<BusinessGroup>();
+		List<Integer> selRowsIndexes = choice.getSelectedRows();
+		int numRows = choice.getTableDataModel().getRowCount();
+		for(int i=0; i<numRows; i++) {
+			if(selRowsIndexes.size() == 0) {
+				boolean booleanValue = ((Boolean)choice.getTableDataModel().getValueAt(i, 0)).booleanValue();
+				if(booleanValue) {
+					ObjectWrapper objWrapper = (ObjectWrapper)choice.getTableDataModel().getValueAt(i, 1); 
+					if(objWrapper.getWrappedObj() instanceof BusinessGroup) {
+						selValues.add((BusinessGroup)objWrapper.getWrappedObj());
+					}
+				}
+			} else if(selRowsIndexes.contains(new Integer(i))) {
+				ObjectWrapper objWrapper = (ObjectWrapper)choice.getTableDataModel().getValueAt(i, 1); 
+				if(objWrapper.getWrappedObj() instanceof BusinessGroup) {
+					selValues.add((BusinessGroup)objWrapper.getWrappedObj());
+				}
 			}					
 		}		
 		return selValues;
-- 
GitLab