mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
new feature WIP nb ui
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package io.nosqlbench.engine.core.services;
|
||||
|
||||
import io.nosqlbench.docsys.api.WebServiceObject;
|
||||
import io.nosqlbench.engine.api.scenarios.NBCLIScenarioParser;
|
||||
import io.nosqlbench.engine.api.scenarios.WorkloadDesc;
|
||||
import io.nosqlbench.nb.api.annotations.Service;
|
||||
import io.nosqlbench.virtdata.userlibs.apps.docsapp.AutoDocsWebService;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.BinaryOperator;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service(WebServiceObject.class)
|
||||
@Singleton
|
||||
@Path("/services/nb/")
|
||||
public class WorkloadFinderEndpoint implements WebServiceObject {
|
||||
private final static Logger logger = LogManager.getLogger(AutoDocsWebService.class);
|
||||
|
||||
@GET
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Path("enabled")
|
||||
public boolean isEnabled() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@GET
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Path("workloads")
|
||||
public List<String> getWorkloadNames() {
|
||||
List<WorkloadDesc> workloads = NBCLIScenarioParser.getWorkloadsWithScenarioScripts();
|
||||
|
||||
return workloads.stream().map(x -> x.getWorkloadName()).collect(Collectors.toList());
|
||||
}
|
||||
@GET
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Path("parameters")
|
||||
public Set<String> getParametersByWorkload(@QueryParam("workloadName") String workloadName) {
|
||||
List<WorkloadDesc> workloads = NBCLIScenarioParser.getWorkloadsWithScenarioScripts();
|
||||
|
||||
Set<String> templates = null;
|
||||
|
||||
Set<String> temlpates = workloads.stream()
|
||||
.filter(workload -> workload.getWorkloadName().equals(workloadName))
|
||||
.map(workload -> workload.getTemplates())
|
||||
.collect(Collectors.toSet()).iterator().next();
|
||||
|
||||
return templates;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user