Re-organized Spring configuration files
This commit is contained in:
parent
67b596753a
commit
e7023e627c
war/src/main/java/se/su/dsv/scipro/war
@ -3,14 +3,11 @@ package se.su.dsv.scipro.war;
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import jakarta.inject.Provider;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import org.apache.wicket.protocol.http.WebApplication;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import se.su.dsv.scipro.CurrentUserFromWicketSession;
|
||||
import se.su.dsv.scipro.DataInitializer;
|
||||
import se.su.dsv.scipro.FileSystemStore;
|
||||
import se.su.dsv.scipro.activityplan.ActivityPlanFacade;
|
||||
import se.su.dsv.scipro.activityplan.ActivityPlanFacadeImpl;
|
||||
import se.su.dsv.scipro.activityplan.ActivityPlanServiceImpl;
|
||||
@ -20,10 +17,8 @@ import se.su.dsv.scipro.checklist.ChecklistAnswerServiceImpl;
|
||||
import se.su.dsv.scipro.checklist.ChecklistServiceImpl;
|
||||
import se.su.dsv.scipro.checklist.ChecklistTemplateService;
|
||||
import se.su.dsv.scipro.checklist.ChecklistTemplateServiceImpl;
|
||||
import se.su.dsv.scipro.crosscutting.ForwardPhase2Feedback;
|
||||
import se.su.dsv.scipro.crosscutting.ReviewerAssignedNotifications;
|
||||
import se.su.dsv.scipro.crosscutting.ReviewerSupportMailer;
|
||||
import se.su.dsv.scipro.crosscutting.ReviewingNotifications;
|
||||
import se.su.dsv.scipro.daisyExternal.http.DaisyAPIImpl;
|
||||
import se.su.dsv.scipro.date.DateServiceImpl;
|
||||
import se.su.dsv.scipro.file.FileDescriptionRepo;
|
||||
@ -215,16 +210,6 @@ public class CoreConfig {
|
||||
return new EventBus();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FileStore fileStore() {
|
||||
return new FileSystemStore();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Clock clock() {
|
||||
return Clock.systemDefaultZone();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public GradingHistory gradingHistory(GradingHistoryEventRepository gradingHistoryEventRepository) {
|
||||
return new GradingHistory(gradingHistoryEventRepository);
|
||||
@ -923,22 +908,6 @@ public class CoreConfig {
|
||||
return new NotificationMailFormatterImpl();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public CurrentUserFromWicketSession currentUserFromWicketSession() {
|
||||
return new CurrentUserFromWicketSession();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ReviewingNotifications reviewingNotifications(
|
||||
EventBus eventBus,
|
||||
NotificationController notificationController,
|
||||
GeneralSystemSettingsService generalSystemSettingsService,
|
||||
WebApplication webApplication)
|
||||
{
|
||||
return new ReviewingNotifications(eventBus, notificationController, generalSystemSettingsService,
|
||||
webApplication);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ReviewerSupportMailer reviewerSupportMailer(
|
||||
EventBus eventBus,
|
||||
@ -972,15 +941,6 @@ public class CoreConfig {
|
||||
reviewerDeadlineSettingsService, daysService, eventBus, clock);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ForwardPhase2Feedback forwardPhase2Feedback(
|
||||
EventBus eventBus,
|
||||
WebApplication webApplication,
|
||||
ProjectForumService projectForumService)
|
||||
{
|
||||
return new ForwardPhase2Feedback(webApplication, projectForumService, eventBus);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DataInitializer dataInitializer() {
|
||||
return new DataInitializer();
|
||||
|
@ -5,23 +5,20 @@ import jakarta.persistence.EntityManagerFactory;
|
||||
import jakarta.servlet.ServletContainerInitializer;
|
||||
import jakarta.servlet.ServletContext;
|
||||
import jakarta.servlet.ServletException;
|
||||
import org.apache.wicket.protocol.http.WebApplication;
|
||||
import org.apache.wicket.protocol.http.WicketFilter;
|
||||
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||
import org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryBuilderCustomizer;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.core.task.SimpleAsyncTaskExecutor;
|
||||
import org.springframework.orm.jpa.SharedEntityManagerCreator;
|
||||
import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter;
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
import se.su.dsv.scipro.CurrentUserFromWicketSession;
|
||||
import se.su.dsv.scipro.FileSystemStore;
|
||||
import se.su.dsv.scipro.file.FileStore;
|
||||
import se.su.dsv.scipro.profiles.CurrentProfile;
|
||||
import se.su.dsv.scipro.system.AggregateUserSearch;
|
||||
import se.su.dsv.scipro.system.Lifecycle;
|
||||
@ -32,6 +29,7 @@ import se.su.dsv.scipro.system.UserSearchProvider;
|
||||
import se.su.dsv.scipro.system.UserSearchService;
|
||||
import se.su.dsv.scipro.system.UserService;
|
||||
|
||||
import java.time.Clock;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.ServiceLoader;
|
||||
@ -39,7 +37,14 @@ import java.util.Set;
|
||||
|
||||
@SpringBootApplication(proxyBeanMethods = false)
|
||||
@EntityScan("se.su.dsv.scipro")
|
||||
@Import({CoreConfig.class, ApiConfig.class, WorkerConfig.class, MailConfig.class, RepositoryConfiguration.class})
|
||||
@Import({
|
||||
CoreConfig.class,
|
||||
ApiConfig.class,
|
||||
WorkerConfig.class,
|
||||
MailConfig.class,
|
||||
RepositoryConfiguration.class,
|
||||
WicketConfiguration.class
|
||||
})
|
||||
public class Main extends SpringBootServletInitializer implements ServletContainerInitializer {
|
||||
@Override
|
||||
public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException {
|
||||
@ -66,29 +71,6 @@ public class Main extends SpringBootServletInitializer implements ServletContain
|
||||
return new OpenEntityManagerInViewFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean<WicketFilter> wicket(
|
||||
WebApplication webApplication,
|
||||
ApplicationContext applicationContext)
|
||||
{
|
||||
webApplication.getComponentInstantiationListeners()
|
||||
.add(new SpringComponentInjector(webApplication, applicationContext));
|
||||
|
||||
WicketFilter filter = new WicketFilter(webApplication);
|
||||
filter.setFilterPath("");
|
||||
|
||||
FilterRegistrationBean<WicketFilter> registration = new FilterRegistrationBean<>();
|
||||
registration.setFilter(filter);
|
||||
registration.addUrlPatterns("/*");
|
||||
registration.setMatchAfter(true);
|
||||
return registration;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public WebApplication webApplication(CurrentProfile currentProfile) {
|
||||
return new SciProApplication(currentProfile);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public CurrentProfile currentProfile(@Value("${profile}" ) String profile) {
|
||||
CurrentProfile currentProfile = new CurrentProfile();
|
||||
@ -96,6 +78,21 @@ public class Main extends SpringBootServletInitializer implements ServletContain
|
||||
return currentProfile;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public CurrentUserFromWicketSession currentUserFromWicketSession() {
|
||||
return new CurrentUserFromWicketSession();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FileStore fileStore() {
|
||||
return new FileSystemStore();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Clock clock() {
|
||||
return Clock.systemDefaultZone();
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow injecting of {@link EntityManager} directly instead of {@link EntityManagerFactory}
|
||||
*/
|
||||
|
@ -0,0 +1,63 @@
|
||||
package se.su.dsv.scipro.war;
|
||||
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import org.apache.wicket.protocol.http.WebApplication;
|
||||
import org.apache.wicket.protocol.http.WicketFilter;
|
||||
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
import se.su.dsv.scipro.crosscutting.ForwardPhase2Feedback;
|
||||
import se.su.dsv.scipro.crosscutting.ReviewingNotifications;
|
||||
import se.su.dsv.scipro.forum.ProjectForumService;
|
||||
import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettingsService;
|
||||
import se.su.dsv.scipro.notifications.NotificationController;
|
||||
import se.su.dsv.scipro.profiles.CurrentProfile;
|
||||
|
||||
@Configuration
|
||||
public class WicketConfiguration {
|
||||
@Bean
|
||||
public FilterRegistrationBean<WicketFilter> wicket(
|
||||
WebApplication webApplication,
|
||||
ApplicationContext applicationContext)
|
||||
{
|
||||
webApplication.getComponentInstantiationListeners()
|
||||
.add(new SpringComponentInjector(webApplication, applicationContext));
|
||||
|
||||
WicketFilter filter = new WicketFilter(webApplication);
|
||||
filter.setFilterPath("");
|
||||
|
||||
FilterRegistrationBean<WicketFilter> registration = new FilterRegistrationBean<>();
|
||||
registration.setFilter(filter);
|
||||
registration.addUrlPatterns("/*");
|
||||
registration.setMatchAfter(true);
|
||||
return registration;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public WebApplication webApplication(CurrentProfile currentProfile) {
|
||||
return new SciProApplication(currentProfile);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ReviewingNotifications reviewingNotifications(
|
||||
EventBus eventBus,
|
||||
NotificationController notificationController,
|
||||
GeneralSystemSettingsService generalSystemSettingsService,
|
||||
WebApplication webApplication)
|
||||
{
|
||||
return new ReviewingNotifications(eventBus, notificationController, generalSystemSettingsService,
|
||||
webApplication);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ForwardPhase2Feedback forwardPhase2Feedback(
|
||||
EventBus eventBus,
|
||||
WebApplication webApplication,
|
||||
ProjectForumService projectForumService)
|
||||
{
|
||||
return new ForwardPhase2Feedback(webApplication, projectForumService, eventBus);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user