private void initCounterGroups() { if (this.counterGroups != null) { return; } CountersProtoOrBuilder p = viaProto ? proto : builder; List<StringCounterGroupMapProto> list = p.getCounterGroupsList(); this.counterGroups = new HashMap<String, CounterGroup>(); for (StringCounterGroupMapProto c : list) { this.counterGroups.put(c.getKey(), convertFromProtoFormat(c.getValue())); } }
private void addCounterGroupsToProto() { maybeInitBuilder(); builder.clearCounterGroups(); if (counterGroups == null) return; Iterable<StringCounterGroupMapProto> iterable = new Iterable<StringCounterGroupMapProto>() { @Override public Iterator<StringCounterGroupMapProto> iterator() { return new Iterator<StringCounterGroupMapProto>() { Iterator<String> keyIter = counterGroups.keySet().iterator(); @Override public void remove() { throw new UnsupportedOperationException(); } @Override public StringCounterGroupMapProto next() { String key = keyIter.next(); return StringCounterGroupMapProto.newBuilder().setKey(key).setValue(convertToProtoFormat(counterGroups.get(key))).build(); } @Override public boolean hasNext() { return keyIter.hasNext(); } }; } }; builder.addAllCounterGroups(iterable); }