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
master
lucio 2 months ago
parent 4d060fbb54
commit b4faa4e2c5

@ -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();
for (ServletRegistration servlet : servlets) {
String name = servlet.getName();
if (name.equals("default") || name.equals("jsp")) // skip page-resolving servlets
continue;
String appName = app.getContextPath().replace("/", "");
RequestManager requestFilter = new RequestManager(context, appName, rqHandlers);
for (String mapping : servlet.getMappings()) {
FilterRegistration.Dynamic filter = app.addFilter(appName + "-filter", requestFilter);
RequestManager requestFilter = new RequestManager(context, name, rqHandlers);
filter.addMappingForUrlPatterns(null, false, "/*");
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…
Cancel
Save