/** * Returns a list of filters by the filterType specified * * @param filterType * @return a List<ZuulFilter> */ public List<ZuulFilter> getFiltersByType(FilterType filterType) { List<ZuulFilter> list = hashFiltersByType.get(filterType); if (list != null) return list; list = new ArrayList<ZuulFilter>(); Collection<ZuulFilter> filters = filterRegistry.getAllFilters(); for (Iterator<ZuulFilter> iterator = filters.iterator(); iterator.hasNext(); ) { ZuulFilter filter = iterator.next(); if (filter.filterType().equals(filterType)) { list.add(filter); } } // Sort by filterOrder. Collections.sort(list, new Comparator<ZuulFilter>() { @Override public int compare(ZuulFilter o1, ZuulFilter o2) { return o1.filterOrder() - o2.filterOrder(); } }); hashFiltersByType.putIfAbsent(filterType, list); return list; }
@Test public void testGetFiltersByType() throws Exception { assertTrue(loader.putFilter(file)); verify(registry).put(any(String.class), any(ZuulFilter.class)); final List<ZuulFilter> filters = new ArrayList<ZuulFilter>(); filters.add(filter); when(registry.getAllFilters()).thenReturn(filters); List<ZuulFilter> list = loader.getFiltersByType(FilterType.INBOUND); assertTrue(list != null); assertTrue(list.size() == 1); ZuulFilter filter = list.get(0); assertTrue(filter != null); assertTrue(filter.filterType().equals(FilterType.INBOUND)); }
/** * Returns a list of filters by the filterType specified * * @param filterType * @return a List<ZuulFilter> */ public List<ZuulFilter> getFiltersByType(FilterType filterType) { List<ZuulFilter> list = hashFiltersByType.get(filterType); if (list != null) return list; list = new ArrayList<ZuulFilter>(); Collection<ZuulFilter> filters = filterRegistry.getAllFilters(); for (Iterator<ZuulFilter> iterator = filters.iterator(); iterator.hasNext(); ) { ZuulFilter filter = iterator.next(); if (filter.filterType().equals(filterType)) { list.add(filter); } } // Sort by filterOrder. Collections.sort(list, new Comparator<ZuulFilter>() { @Override public int compare(ZuulFilter o1, ZuulFilter o2) { return o1.filterOrder() - o2.filterOrder(); } }); hashFiltersByType.putIfAbsent(filterType, list); return list; }
@Test public void testGetFiltersByType() throws Exception { assertTrue(loader.putFilter(file)); verify(registry).put(any(String.class), any(ZuulFilter.class)); final List<ZuulFilter> filters = new ArrayList<ZuulFilter>(); filters.add(filter); when(registry.getAllFilters()).thenReturn(filters); List<ZuulFilter> list = loader.getFiltersByType(FilterType.INBOUND); assertTrue(list != null); assertTrue(list.size() == 1); ZuulFilter filter = list.get(0); assertTrue(filter != null); assertTrue(filter.filterType().equals(FilterType.INBOUND)); }
/** * Returns a list of filters by the filterType specified * * @param filterType * @return a List<ZuulFilter> */ public List<ZuulFilter> getFiltersByType(FilterType filterType) { List<ZuulFilter> list = hashFiltersByType.get(filterType); if (list != null) return list; list = new ArrayList<ZuulFilter>(); Collection<ZuulFilter> filters = filterRegistry.getAllFilters(); for (Iterator<ZuulFilter> iterator = filters.iterator(); iterator.hasNext(); ) { ZuulFilter filter = iterator.next(); if (filter.filterType().equals(filterType)) { list.add(filter); } } // Sort by filterOrder. Collections.sort(list, new Comparator<ZuulFilter>() { @Override public int compare(ZuulFilter o1, ZuulFilter o2) { return o1.filterOrder() - o2.filterOrder(); } }); hashFiltersByType.putIfAbsent(filterType, list); return list; }
@ReadOperation public Map<String, List<Map<String, Object>>> invoke() { // Map of filters by type final Map<String, List<Map<String, Object>>> filterMap = new TreeMap<>(); for (ZuulFilter filter : this.filterRegistry.getAllFilters()) { // Ensure that we have a list to store filters of each type if (!filterMap.containsKey(filter.filterType())) { filterMap.put(filter.filterType(), new ArrayList<>()); } final Map<String, Object> filterInfo = new LinkedHashMap<>(); filterInfo.put("class", filter.getClass().getName()); filterInfo.put("order", filter.filterOrder()); filterInfo.put("disabled", filter.isFilterDisabled()); filterInfo.put("static", filter.isStaticFilter()); filterMap.get(filter.filterType()).add(filterInfo); } return filterMap; }
@Test public void testGetFiltersByType() throws Exception { assertTrue(loader.putFilter(file)); verify(registry).put(any(String.class), any(ZuulFilter.class)); final List<ZuulFilter> filters = new ArrayList<ZuulFilter>(); filters.add(filter); when(registry.getAllFilters()).thenReturn(filters); List<ZuulFilter> list = loader.getFiltersByType(FilterType.INBOUND); assertTrue(list != null); assertTrue(list.size() == 1); ZuulFilter filter = list.get(0); assertTrue(filter != null); assertTrue(filter.filterType().equals(FilterType.INBOUND)); }