JmxResultProcessor.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:graylog-plugin-input-jmx 作者:
/**
 * Populates the Result objects. This is a recursive function. Query
 * contains the keys that we want to get the values of.
 */
private void getResult(Builder<Result> accumulator, String attributeName, CompositeData cds) {
    CompositeType t = cds.getCompositeType();

    Map<String, Object> values = newHashMap();

    Set<String> keys = t.keySet();
    for (String key : keys) {
        Object value = cds.get(key);
        if (value instanceof TabularDataSupport) {
            TabularDataSupport tds = (TabularDataSupport) value;
            processTabularDataSupport(accumulator, attributeName + SEPERATOR + key, tds);
            values.put(key, value);
        } else if (value instanceof CompositeDataSupport) {
            // now recursively go through everything.
            CompositeDataSupport cds2 = (CompositeDataSupport) value;
            getResult(accumulator, attributeName, cds2);
            return; // because we don't want to add to the list yet.
        } else {
            values.put(key, value);
        }
    }
    Result r = getNewResultObject(attributeName, values);
    accumulator.add(r);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号