diff --git a/src/main/java/org/nrg/xnat/configuration/SchedulerConfig.java b/src/main/java/org/nrg/xnat/configuration/SchedulerConfig.java index 7c6ed90076fae386f0e876e01bd8257e00aad75d..3c7cd76ed63275a24726000f2aad337ff99ca7e0 100644 --- a/src/main/java/org/nrg/xnat/configuration/SchedulerConfig.java +++ b/src/main/java/org/nrg/xnat/configuration/SchedulerConfig.java @@ -91,12 +91,12 @@ public class SchedulerConfig implements SchedulingConfigurer { // taskRegistrar.addTriggerTask(resetEmailRequests()); // taskRegistrar.addTriggerTask(clearExpiredAliasTokens()); // taskRegistrar.addTriggerTask(rebuildSessionXmls()); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("aliasTokenTimeout", String.valueOf(XDAT.getSiteConfigPreferences().getAliasTokenTimeout()))); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("inactivityBeforeLockout", String.valueOf(XDAT.getSiteConfigPreferences().getInactivityBeforeLockout()))); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("maxFailedLoginsLockoutDuration", String.valueOf(XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()))); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("emailPrefix", String.valueOf(XDAT.getNotificationsPreferences().getEmailPrefix()))); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("host", String.valueOf(XDAT.getNotificationsPreferences().getHostname()))); - XDAT.getContextService().getBean(NrgEventService.class).triggerEvent(new PreferenceEvent("requireLogin", String.valueOf(XDAT.getSiteConfigPreferences().getRequireLogin()))); + _eventService.triggerEvent(new PreferenceEvent("aliasTokenTimeout", String.valueOf(XDAT.getSiteConfigPreferences().getAliasTokenTimeout()))); + _eventService.triggerEvent(new PreferenceEvent("inactivityBeforeLockout", String.valueOf(XDAT.getSiteConfigPreferences().getInactivityBeforeLockout()))); + _eventService.triggerEvent(new PreferenceEvent("maxFailedLoginsLockoutDuration", String.valueOf(XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()))); + _eventService.triggerEvent(new PreferenceEvent("emailPrefix", String.valueOf(XDAT.getNotificationsPreferences().getEmailPrefix()))); + _eventService.triggerEvent(new PreferenceEvent("host", String.valueOf(XDAT.getNotificationsPreferences().getHostname()))); + _eventService.triggerEvent(new PreferenceEvent("requireLogin", String.valueOf(XDAT.getSiteConfigPreferences().getRequireLogin()))); for (final TriggerTask triggerTask : _triggerTasks) { taskRegistrar.addTriggerTask(triggerTask); } @@ -121,4 +121,7 @@ public class SchedulerConfig implements SchedulingConfigurer { @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") @Inject private List<TriggerTask> _triggerTasks; + + @Inject + private NrgEventService _eventService; } \ No newline at end of file diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/AliasTokenPreferenceHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/AliasTokenPreferenceHandlerMethod.java index c4e681bcbe2f80371be3df8334692a4f183d655b..6e42ebce8e8a2bd6df6a829cc6ffcb54feffebf2 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/AliasTokenPreferenceHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/AliasTokenPreferenceHandlerMethod.java @@ -6,6 +6,7 @@ import org.nrg.xnat.security.alias.ClearExpiredAliasTokens; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; @@ -38,14 +39,14 @@ public class AliasTokenPreferenceHandlerMethod extends AbstractSiteConfigPrefere private void updateAliasTokenTimeout(){ try { - XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); - Iterator<Runnable> iter = XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().getQueue().iterator(); + _scheduler.getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); + Iterator<Runnable> iter = _scheduler.getScheduledThreadPoolExecutor().getQueue().iterator(); for(ScheduledFuture temp: scheduledAliasTokenTimeouts){ temp.cancel(false); } - scheduledAliasTokenTimeouts.add(XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").schedule(new ClearExpiredAliasTokens(_template), new CronTrigger(XDAT.getSiteConfigPreferences().getAliasTokenTimeoutSchedule()))); + scheduledAliasTokenTimeouts.add(_scheduler.schedule(new ClearExpiredAliasTokens(_template), new CronTrigger(XDAT.getSiteConfigPreferences().getAliasTokenTimeoutSchedule()))); } catch (Exception e1) { _log.error("", e1); @@ -60,4 +61,8 @@ public class AliasTokenPreferenceHandlerMethod extends AbstractSiteConfigPrefere private JdbcTemplate _template; private ArrayList<ScheduledFuture> scheduledAliasTokenTimeouts = new ArrayList<>(); + + @Autowired + @Qualifier("taskScheduler") + private ThreadPoolTaskScheduler _scheduler; } diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/InactivityBeforeLockoutHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/InactivityBeforeLockoutHandlerMethod.java index da904a6fc16e974ae161a335b38906cc9cec6796..860bdec49fd08a074cf8b36c50e85c9ddafd277d 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/InactivityBeforeLockoutHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/InactivityBeforeLockoutHandlerMethod.java @@ -7,6 +7,7 @@ import org.nrg.xnat.security.DisableInactiveUsers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; @@ -39,14 +40,14 @@ public class InactivityBeforeLockoutHandlerMethod extends AbstractSiteConfigPref private void updateInactivityBeforeLockout(){ try { - XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); - Iterator<Runnable> iter = XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().getQueue().iterator(); + _scheduler.getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); + Iterator<Runnable> iter = _scheduler.getScheduledThreadPoolExecutor().getQueue().iterator(); for(ScheduledFuture temp: scheduledInactivityBeforeLockout){ temp.cancel(false); } - scheduledInactivityBeforeLockout.add(XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").schedule(new DisableInactiveUsers((new Long(SiteConfigPreferences.convertPGIntervalToSeconds(XDAT.getSiteConfigPreferences().getInactivityBeforeLockout()))).intValue(),(new Long(SiteConfigPreferences.convertPGIntervalToSeconds(XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()))).intValue()),new CronTrigger(XDAT.getSiteConfigPreferences().getInactivityBeforeLockoutSchedule()))); + scheduledInactivityBeforeLockout.add(_scheduler.schedule(new DisableInactiveUsers((new Long(SiteConfigPreferences.convertPGIntervalToSeconds(XDAT.getSiteConfigPreferences().getInactivityBeforeLockout()))).intValue(),(new Long(SiteConfigPreferences.convertPGIntervalToSeconds(XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()))).intValue()),new CronTrigger(XDAT.getSiteConfigPreferences().getInactivityBeforeLockoutSchedule()))); } catch (Exception e1) { _log.error("", e1); @@ -61,4 +62,8 @@ public class InactivityBeforeLockoutHandlerMethod extends AbstractSiteConfigPref private JdbcTemplate _template; private ArrayList<ScheduledFuture> scheduledInactivityBeforeLockout = new ArrayList<>(); + + @Autowired + @Qualifier("taskScheduler") + private ThreadPoolTaskScheduler _scheduler; } diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/MailHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/MailHandlerMethod.java index 37ad76aeffe5b7d17040425b64dea361eed22fe5..5e5c132d2b6f5ea41c6ddedfbfb72841e1138e56 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/MailHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/MailHandlerMethod.java @@ -1,6 +1,7 @@ package org.nrg.xnat.event.listeners.methods; import com.google.common.collect.ImmutableList; +import org.nrg.notify.renderers.ChannelRenderer; import org.nrg.notify.renderers.NrgMailChannelRenderer; import org.nrg.xdat.XDAT; import org.slf4j.Logger; @@ -10,6 +11,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; +import javax.inject.Inject; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -38,8 +40,8 @@ public class MailHandlerMethod extends AbstractSiteConfigNotificationsPreference private void updateMail(){ try { - XDAT.getContextService().getBean(NrgMailChannelRenderer.class).setFromAddress(XDAT.getSiteConfigPreferences().getAdminEmail()); - XDAT.getContextService().getBean(NrgMailChannelRenderer.class).setSubjectPrefix(XDAT.getNotificationsPreferences().getEmailPrefix()); + ((NrgMailChannelRenderer)_mailRenderer).setFromAddress(XDAT.getSiteConfigPreferences().getAdminEmail()); + ((NrgMailChannelRenderer)_mailRenderer).setSubjectPrefix(XDAT.getNotificationsPreferences().getEmailPrefix()); } catch (Exception e1) { _log.error("", e1); @@ -53,4 +55,7 @@ public class MailHandlerMethod extends AbstractSiteConfigNotificationsPreference @Lazy private JdbcTemplate _template; + @Inject + private ChannelRenderer _mailRenderer; + } diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/ResetFailedLoginsHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/ResetFailedLoginsHandlerMethod.java index ad0cb875ec05c7438ee33b1cc387387d01d544dd..0e0cbf98bfd268d828a5892b1e62cd27b87822ce 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/ResetFailedLoginsHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/ResetFailedLoginsHandlerMethod.java @@ -6,6 +6,7 @@ import org.nrg.xnat.security.ResetFailedLogins; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; @@ -38,14 +39,14 @@ public class ResetFailedLoginsHandlerMethod extends AbstractSiteConfigPreference private void updateResetFailedLogins(){ try { - XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); - Iterator<Runnable> iter = XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").getScheduledThreadPoolExecutor().getQueue().iterator(); + _scheduler.getScheduledThreadPoolExecutor().setRemoveOnCancelPolicy(true); + _scheduler.getScheduledThreadPoolExecutor().getQueue().iterator(); for(ScheduledFuture temp: scheduledResetFailedLogins){ temp.cancel(false); } - scheduledResetFailedLogins.add(XDAT.getContextService().getBeansOfType(ThreadPoolTaskScheduler.class).get("taskScheduler").schedule(new ResetFailedLogins(_template,XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()),new CronTrigger(XDAT.getSiteConfigPreferences().getResetFailedLoginsSchedule()))); + scheduledResetFailedLogins.add(_scheduler.schedule(new ResetFailedLogins(_template,XDAT.getSiteConfigPreferences().getMaxFailedLoginsLockoutDuration()),new CronTrigger(XDAT.getSiteConfigPreferences().getResetFailedLoginsSchedule()))); } catch (Exception e1) { _log.error("", e1); @@ -60,4 +61,8 @@ public class ResetFailedLoginsHandlerMethod extends AbstractSiteConfigPreference private JdbcTemplate _template; private ArrayList<ScheduledFuture> scheduledResetFailedLogins = new ArrayList<>(); + + @Autowired + @Qualifier("taskScheduler") + private ThreadPoolTaskScheduler _scheduler; } diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/SmtpHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/SmtpHandlerMethod.java index 89de475e80a89881bb38a31c92fe1411b5a69ee2..d277216474c3e85617215ef41b4e0e7f88d4848b 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/SmtpHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/SmtpHandlerMethod.java @@ -10,6 +10,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.stereotype.Component; +import javax.inject.Inject; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -38,11 +39,11 @@ public class SmtpHandlerMethod extends AbstractNotificationsPreferenceHandlerMet private void updateSmtp(){ try { - XDAT.getContextService().getBean(JavaMailSenderImpl.class).setHost(XDAT.getNotificationsPreferences().getHostname()); - XDAT.getContextService().getBean(JavaMailSenderImpl.class).setPort(XDAT.getNotificationsPreferences().getPort()); - XDAT.getContextService().getBean(JavaMailSenderImpl.class).setUsername(XDAT.getNotificationsPreferences().getUsername()); - XDAT.getContextService().getBean(JavaMailSenderImpl.class).setPassword(XDAT.getNotificationsPreferences().getPassword()); - XDAT.getContextService().getBean(JavaMailSenderImpl.class).setProtocol(XDAT.getNotificationsPreferences().getProtocol()); + _mailSender.setHost(XDAT.getNotificationsPreferences().getHostname()); + _mailSender.setPort(XDAT.getNotificationsPreferences().getPort()); + _mailSender.setUsername(XDAT.getNotificationsPreferences().getUsername()); + _mailSender.setPassword(XDAT.getNotificationsPreferences().getPassword()); + _mailSender.setProtocol(XDAT.getNotificationsPreferences().getProtocol()); } catch (Exception e1) { _log.error("", e1); @@ -56,4 +57,7 @@ public class SmtpHandlerMethod extends AbstractNotificationsPreferenceHandlerMet @Lazy private JdbcTemplate _template; + @Inject + private JavaMailSenderImpl _mailSender; + } diff --git a/src/main/java/org/nrg/xnat/event/listeners/methods/UpdateSecurityFilterHandlerMethod.java b/src/main/java/org/nrg/xnat/event/listeners/methods/UpdateSecurityFilterHandlerMethod.java index 59310bf1df99114f288813cf62078cd6293fda5b..64797f5869add187066ab4ed64f27ae79968435b 100644 --- a/src/main/java/org/nrg/xnat/event/listeners/methods/UpdateSecurityFilterHandlerMethod.java +++ b/src/main/java/org/nrg/xnat/event/listeners/methods/UpdateSecurityFilterHandlerMethod.java @@ -11,6 +11,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.security.web.access.intercept.FilterSecurityInterceptor; import org.springframework.stereotype.Component; +import javax.inject.Inject; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -38,10 +39,8 @@ public class UpdateSecurityFilterHandlerMethod extends AbstractSiteConfigPrefere } private void updateSecurityFilter(){ - FilterSecurityInterceptor interceptor = XDAT.getContextService().getBean(FilterSecurityInterceptor.class); - FilterSecurityInterceptorBeanPostProcessor postProcessor = XDAT.getContextService().getBean(FilterSecurityInterceptorBeanPostProcessor.class); - if(interceptor!=null && postProcessor!=null){ - interceptor.setSecurityMetadataSource(postProcessor.getMetadataSource(XDAT.getSiteConfigPreferences().getRequireLogin())); + if(_interceptor!=null && _postProcessor!=null){ + _interceptor.setSecurityMetadataSource(_postProcessor.getMetadataSource(XDAT.getSiteConfigPreferences().getRequireLogin())); } } @@ -51,4 +50,11 @@ public class UpdateSecurityFilterHandlerMethod extends AbstractSiteConfigPrefere @Autowired @Lazy private JdbcTemplate _template; + + @Inject + private FilterSecurityInterceptor _interceptor; + + @Inject + private FilterSecurityInterceptorBeanPostProcessor _postProcessor; + }