diff --git a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
index 52eb8842b95a9e8b68a20851af4551e928eaf4ea..26849a394e6601ba10777c4f519b0aa71ab73052 100644
--- a/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
+++ b/src/main/java/org/olat/basesecurity/BaseSecurityManager.java
@@ -415,8 +415,7 @@ public class BaseSecurityManager extends BasicManager implements BaseSecurity {
 				Constants.ORESOURCE_INSTORESMANAGER);
 		boolean isPoolAdmin = isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_POOLS);
 		boolean isInvitee = isIdentityInvited(identity);
-		Roles roles = new Roles(isAdmin, isUserManager, isGroupManager, isAuthor, isGuestOnly, isInstitutionalResourceManager, isPoolAdmin, isInvitee);
-		return roles;
+		return new Roles(isAdmin, isUserManager, isGroupManager, isAuthor, isGuestOnly, isInstitutionalResourceManager, isPoolAdmin, isInvitee);
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/core/commons/services/tagging/_spring/taggingContext.xml b/src/main/java/org/olat/core/commons/services/tagging/_spring/taggingContext.xml
index 5962a6e6ee6e987de938cf8641ee5aaa8f606f5d..0418baf48a0158090f37bddb6527dee98ff103be 100644
--- a/src/main/java/org/olat/core/commons/services/tagging/_spring/taggingContext.xml
+++ b/src/main/java/org/olat/core/commons/services/tagging/_spring/taggingContext.xml
@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
-<beans>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="
+  		http://www.springframework.org/schema/beans 
+  		http://www.springframework.org/schema/beans/spring-beans.xsd">
+  
 	<!-- Tagging service -->
 	<bean id="taggingManager" class="org.olat.core.commons.services.tagging.manager.TaggingManagerImpl">
 		<property name="dbInstance" ref="database"/>
