From ce2d8fe8dcb9536921d1c4ababfb3a805cdfda50 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 30 Jan 2014 11:14:53 +0100
Subject: [PATCH] OO-953: return the site of the right type as the classname of
 the site is the relevant info

---
 src/main/java/org/olat/course/site/CourseSiteDef.java  |  9 +++++++++
 src/main/java/org/olat/course/site/CourseSiteDef2.java | 10 ++++++++++
 2 files changed, 19 insertions(+)

diff --git a/src/main/java/org/olat/course/site/CourseSiteDef.java b/src/main/java/org/olat/course/site/CourseSiteDef.java
index 4487d7e0ed3..9d4462474e2 100644
--- a/src/main/java/org/olat/course/site/CourseSiteDef.java
+++ b/src/main/java/org/olat/course/site/CourseSiteDef.java
@@ -98,6 +98,15 @@ public class CourseSiteDef extends AbstractSiteDefinition implements SiteDefinit
 			return null;
 		}
 		String icon = courseConfig.getNavIconCssClass();
+		return createCourseSiteInstance(ureq, langConfig, showToolController, siteSecCallback, icon);
+	}
+	
+	/**
+	 * Warning: there is no check against null.
+	 * It's only to return the right type, CourseSie or CourseSite2.
+	 */
+	protected CourseSite createCourseSiteInstance(UserRequest ureq, LanguageConfiguration langConfig,
+			boolean showToolController, SiteSecurityCallback siteSecCallback, String icon) {
 		return new CourseSite(this, ureq.getLocale(), langConfig.getRepoSoftKey(), showToolController,
 				siteSecCallback, langConfig.getTitle(), icon);
 	}
diff --git a/src/main/java/org/olat/course/site/CourseSiteDef2.java b/src/main/java/org/olat/course/site/CourseSiteDef2.java
index a6401dc5773..eb1785b9416 100644
--- a/src/main/java/org/olat/course/site/CourseSiteDef2.java
+++ b/src/main/java/org/olat/course/site/CourseSiteDef2.java
@@ -20,8 +20,11 @@
 package org.olat.course.site;
 
 import org.olat.core.CoreSpringFactory;
+import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.control.navigation.SiteDefinitions;
+import org.olat.core.gui.control.navigation.SiteSecurityCallback;
 import org.olat.course.site.model.CourseSiteConfiguration;
+import org.olat.course.site.model.LanguageConfiguration;
 
 /**
  * 
@@ -39,4 +42,11 @@ public class CourseSiteDef2 extends CourseSiteDef {
 		CourseSiteConfiguration config = siteModule.getConfigurationCourseSite2();
 		return config;
 	}
+
+	@Override
+	protected CourseSite createCourseSiteInstance(UserRequest ureq, LanguageConfiguration langConfig,
+			boolean showToolController, SiteSecurityCallback siteSecCallback, String icon) {
+		return new CourseSite2(this, ureq.getLocale(), langConfig.getRepoSoftKey(), showToolController,
+				siteSecCallback, langConfig.getTitle(), icon);
+	}
 }
-- 
GitLab