From 3b2cf12237438ee8384d37da26c055e3c32c8c8b Mon Sep 17 00:00:00 2001 From: innokenty Date: Wed, 25 Nov 2015 20:20:04 +0300 Subject: [PATCH 1/2] add getter of all quotas map to ConfigRepository --- .../src/main/java/ru/qatools/gridrouter/ConfigRepository.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proxy/src/main/java/ru/qatools/gridrouter/ConfigRepository.java b/proxy/src/main/java/ru/qatools/gridrouter/ConfigRepository.java index 04b1b75..c0b0e9c 100644 --- a/proxy/src/main/java/ru/qatools/gridrouter/ConfigRepository.java +++ b/proxy/src/main/java/ru/qatools/gridrouter/ConfigRepository.java @@ -72,6 +72,10 @@ public void beanChanged(Path filename, Browsers browsers) { } } + public Map getQuotaMap() { + return userBrowsers; + } + public Map getRoutes() { return routes; } From acdbc06845127e27bade75db7cb56cb7c4a7855a Mon Sep 17 00:00:00 2001 From: innokenty Date: Wed, 25 Nov 2015 20:22:54 +0300 Subject: [PATCH 2/2] add getHosts method to Browsers bean --- .../qatools/gridrouter/config/WithHosts.java | 22 +++++++++++++++++++ .../gridrouter/config/WithRoutesMap.java | 13 +++-------- 2 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 config/src/main/java/ru/qatools/gridrouter/config/WithHosts.java diff --git a/config/src/main/java/ru/qatools/gridrouter/config/WithHosts.java b/config/src/main/java/ru/qatools/gridrouter/config/WithHosts.java new file mode 100644 index 0000000..6d4f626 --- /dev/null +++ b/config/src/main/java/ru/qatools/gridrouter/config/WithHosts.java @@ -0,0 +1,22 @@ +package ru.qatools.gridrouter.config; + +import java.util.List; + +import static java.util.stream.Collectors.toList; + +/** + * @author Dmitry Baev charlie@yandex-team.ru + * @author Innokenty Shuvalov innokenty@yandex-team.ru + */ +public interface WithHosts { + + default List getHosts() { + return getBrowsers().stream() + .flatMap(b -> b.getVersions().stream()) + .flatMap(v -> v.getRegions().stream()) + .flatMap(r -> r.getHosts().stream()) + .collect(toList()); + } + + List getBrowsers(); +} diff --git a/config/src/main/java/ru/qatools/gridrouter/config/WithRoutesMap.java b/config/src/main/java/ru/qatools/gridrouter/config/WithRoutesMap.java index d5d8ec6..05b776b 100644 --- a/config/src/main/java/ru/qatools/gridrouter/config/WithRoutesMap.java +++ b/config/src/main/java/ru/qatools/gridrouter/config/WithRoutesMap.java @@ -1,24 +1,17 @@ package ru.qatools.gridrouter.config; import java.util.HashMap; -import java.util.List; import java.util.Map; /** * @author Dmitry Baev charlie@yandex-team.ru * @author Innokenty Shuvalov innokenty@yandex-team.ru */ -public interface WithRoutesMap { - - List getBrowsers(); +public interface WithRoutesMap extends WithHosts { default Map getRoutesMap() { - HashMap routes = new HashMap<>(); - getBrowsers().stream() - .flatMap(b -> b.getVersions().stream()) - .flatMap(v -> v.getRegions().stream()) - .flatMap(r -> r.getHosts().stream()) - .forEach(h -> routes.put(h.getRouteId(), h.getRoute())); + Map routes = new HashMap<>(); + getHosts().forEach(h -> routes.put(h.getRouteId(), h.getRoute())); return routes; } }