diff --git a/src/main/java/org/olat/admin/AdminModule.java b/src/main/java/org/olat/admin/AdminModule.java index 922f21c78eba7ac180c56f2d6c9043112e7a5ee1..e04438f1aea973dae17ad0c23b53e5d501d38598 100644 --- a/src/main/java/org/olat/admin/AdminModule.java +++ b/src/main/java/org/olat/admin/AdminModule.java @@ -26,7 +26,6 @@ package org.olat.admin; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.RandomStringUtils; import org.olat.NewControllerFactory; @@ -36,13 +35,18 @@ import org.olat.basesecurity.AuthHelper; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.fullWebApp.util.GlobalStickyMessage; import org.olat.core.commons.persistence.DBFactory; -import org.olat.core.configuration.AbstractOLATModule; -import org.olat.core.configuration.PersistedProperties; +import org.olat.core.configuration.AbstractSpringModule; import org.olat.core.id.User; import org.olat.core.id.context.SiteContextEntryControllerCreator; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; +import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.session.UserSessionManager; import org.olat.properties.Property; import org.olat.properties.PropertyManager; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; /** * Description:<BR> @@ -53,31 +57,38 @@ import org.olat.properties.PropertyManager; * * @author gnaegi */ -public class AdminModule extends AbstractOLATModule { +@Service("adminModule") +public class AdminModule extends AbstractSpringModule { + + private static final OLog log = Tracing.createLoggerFor(AdminModule.class); private static final String CONFIG_LOGIN_BLOCKED = "loginBlocked"; /** Category for system properties **/ public static String SYSTEM_PROPERTY_CATEGORY = "_o3_"; public static final String PROPERTY_MAINTENANCE_MESSAGE = "maintenanceMessageToken"; public static final String PROPERTY_SESSION_ADMINISTRATION = "sessionAdministrationToken"; - private static final String CONFIG_ADMIN_MAX_SESSION = "maxNumberOfSessions"; + + @Value("${maxNumberOfSessions:0}") + private int maxNumberOfSessions; + + @Autowired private PropertyManager propertyManager; /** * [used by spring] */ - public AdminModule(PropertyManager propertyManager) { - super(); - this.propertyManager = propertyManager; + @Autowired + public AdminModule(CoordinatorManager coordinatorManager) { + super(coordinatorManager); } -/** - * Check if system property for maintenance message exists, create one if it - * doesn't - * This generated token is used by the remote http maintenance message - * setting mechanism, see method below - * @param tokenPropertyName - */ + /** + * Check if system property for maintenance message exists, create one if it + * doesn't + * This generated token is used by the remote http maintenance message + * setting mechanism, see method below + * @param tokenPropertyName + */ private void initializeSystemTokenProperty(String tokenPropertyName) { Property p = propertyManager.findProperty(null, null, null, SYSTEM_PROPERTY_CATEGORY, tokenPropertyName); if (p == null) { @@ -98,18 +109,18 @@ public class AdminModule extends AbstractOLATModule { GlobalStickyMessage.setGlobalStickyMessage(message, true); } - public boolean checkMaintenanceMessageToken(HttpServletRequest request, HttpServletResponse response) { + public boolean checkMaintenanceMessageToken(HttpServletRequest request) { return checkToken(request, PROPERTY_MAINTENANCE_MESSAGE); } - public boolean checkSessionAdminToken(HttpServletRequest request, HttpServletResponse response) { + public boolean checkSessionAdminToken(HttpServletRequest request) { return checkToken(request, PROPERTY_SESSION_ADMINISTRATION); } private boolean checkToken(HttpServletRequest request, String tokenPropertyName) { String submittedToken = request.getParameter("token"); if (submittedToken == null) { - logAudit("Trying to set maintenance message without using a token. Remote address::" + request.getRemoteAddr()); + log.audit("Trying to set maintenance message without using a token. Remote address::" + request.getRemoteAddr()); return false; } // get token and compare @@ -119,7 +130,7 @@ public class AdminModule extends AbstractOLATModule { if (token.matches(submittedToken)) { // limit access to token return true; } else { - logAudit("Trying to set maintenance message using a wrong token. Remote address::" + request.getRemoteAddr()); + log.audit("Trying to set maintenance message using a wrong token. Remote address::" + request.getRemoteAddr()); return false; } } @@ -129,7 +140,7 @@ public class AdminModule extends AbstractOLATModule { * @param newLoginBlocked */ public void setLoginBlocked(boolean newLoginBlocked, boolean persist) { - logAudit("Session administration: Set login-blocked=" + newLoginBlocked); + log.audit("Session administration: Set login-blocked=" + newLoginBlocked); AuthHelper.setLoginBlocked(newLoginBlocked); setBooleanProperty(CONFIG_LOGIN_BLOCKED, newLoginBlocked, persist); } @@ -147,7 +158,7 @@ public class AdminModule extends AbstractOLATModule { * @param rejectDMZRequests */ public void setRejectDMZRequests(boolean rejectDMZRequests) { - logAudit("Session administration: Set rejectDMZRequests=" + rejectDMZRequests); + log.audit("Session administration: Set rejectDMZRequests=" + rejectDMZRequests); AuthHelper.setRejectDMZRequests(rejectDMZRequests); } @@ -165,7 +176,7 @@ public class AdminModule extends AbstractOLATModule { * @param maxSession */ public void setMaxSessions(int maxSession) { - logAudit("Session administration: Set maxSession=" + maxSession); + log.audit("Session administration: Set maxSession=" + maxSession); AuthHelper.setMaxSessions(maxSession); } @@ -174,7 +185,7 @@ public class AdminModule extends AbstractOLATModule { * @param sessionTimeout */ public void setSessionTimeoutDepr(int sessionTimeout) { - logAudit("Session administration: Set session-timeout=" + sessionTimeout); + log.audit("Session administration: Set session-timeout=" + sessionTimeout); //in seconds CoreSpringFactory.getImpl(UserSessionManager.class).setGlobalSessionTimeout(sessionTimeout); } @@ -219,17 +230,11 @@ public class AdminModule extends AbstractOLATModule { @Override protected void initDefaultProperties() { - int maxNumberOfSessions = getIntConfigParameter(CONFIG_ADMIN_MAX_SESSION, 0); - AuthHelper.setMaxSessions(maxNumberOfSessions); + AuthHelper.setMaxSessions(maxNumberOfSessions); } @Override protected void initFromChangedProperties() { - //nothin to do - } - - @Override - public void setPersistedProperties(PersistedProperties persistedProperties) { - this.moduleConfigProperties = persistedProperties; + //nothing to do } } \ No newline at end of file diff --git a/src/main/java/org/olat/admin/AdminModuleDispatcher.java b/src/main/java/org/olat/admin/AdminModuleDispatcher.java index 2ddd2ecb8a514439b448cd4c1a895572dc450501..ced3c8502198b7220b2c100901eaf1afff4a96ca 100644 --- a/src/main/java/org/olat/admin/AdminModuleDispatcher.java +++ b/src/main/java/org/olat/admin/AdminModuleDispatcher.java @@ -72,7 +72,7 @@ public class AdminModuleDispatcher implements Dispatcher { if (cmd.equalsIgnoreCase(CMD_SET_MAINTENANCE_MESSAGE) || cmd.equalsIgnoreCase(CMD_SET_INFO_MESSAGE)) { handleSetMaintenanceOrInfoMessage(request, response, cmd); } else { - if (CoreSpringFactory.getImpl(AdminModule.class).checkSessionAdminToken(request, response)) { + if (CoreSpringFactory.getImpl(AdminModule.class).checkSessionAdminToken(request)) { handleSessionsCommand(request, response, cmd); } else { DispatcherModule.sendForbidden(request.getPathInfo(), response); @@ -168,7 +168,7 @@ public class AdminModuleDispatcher implements Dispatcher { */ private void handleSetMaintenanceOrInfoMessage(HttpServletRequest request, HttpServletResponse response, String cmd) { AdminModule adminModule = CoreSpringFactory.getImpl(AdminModule.class); - if (adminModule.checkMaintenanceMessageToken(request, response)) { + if (adminModule.checkMaintenanceMessageToken(request)) { String message = request.getParameter(PARAMETER_MSG); if (cmd.equalsIgnoreCase(CMD_SET_INFO_MESSAGE)){ InfoMessageManager mrg = (InfoMessageManager) CoreSpringFactory.getBean(InfoMessageManager.class); diff --git a/src/main/java/org/olat/admin/_spring/adminContext.xml b/src/main/java/org/olat/admin/_spring/adminContext.xml index c49f2d2d4a1fa8bd7cf08279bc9451f5f191506c..303c915d63c50fe62781b0ce33c612a98fa7bca6 100644 --- a/src/main/java/org/olat/admin/_spring/adminContext.xml +++ b/src/main/java/org/olat/admin/_spring/adminContext.xml @@ -8,7 +8,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - <context:component-scan base-package="org.olat.admin.layout" /> + <context:component-scan base-package="org.olat.admin" /> <import resource="classpath:/org/olat/admin/jmx/_spring/jmxContext.xml"/> <import resource="classpath:/org/olat/admin/landingpages/_spring/landingPagesContext.xml"/> @@ -17,33 +17,6 @@ <import resource="classpath:/org/olat/admin/user/delete/service/_spring/deletionContext.xml"/> <import resource="classpath:/org/olat/admin/user/tools/_spring/userToolsContext.xml"/> - <bean id="adminModule" class="org.olat.admin.AdminModule"> - <constructor-arg index="0" ref="propertyManager" /> - <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="adminModule" /> - </bean> - </property> - </bean> - - <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> - <property name="targetObject" ref="adminModule" /> - <property name="targetMethod" value="init" /> - <property name="arguments"> - <!-- Important: Set tomcats policy to allow read/write access to Root and TmpDir --> - <value> - <!-- - -1 =: no user sessions, only Administrator roles can log in - 0 =: unlimited, hence limited only by RAM - 1..n =: n sessions at max, then a static not available page is displayed. - default is 0 - --> - maxNumberOfSessions=0 - </value> - </property> - </bean> - <!-- Sites admin. panel --> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <property name="order" value="8215" /> @@ -63,5 +36,4 @@ </list> </property> </bean> - </beans> \ No newline at end of file diff --git a/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java b/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java index 06e851df1dbc8122ba8da69c399ef21597c125ea..28779381af004faef106247714390fe0bf70f3a7 100644 --- a/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java +++ b/src/main/java/org/olat/admin/landingpages/LandingPagesModule.java @@ -23,10 +23,12 @@ import java.util.ArrayList; import org.olat.admin.landingpages.model.Rule; import org.olat.admin.landingpages.model.Rules; -import org.olat.core.configuration.AbstractOLATModule; -import org.olat.core.configuration.PersistedProperties; +import org.olat.core.configuration.AbstractSpringModule; import org.olat.core.util.StringHelper; +import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.xml.XStreamHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import com.thoughtworks.xstream.XStream; @@ -36,7 +38,8 @@ import com.thoughtworks.xstream.XStream; * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public class LandingPagesModule extends AbstractOLATModule { +@Service("landingPagesModule") +public class LandingPagesModule extends AbstractSpringModule { private static final String CONFIG_RULES = "rules"; private static final XStream rulesXStream; static { @@ -46,6 +49,11 @@ public class LandingPagesModule extends AbstractOLATModule { } private Rules rules; + + @Autowired + public LandingPagesModule(CoordinatorManager coordinatorManager) { + super(coordinatorManager); + } @Override public void init() { @@ -67,11 +75,6 @@ public class LandingPagesModule extends AbstractOLATModule { protected void initFromChangedProperties() { init(); } - - @Override - public void setPersistedProperties(PersistedProperties persistedProperties) { - this.moduleConfigProperties = persistedProperties; - } public Rules getRules() { return rules; diff --git a/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml b/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml index f5757d67a1de19b04a8bf638275dfbea114908db..2c394b8256bc1704925b0e60724585436f45f11e 100644 --- a/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml +++ b/src/main/java/org/olat/admin/landingpages/_spring/landingPagesContext.xml @@ -4,16 +4,6 @@ xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="landingPagesModule" class="org.olat.admin.landingpages.LandingPagesModule" - init-method="init" depends-on="coordinatorManager"> - <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="landingPagesModule"/> - </bean> - </property> - </bean> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <property name="order" value="7206" /> diff --git a/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java index b0904424a04ebb461190ea3399d658433082592a..12d19100fc3d6e775d9380b28315c3d88ba76731 100644 --- a/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java +++ b/src/main/java/org/olat/admin/landingpages/ui/LandingPagesAdminController.java @@ -140,9 +140,9 @@ public class LandingPagesAdminController extends FormBasicController { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(RCols.landingPageChooser.i18nKey(), RCols.landingPageChooser.ordinal())); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("up", -1, "up", - new StaticFlexiCellRenderer("", "up", "o_icon_move_up o_icon-lg",translate("up")))); + new StaticFlexiCellRenderer("", "up", "o_icon o_icon-lg o_icon_move_up",translate("up")))); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("down", -1, "down", - new StaticFlexiCellRenderer("", "down", "o_icon_move_down o_icon-lg", translate("down")))); + new StaticFlexiCellRenderer("", "down", "o_icon o_icon-lg o_icon_move_down", translate("down")))); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("add", translate("add"), "add")); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("delete", translate("delete"), "delete")); diff --git a/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml b/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml index 4a7ff782eadc6ff18232fca643657129adcdb01a..4a85d11eacfd5a91f7f36c947a3dc7e23125a974 100644 --- a/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml +++ b/src/main/java/org/olat/admin/registration/_spring/registrationContext.xml @@ -3,7 +3,7 @@ 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"> <bean id="systemRegistrationModule" class="org.olat.admin.registration.SystemRegistrationModule" init-method="init" depends-on="coordinatorManager"> diff --git a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java index b611016f3f18f2ee45cd798e5ce5b344acc1bb0f..757d9244041515f5694928f01e9b877d8817e800 100644 --- a/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java +++ b/src/main/java/org/olat/admin/site/ui/SitesConfigurationController.java @@ -137,9 +137,9 @@ public class SitesConfigurationController extends FormBasicController { } columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, SiteCols.defaultOrder.i18nKey(), SiteCols.defaultOrder.ordinal(), false, null)); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("up", SiteCols.up.ordinal(), "up", - new StaticFlexiCellRenderer("", "up", "o_icon_move_up o_icon-lg", translate("up")))); + new StaticFlexiCellRenderer("", "up", "o_icon o_icon-lg o_icon_move_up", translate("up")))); columnsModel.addFlexiColumnModel(new StaticFlexiColumnModel("down", SiteCols.down.ordinal(), "down", - new StaticFlexiCellRenderer("", "down", "o_icon_move_down o_icon-lg", translate("down")))); + new StaticFlexiCellRenderer("", "down", "o_icon o_icon-lg o_icon_move_down", translate("down")))); model = new SiteDefModel(columnsModel); diff --git a/src/main/java/org/olat/admin/sysinfo/_spring/sysinfoContext.xml b/src/main/java/org/olat/admin/sysinfo/_spring/sysinfoContext.xml index 7c3f0250e483b247b6ee9b7d640cb83fd53132cd..44537e2578ddd5f5c2977b70106e85df3dc31a40 100644 --- a/src/main/java/org/olat/admin/sysinfo/_spring/sysinfoContext.xml +++ b/src/main/java/org/olat/admin/sysinfo/_spring/sysinfoContext.xml @@ -8,8 +8,6 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - <context:component-scan base-package="org.olat.admin.sysinfo" /> - <bean id="org.olat.admin.sysinfo.InfoMessageManager" class="org.olat.admin.sysinfo.InfoMessageManager"> <constructor-arg index="0" ref="coordinatorManager"/> diff --git a/src/main/java/org/olat/admin/user/tools/_spring/userToolsContext.xml b/src/main/java/org/olat/admin/user/tools/_spring/userToolsContext.xml index 8ba8742118da33aa8c7ef0492f37fbc5db2dd954..eab6488095dda509766c2521d971c03693440e04 100644 --- a/src/main/java/org/olat/admin/user/tools/_spring/userToolsContext.xml +++ b/src/main/java/org/olat/admin/user/tools/_spring/userToolsContext.xml @@ -7,8 +7,6 @@ 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.admin.user.tools" /> <bean class="org.olat.core.extensions.action.GenericActionExtension" init-method="initExtensionPoints"> <property name="order" value="7206" />