From 463c97a5cea3b6a3b70ed10abcf68291cff235e6 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 25 Jun 2013 09:04:29 +0200
Subject: [PATCH] OO-633: fix remove of a deleted group in the table model

---
 .../group/ui/main/AbstractBusinessGroupListController.java | 2 +-
 .../group/ui/main/BusinessGroupTableModelWithType.java     | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
index 4c191acaf0f..ed3c629c007 100644
--- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
+++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java
@@ -274,7 +274,7 @@ public abstract class AbstractBusinessGroupListController extends BasicControlle
 				BusinessGroup businessGroup = businessGroupService.loadBusinessGroup(businessGroupKey);
 				//prevent rs after a group is deleted by someone else
 				if(businessGroup == null) {
-					groupListModel.removeBusinessGroup(businessGroup);
+					groupListModel.removeBusinessGroup(businessGroupKey);
 					groupListCtr.modelChanged();
 				} else if(TABLE_ACTION_DELETE.equals(actionid)) {
 					BGTableItem item = groupListModel.getObject(te.getRowId());
diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
index ed96fd05491..56f3e500991 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupTableModelWithType.java
@@ -34,7 +34,6 @@ import org.olat.core.gui.components.table.DefaultTableDataModel;
 import org.olat.core.gui.translator.Translator;
 import org.olat.core.util.Formatter;
 import org.olat.core.util.filter.FilterFactory;
-import org.olat.group.BusinessGroup;
 import org.olat.group.BusinessGroupMembership;
 
 /**
@@ -173,10 +172,12 @@ public class BusinessGroupTableModelWithType extends DefaultTableDataModel<BGTab
 		setObjects(owned);
 	}
 	
-	public void removeBusinessGroup(BusinessGroup bg) {
+	public void removeBusinessGroup(Long bgKey) {
+		if(bgKey == null) return;
+		
 		for(int i=objects.size(); i-->0; ) {
 			BGTableItem wrapped = (BGTableItem)objects.get(i);
-			if(bg.getKey().equals(wrapped.getBusinessGroupKey())) {
+			if(bgKey.equals(wrapped.getBusinessGroupKey())) {
 				objects.remove(i);
 				return;
 			}
-- 
GitLab