public DynamicList listSymbols()

in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/services/grafana/GrafanaServiceNewImpl.java [325:357]


    public DynamicList listSymbols(String streamKey, String template, int offset, int limit) throws NoSuchStreamException {
        DXTickStream stream = timebase.getStream(streamKey);
        if (stream == null) {
            throw new NoSuchStreamException(streamKey);
        }
        DynamicList result = new DynamicList();
        List<String> list = new ObjectArrayList<>();
        result.setList(list);
        result.setHasMore(false);
        List<String> symbols;
        if (StringUtil.isEmpty(template)) {
            symbols = Arrays.stream(stream.listEntities())
                    .map(entity -> entity.getSymbol().toString())
                    .sorted()
                    .skip(offset)
                    .collect(Collectors.toList());
        } else {
            symbols = Arrays.stream(stream.listEntities())
                    .map(entity -> entity.getSymbol().toString())
                    .filter(symbol -> symbol.toLowerCase().contains(template.toLowerCase()))
                    .sorted()
                    .skip(offset)
                    .collect(Collectors.toList());
        }
        for (String symbol : symbols) {
            if (list.size() == limit) {
                result.setHasMore(true);
                break;
            }
            list.add(symbol);
        }
        return result;
    }