package ru.qatools.gridrouter; import ru.qatools.gridrouter.config.Browser; import ru.qatools.gridrouter.config.Browsers; import ru.qatools.gridrouter.config.Version; import ru.qatools.gridrouter.json.JsonCapabilities; import java.util.HashMap; import java.util.Map; /** * @author Ilya Sadykov */ public interface ConfigRepository { Map<String, Browsers> getQuotaMap(); String getRoute(String routeId); default Version findVersion(String user, JsonCapabilities caps) { final Browsers browsers = getQuotaMap().get(user); return browsers != null ? browsers.find(caps.getBrowserName(), caps.getVersion()) : null; } default Map<String, Integer> getBrowsersCountMap(String user) { HashMap<String, Integer> countMap = new HashMap<>(); for (Browser browser : getQuotaMap().get(user).getBrowsers()) { for (Version version : browser.getVersions()) { countMap.put(browser.getName() + ":" + version.getNumber(), version.getCount()); } } return countMap; } }