mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
allow nbweb to use include-apps selector
This commit is contained in:
parent
aaeecb38ab
commit
ec2a8c559a
@ -4,6 +4,9 @@ import io.nosqlbench.docsys.DocsysDefaultAppPath;
|
||||
import io.nosqlbench.docsys.api.Docs;
|
||||
import io.nosqlbench.docsys.api.WebServiceObject;
|
||||
import io.nosqlbench.docsys.handlers.FavIconHandler;
|
||||
import io.nosqlbench.nb.api.spi.SimpleServiceLoader;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.eclipse.jetty.rewrite.handler.RewriteHandler;
|
||||
import org.eclipse.jetty.server.*;
|
||||
import org.eclipse.jetty.server.handler.DefaultHandler;
|
||||
@ -22,8 +25,6 @@ import org.glassfish.jersey.server.ResourceConfig;
|
||||
import org.glassfish.jersey.server.ServerProperties;
|
||||
import org.glassfish.jersey.server.model.ResourceMethod;
|
||||
import org.glassfish.jersey.servlet.ServletContainer;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
||||
import javax.servlet.DispatcherType;
|
||||
import javax.servlet.ServletRegistration;
|
||||
@ -34,8 +35,9 @@ import java.net.URL;
|
||||
import java.nio.file.AccessMode;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -98,7 +100,7 @@ public class NBWebServer implements Runnable {
|
||||
return this;
|
||||
}
|
||||
|
||||
private void addWebObject(Class... objects) {
|
||||
private void addWebObject(Class<?>... objects) {
|
||||
servletClasses.addAll(Arrays.asList(objects));
|
||||
// String servletClasses = this.servletClasses
|
||||
// .stream()
|
||||
@ -113,11 +115,22 @@ public class NBWebServer implements Runnable {
|
||||
}
|
||||
|
||||
private void loadDynamicEndpoints() {
|
||||
List<WebServiceObject> serviceObjects = WebObjectLoader.loadWebServiceObjects();
|
||||
for (WebServiceObject serviceObject : serviceObjects) {
|
||||
logger.info("Adding web service object: " + serviceObject.toString());
|
||||
this.addWebObject(serviceObject.getClass());
|
||||
List<Pattern> includeApps = List.of(Pattern.compile(".*"));
|
||||
if (contextParams.containsKey("include-apps")) {
|
||||
includeApps = Arrays.asList(contextParams.get("include-apps").toString().split(", *"))
|
||||
.stream()
|
||||
.map(Pattern::compile)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
SimpleServiceLoader<WebServiceObject> svcLoader = new SimpleServiceLoader<>(WebServiceObject.class);
|
||||
svcLoader.getNamedProviders().values()
|
||||
.forEach(p -> {
|
||||
Class<? extends WebServiceObject> c = p.type();
|
||||
logger.info("Adding web service object: " + c.getSimpleName());
|
||||
this.addWebObject(c);
|
||||
});
|
||||
|
||||
logger.debug("Loaded " + this.servletClasses.size() + " root resources.");
|
||||
|
||||
}
|
||||
@ -272,7 +285,6 @@ public class NBWebServer implements Runnable {
|
||||
handlers.addHandler(defaultHandler);
|
||||
|
||||
|
||||
|
||||
// FilterMapping corsMapping = new FilterMapping();
|
||||
// corsMapping.set
|
||||
//
|
||||
|
@ -11,8 +11,8 @@ import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class DocServerApp {
|
||||
private static final Logger logger = LogManager.getLogger(DocServerApp.class);
|
||||
public class NBWebServerApp {
|
||||
private static final Logger logger = LogManager.getLogger(NBWebServerApp.class);
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (args.length > 0 && args[0].contains("help")) {
|
Loading…
Reference in New Issue
Block a user