com.aol.micro.server.servers.tomcat.TomcatApplicationFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of micro-tomcat Show documentation
Show all versions of micro-tomcat Show documentation
Opinionated rest microservices
package com.aol.micro.server.servers.tomcat;
import java.util.List;
import lombok.AllArgsConstructor;
import org.pcollections.PStack;
import org.springframework.context.ApplicationContext;
import com.aol.micro.server.module.Environment;
import com.aol.micro.server.module.Module;
import com.aol.micro.server.module.ModuleDataExtractor;
import com.aol.micro.server.servers.ServerApplication;
import com.aol.micro.server.servers.ServerApplicationFactory;
import com.aol.micro.server.servers.model.AllData;
import com.aol.micro.server.servers.model.FilterData;
import com.aol.micro.server.servers.model.ServerData;
import com.aol.micro.server.servers.model.ServletData;
@AllArgsConstructor
public class TomcatApplicationFactory implements ServerApplicationFactory {
public ServerApplication createApp(final Module module, final ApplicationContext rootContext) {
ModuleDataExtractor extractor = new ModuleDataExtractor(module);
PStack resources = extractor.getRestResources(rootContext);
Environment environment = rootContext.getBean(Environment.class);
environment.assureModule(module);
String fullRestResource = "/" + module.getContext() + "/*";
ServerData serverData = new ServerData(environment.getModuleBean(module).getPort(),
resources,
rootContext, fullRestResource, module);
List filterDataList = extractor.createFilteredDataList(serverData);
List servletDataList = extractor.createServletDataList(serverData);
TomcatApplication app = new TomcatApplication(
new AllData(serverData,
filterDataList,
servletDataList,
module.getListeners(serverData),
module.getRequestListeners(serverData)));
return app;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy