diff --git a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml index 36537288afa5be660fa9f341eaabeb6c49f321ff..d434104b90903629b2788f7f9917b7263033c164 100644 --- a/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml +++ b/src/main/java/org/olat/core/gui/control/_spring/sitedefContext.xml @@ -1,20 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <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"> - - - <!-- OLAT sites --> - <bean id="olatsites" class="org.olat.core.gui.control.navigation.SiteDefinitions" init-method="init"> - <property name="persistedProperties"> - <bean class="org.olat.core.configuration.PersistedProperties" scope="prototype" init-method="init" destroy-method="destroy"> - <constructor-arg index="0" ref="coordinatorManager"/> - <constructor-arg index="1" ref="olatsites" /> - </bean> - </property> - </bean> + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context + http://www.springframework.org/schema/context/spring-context.xsd"> + + <context:component-scan base-package="org.olat.core.gui.control.navigation" /> <!-- classes implementing the SiteDefinition interface --> diff --git a/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java b/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java index 053cfb421fd77510297b9671e454d1bae5f1c524..546b31729eb2e0c103ff353e1f386dc852e4d0d8 100644 --- a/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java +++ b/src/main/java/org/olat/core/gui/control/navigation/SiteDefinitions.java @@ -35,13 +35,16 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.olat.core.CoreSpringFactory; -import org.olat.core.configuration.AbstractOLATModule; -import org.olat.core.configuration.PersistedProperties; +import org.olat.core.configuration.AbstractSpringModule; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; +import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.xml.XStreamHelper; import org.olat.course.site.model.CourseSiteConfiguration; import org.olat.course.site.model.LanguageConfiguration; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import com.thoughtworks.xstream.XStream; @@ -55,7 +58,10 @@ import com.thoughtworks.xstream.XStream; * @author Felix Jost * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com */ -public class SiteDefinitions extends AbstractOLATModule { +@Service("olatsites") +public class SiteDefinitions extends AbstractSpringModule { + + private static final OLog log = Tracing.createLoggerFor(SiteDefinitions.class); private Map<String,SiteDefinition> siteDefMap; private Map<String,SiteConfiguration> siteConfigMap = new ConcurrentHashMap<String,SiteConfiguration>(); @@ -74,6 +80,13 @@ public class SiteDefinitions extends AbstractOLATModule { xStream.alias("siteconfig", SiteConfiguration.class); } + @Autowired + public SiteDefinitions(CoordinatorManager coordinatorManager) { + super(coordinatorManager); + } + + + public String getConfigCourseSite1() { return configSite1; } @@ -160,17 +173,13 @@ public class SiteDefinitions extends AbstractOLATModule { String configStr = xStream.toXML(configs); setSitesSettings(configStr); } - - /** - * - */ - public SiteDefinitions() { - // Does NOT call initSiteDefinitionList() here because we are not sure if all SiteDef-beans are loaded ! - // and we won't to define spring depends-on - } @Override public void init() { + if(configurers != null) { + log.debug(configurers.size() + " sites configurers found."); + } + String sitesObj = getStringPropertyValue("sites.config", true); if(StringHelper.containsNonWhitespace(sitesObj)) { sitesSettings = sitesObj; @@ -193,12 +202,6 @@ public class SiteDefinitions extends AbstractOLATModule { } } - @Override - public void setPersistedProperties(PersistedProperties persistedProperties) { - this.moduleConfigProperties = persistedProperties; - - } - @Override protected void initDefaultProperties() { //do nothing