diff --git a/src/main/java/org/olat/core/commons/services/tagging/model/TagImpl.java b/src/main/java/org/olat/core/commons/services/tagging/model/TagImpl.java
index f8e60cf2fb8f799b6a601fe456a363f2166d76f4..ce24351b53569d4756094a5f9f99baa2f12260b0 100644
--- a/src/main/java/org/olat/core/commons/services/tagging/model/TagImpl.java
+++ b/src/main/java/org/olat/core/commons/services/tagging/model/TagImpl.java
@@ -35,6 +35,7 @@ import org.olat.core.id.OLATResourceable;
  */
 public class TagImpl extends PersistentObject implements Tag {
 
+	private static final long serialVersionUID = 2272529253221047436L;
 	private String tag;
 	private String resName;
 	private Long resId;
diff --git a/src/main/java/org/olat/core/commons/services/text/impl/nutch/NGramProfile.java b/src/main/java/org/olat/core/commons/services/text/impl/nutch/NGramProfile.java
index 5d1f5c49a93fd6f3aa9f9093de1b3d765851e721..58da3cafdda6cdf7a3fd31c2ac441f7d40cdcb04 100644
--- a/src/main/java/org/olat/core/commons/services/text/impl/nutch/NGramProfile.java
+++ b/src/main/java/org/olat/core/commons/services/text/impl/nutch/NGramProfile.java
@@ -647,21 +647,11 @@ public class NGramProfile {
     QuickStringBuffer() {
       this(16);
     }
-
-    QuickStringBuffer(char[] value) {
-      this.value = value;
-      count = value.length;
-    }
     
     QuickStringBuffer(int length) {
       value = new char[length];
     }
 
-    QuickStringBuffer(String str) {
-      this(str.length() + 16);
-      append(str);
-    }
-
     public int length() {
       return count;
     }
@@ -688,21 +678,6 @@ public class NGramProfile {
       return value[index];
     }
 
-    QuickStringBuffer append(String str) {
-      if (str == null) {
-        str = String.valueOf(str);
-      }
-
-      int len = str.length();
-      int newcount = count + len;
-      if (newcount > value.length) {
-        expandCapacity(newcount);
-      }
-      str.getChars(0, len, value, count);
-      count = newcount;
-      return this;
-    }
-
     QuickStringBuffer append(char c) {
       int newcount = count + 1;
       if (newcount > value.length) {
diff --git a/src/main/java/org/olat/search/_spring/searchContext.xml b/src/main/java/org/olat/search/_spring/searchContext.xml
index 1bfb1b9a333449494aea61ca6c73843c660d9f56..e9e90f73dea9377cae78dab0de005f1c6c98c48a 100644
--- a/src/main/java/org/olat/search/_spring/searchContext.xml
+++ b/src/main/java/org/olat/search/_spring/searchContext.xml
@@ -2,7 +2,7 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans 
-                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+                        http://www.springframework.org/schema/beans/spring-beans.xsd">
 
 	<!-- SEARCH SERVICE SIDE CONFIGURATION -->
 	<!-- ================================= -->
@@ -17,7 +17,7 @@
 		<constructor-arg index="1" ref="mainIndexer" />
 		<constructor-arg index="2" ref="searchProvider" />
 		<constructor-arg index="3" ref="schedulerFactoryBean"/>
-		<constructor-arg index="4" ref="jmsIndexer"/>
+		<property name="lifeIndexer" ref="jmsIndexer"/>
 		<property name="metadataFields" ref="SearchMetadataFieldsProvider" />
 	</bean>
 
diff --git a/src/main/java/org/olat/search/service/SearchServiceImpl.java b/src/main/java/org/olat/search/service/SearchServiceImpl.java
index a6111521861706385247f2b1e594c062c8be9790..3bd79e59f5f6fbb8eac2f5002f3bdb2838256fed 100644
--- a/src/main/java/org/olat/search/service/SearchServiceImpl.java
+++ b/src/main/java/org/olat/search/service/SearchServiceImpl.java
@@ -124,16 +124,23 @@ public class SearchServiceImpl implements SearchService {
 	 * [used by spring]
 	 */
 	private SearchServiceImpl(SearchModule searchModule, MainIndexer mainIndexer, JmsSearchProvider searchProvider,
-			Scheduler scheduler, LifeFullIndexer lifeIndexer) {
+			Scheduler scheduler) {
 		log.info("Start SearchServiceImpl constructor...");
 		this.scheduler = scheduler;
 		this.searchModuleConfig = searchModule;
 		this.mainIndexer = mainIndexer;
-		this.lifeIndexer = lifeIndexer;
 		analyzer = new StandardAnalyzer(SearchService.OO_LUCENE_VERSION);
 		searchProvider.setSearchService(this);
 	}
 	
+	/**
+	 * [user by Spring]
+	 * @param lifeIndexer
+	 */
+	public void setLifeIndexer(LifeFullIndexer lifeIndexer) {
+		this.lifeIndexer = lifeIndexer;
+	}
+	
 	/**
 	 * Start the job indexer
 	 */
diff --git a/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java b/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java
index 6d878821719751b6f1bfb2f4778cee9fc8689ab0..58a581bf277da092d0b4ebfa18127909579df46f 100644
--- a/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java
+++ b/src/test/java/org/olat/basesecurity/BaseSecurityManagerTest.java
@@ -269,7 +269,7 @@ public class BaseSecurityManagerTest extends OlatTestCase {
 		dbInstance.commitAndCloseSession();
 
 		//update roles
-		Roles modifiedRoles = new Roles(true, true, true, true, false, true, false);
+		Roles modifiedRoles = new Roles(true, true, true, true, false, true, true, false);
 		securityManager.updateRoles(id1, modifiedRoles);
 		dbInstance.commitAndCloseSession();
 		
@@ -282,6 +282,7 @@ public class BaseSecurityManagerTest extends OlatTestCase {
 		Assert.assertTrue(reloadRoles.isInstitutionalResourceManager());
 		Assert.assertFalse(reloadRoles.isInvitee());
 		Assert.assertTrue(reloadRoles.isOLATAdmin());
+		Assert.assertTrue(reloadRoles.isPoolAdmin());
 		Assert.assertTrue(reloadRoles.isUserManager());
 	}
 	
@@ -296,7 +297,7 @@ public class BaseSecurityManagerTest extends OlatTestCase {
 		dbInstance.commitAndCloseSession();
 
 		//update roles
-		Roles modifiedRoles = new Roles(false, true, false, true, false, false, false);
+		Roles modifiedRoles = new Roles(false, true, false, true, false, false, false, false);
 		securityManager.updateRoles(id1, modifiedRoles);
 		dbInstance.commitAndCloseSession();
 		
@@ -309,6 +310,7 @@ public class BaseSecurityManagerTest extends OlatTestCase {
 		Assert.assertFalse(reloadRoles.isInstitutionalResourceManager());
 		Assert.assertFalse(reloadRoles.isInvitee());
 		Assert.assertFalse(reloadRoles.isOLATAdmin());
+		Assert.assertFalse(reloadRoles.isPoolAdmin());
 		Assert.assertTrue(reloadRoles.isUserManager());
 	}
 	
diff --git a/src/test/java/org/olat/modules/coach/CoachingManagerTest.java b/src/test/java/org/olat/modules/coach/CoachingManagerTest.java
index ba2550595bf795145be3055a7c9eab78d074be22..e172ca7681ee87c332d210961da127b663d25948 100644
--- a/src/test/java/org/olat/modules/coach/CoachingManagerTest.java
+++ b/src/test/java/org/olat/modules/coach/CoachingManagerTest.java
@@ -61,8 +61,8 @@ public class CoachingManagerTest extends OlatTestCase {
 	
 	private static boolean isInitialized = false;
 	
-	private static int NUM_OF_COURSES = 100;
-	private static int NUM_OF_STUDENTS = 1000;
+	private static int NUM_OF_COURSES = 50;
+	private static int NUM_OF_STUDENTS = 500;
 	
 	private static Identity author;
 	private static Identity coach10, coach11, coach12, coach13;
diff --git a/src/test/java/org/olat/test/OlatTestCase.java b/src/test/java/org/olat/test/OlatTestCase.java
index 9baecb3a721860e21e74cd7a6331a5183bbe02c3..457b58abaf3bd16133c8feb0e6079f7d0f53697d 100644
--- a/src/test/java/org/olat/test/OlatTestCase.java
+++ b/src/test/java/org/olat/test/OlatTestCase.java
@@ -69,7 +69,6 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
 	"classpath:/org/olat/core/_spring/mainCorecontext.xml",
 
 	"classpath:/serviceconfig/org/olat/core/gui/components/form/flexible/impl/elements/richText/_spring/richTextCorecontext.xml",
-	"classpath:/org/olat/core/commons/services/tagging/_spring/taggingContext.xml",
 	"classpath:/serviceconfig/org/olat/core/_spring/mainCorecontext.xml",
 	"classpath:/org/olat/core/commons/services/_spring/servicesCorecontext.xml",