solved problem with maven parent 1.2.0 that doesn't copy the resource
atuomatically and created request filters only per app instead of per servlet
This commit is contained in:
parent
4d060fbb54
commit
b4faa4e2c5
4
pom.xml
4
pom.xml
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>maven-parent</artifactId>
|
||||
<groupId>org.gcube.tools</groupId>
|
||||
<version>1.1.0</version>
|
||||
<version>1.2.0</version>
|
||||
<relativePath />
|
||||
</parent>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
|
@ -24,7 +24,7 @@
|
|||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<properties>
|
||||
<tomcat.version>8.0.42</tomcat.version>
|
||||
<tomcat.version>9.0.85</tomcat.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
|
|
|
@ -81,10 +81,6 @@ public class ApplicationManager {
|
|||
|
||||
ApplicationHandlers handlers = provider().handlersFor(context);
|
||||
|
||||
/*
|
||||
extensions = provider().extensionsFor(context);
|
||||
extensions.validate();
|
||||
*/
|
||||
|
||||
List<ApplicationLifecycleHandler> lifecycleHandlers = handlers.lifecycleHandlers();
|
||||
List<RequestHandler> requestHandlers = handlers.requestHandlers();
|
||||
|
@ -99,7 +95,7 @@ public class ApplicationManager {
|
|||
registerExtension(extensions);
|
||||
|
||||
// then intercept them all
|
||||
registerHandlers(requestHandlers);
|
||||
registerHandlersAsFilter(requestHandlers);
|
||||
|
||||
// start lifecycle management
|
||||
start(lifecycleHandlers);
|
||||
|
@ -171,29 +167,18 @@ public class ApplicationManager {
|
|||
|
||||
}
|
||||
|
||||
private void registerHandlers(List<RequestHandler> rqHandlers) {
|
||||
private void registerHandlersAsFilter(List<RequestHandler> rqHandlers) {
|
||||
|
||||
ServletContext app = context.application();
|
||||
|
||||
// attach filters based on request pipeline to each servlet
|
||||
Collection<? extends ServletRegistration> servlets = app.getServletRegistrations().values();
|
||||
String appName = app.getContextPath().replace("/", "");
|
||||
|
||||
RequestManager requestFilter = new RequestManager(context, appName, rqHandlers);
|
||||
|
||||
for (ServletRegistration servlet : servlets) {
|
||||
FilterRegistration.Dynamic filter = app.addFilter(appName + "-filter", requestFilter);
|
||||
|
||||
String name = servlet.getName();
|
||||
filter.addMappingForUrlPatterns(null, false, "/*");
|
||||
|
||||
if (name.equals("default") || name.equals("jsp")) // skip page-resolving servlets
|
||||
continue;
|
||||
|
||||
for (String mapping : servlet.getMappings()) {
|
||||
|
||||
RequestManager requestFilter = new RequestManager(context, name, rqHandlers);
|
||||
|
||||
FilterRegistration.Dynamic filter = app.addFilter(name + "-filter-"+mapping.replaceAll("/", ""), requestFilter);
|
||||
|
||||
filter.addMappingForUrlPatterns(null, false, mapping);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void registerExtension(List<ApplicationExtension> extensions) {
|
||||
|
|
|
@ -66,7 +66,9 @@ public class RequestManager implements Filter {
|
|||
|
||||
HttpServletRequest httprequest = (HttpServletRequest) request;
|
||||
HttpServletResponse httpresponse = (HttpServletResponse) response;
|
||||
|
||||
|
||||
log.warn("request filter for app {} applied to {}", this.servlet, httprequest.getServletContext().getContextPath());
|
||||
|
||||
List<RequestHandler> filterHandlers = getPipelineHandlers(httprequest, handlers);
|
||||
|
||||
if (filterHandlers.isEmpty()){
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
/smartgears-config.xml
|
Loading…
Reference in New Issue