From 0c476f824a2038cd506d081bda8f247d14ca5147 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20M=C3=A4rki?= Date: Thu, 24 Jan 2019 11:41:39 +0100 Subject: [PATCH] Add backends by id request. --- .../controller/QueryRestController.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java b/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java index a231116..e7f7561 100644 --- a/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java +++ b/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java @@ -4,8 +4,10 @@ import java.net.URLDecoder; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -130,7 +132,7 @@ public class QueryRestController implements ApplicationContextAware { if (request == null) { request = new ChannelsRequest(); } - + ((AbstractHTTPResponse) defaultResponse).respond( context, res, @@ -166,7 +168,7 @@ public class QueryRestController implements ApplicationContextAware { if (request == null) { request = new ChannelConfigurationsRequest(); } - + ((AbstractHTTPResponse) defaultResponse).respond( context, res, @@ -517,6 +519,23 @@ public class QueryRestController implements ApplicationContextAware { .collect(Collectors.toList()); } + /** + * Returns the current mapping of id to {@link Backend}. + * + * @return id to {@link Backend}s mapping + */ + @RequestMapping( + value = DomainConfig.PATH_BACKENDS + "/byid", + method = {RequestMethod.GET}, + produces = {MediaType.APPLICATION_JSON_VALUE}) + public @ResponseBody Map getBackendValuesById() { + return Backend.getBackends().stream() + .filter(backend -> activeBackends.contains(backend)) + .collect(Collectors.toMap( + Backend::getId, + Function.identity())); + } + /** * Returns the current list of {@link Compression}s available. *