Trying to get the web config running

This commit is contained in:
Cyrus 2022-07-21 07:16:53 -04:00
parent c177cfdadd
commit f22a603f01
3 changed files with 39 additions and 14 deletions

View File

@ -20,9 +20,7 @@ import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.hibernate5.HibernateTransactionManager; import org.springframework.orm.hibernate5.HibernateTransactionManager;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean; import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@ -71,7 +69,6 @@ public class AttestationCertificateAuthorityConfiguration implements WebMvcConfi
} }
} }
private static final String CLIENT_FILES_PATH = "file:/etc/hirs/aca/client-files/";
// @Value("${persistence.db.url}") // @Value("${persistence.db.url}")
// private String url; // private String url;
@ -304,15 +301,5 @@ public class AttestationCertificateAuthorityConfiguration implements WebMvcConfi
return new SimpleStructConverter(); return new SimpleStructConverter();
} }
@Override
public void addResourceHandlers(final ResourceHandlerRegistry resourceHandlerRegistry) {
resourceHandlerRegistry.addResourceHandler("/client-files/**")
.addResourceLocations(CLIENT_FILES_PATH);
}
@Override
public void configureDefaultServletHandling(final DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
} }

View File

@ -1,5 +1,6 @@
package hirs.attestationca; package hirs.attestationca;
import hirs.attestationca.configuration.PersistenceConfiguration;
import hirs.attestationca.persist.DBAppraiserManager; import hirs.attestationca.persist.DBAppraiserManager;
import hirs.attestationca.persist.DBDeviceGroupManager; import hirs.attestationca.persist.DBDeviceGroupManager;
import hirs.attestationca.persist.DBPolicyManager; import hirs.attestationca.persist.DBPolicyManager;
@ -7,6 +8,7 @@ import hirs.utils.HIRSProfiles;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean; import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener; import javax.servlet.ServletContextListener;
@ -14,7 +16,8 @@ import javax.servlet.ServletContextListener;
/** /**
* Simply holds a contextInitialized method which will be called when the web app starts. * Simply holds a contextInitialized method which will be called when the web app starts.
*/ */
public class InitializationListener implements ServletContextListener { public class InitializationListener extends AbstractAnnotationConfigDispatcherServletInitializer
implements ServletContextListener {
@Override @Override
public void contextInitialized(final ServletContextEvent event) { public void contextInitialized(final ServletContextEvent event) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
@ -37,4 +40,25 @@ public class InitializationListener implements ServletContextListener {
public void contextDestroyed(final ServletContextEvent event) { public void contextDestroyed(final ServletContextEvent event) {
} }
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] {
AttestationCertificateAuthorityConfiguration.class
};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] {
PersistenceConfiguration.class,
};
}
@Override
protected String[] getServletMappings() {
return new String[] {
"/"
};
}
} }

View File

@ -11,7 +11,9 @@ import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.UrlBasedViewResolver; import org.springframework.web.servlet.view.UrlBasedViewResolver;
@ -30,6 +32,8 @@ import java.nio.charset.StandardCharsets;
@Import({ AttestationCertificateAuthorityConfiguration.class }) @Import({ AttestationCertificateAuthorityConfiguration.class })
public class CommonPageConfiguration implements WebMvcConfigurer { public class CommonPageConfiguration implements WebMvcConfigurer {
private static final String CLIENT_FILES_PATH = "file:/etc/hirs/aca/client-files/";
/** /**
* @return bean to resolve injected annotation.Value * @return bean to resolve injected annotation.Value
* property expressions for beans. * property expressions for beans.
@ -81,4 +85,14 @@ public class CommonPageConfiguration implements WebMvcConfigurer {
return resolver; return resolver;
} }
@Override
public void addResourceHandlers(final ResourceHandlerRegistry resourceHandlerRegistry) {
resourceHandlerRegistry.addResourceHandler("/client-files/**")
.addResourceLocations(CLIENT_FILES_PATH);
}
@Override
public void configureDefaultServletHandling(final DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
} }