From 11ba588a99d96da83be62155bbb5f39d461c1a6e Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Fri, 24 Jan 2020 12:05:44 +0100
Subject: [PATCH] OO-4493: hide the component check in isNotZero / isTrue
 velocity methods

---
 .../velocity/VelocityRenderDecorator.java     | 20 +++++++++++++++++--
 .../group/ui/main/_content/group_list.html    |  4 ++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
index 05ff7f8da5b..67ab5fbc599 100644
--- a/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
+++ b/src/main/java/org/olat/core/gui/render/velocity/VelocityRenderDecorator.java
@@ -832,6 +832,22 @@ public class VelocityRenderDecorator implements Closeable {
 		return notEmpty;
 	}
 	
+	public boolean isNotZero(Object obj) {
+		boolean notZero;
+		if(obj == null) {
+			notZero = false;
+		} else if(obj instanceof Number) {
+			notZero = ((Number)obj).intValue() != 0;
+		} else if(obj instanceof Collection) {
+			notZero = !((Collection<?>)obj).isEmpty();
+		} else if(obj instanceof Map) {
+			notZero = !((Map<?,?>)obj).isEmpty();
+		} else {
+			notZero = true;
+		}
+		return notZero;
+	}
+	
 	public int parseInt(String text) {
 		try {
 			if(StringHelper.containsNonWhitespace(text)) {
@@ -843,8 +859,8 @@ public class VelocityRenderDecorator implements Closeable {
 		}
 	}
 	
-	public String replace(String text, String target, String replacement) {
-		return text.replace(target, replacement);
+	public String replace(String text, String targetString, String replacement) {
+		return text.replace(targetString, replacement);
 	}
 	
 	/**
diff --git a/src/main/java/org/olat/group/ui/main/_content/group_list.html b/src/main/java/org/olat/group/ui/main/_content/group_list.html
index 931e563637f..1acf07f703e 100644
--- a/src/main/java/org/olat/group/ui/main/_content/group_list.html
+++ b/src/main/java/org/olat/group/ui/main/_content/group_list.html
@@ -1,6 +1,6 @@
-#set ($notEmpty = $r.getComponent("table").getFlexiTableElement().getRowCount() > 0)
+#set ($notEmpty = $r.isNotZero($r.getComponent("table").getFlexiTableElement().getRowCount()))
 ## inSearch to detect group management
-#set ($inSearch = $r.getComponent("table").getFlexiTableElement().isExtendedSearchExpanded())
+#set ($inSearch = $r.isTrue($r.getComponent("table").getFlexiTableElement().isExtendedSearchExpanded()))
 
 #if($notEmpty || $inSearch)
 	$r.render("table")
-- 
GitLab