[ https://issues.apache.org/jira/browse/GEODE-5523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Juan José Ramos Cassella reassigned GEODE-5523: ----------------------------------------------- Assignee: Juan José Ramos Cassella > Remove DefaultHashMap > --------------------- > > Key: GEODE-5523 > URL: https://issues.apache.org/jira/browse/GEODE-5523 > Project: Geode > Issue Type: Improvement > Components: general, jmx, statistics > Reporter: Juan José Ramos Cassella > Assignee: Juan José Ramos Cassella > Priority: Major > > The class {{MBeanStatsMonitor}} exposes the static class {{DefaultHashMap}}, > which is basically a wrapper of a simple {{java.util.Map}} that returns a > default value ({{0}}) when the requested key doesn't exist. > {code} > public static class DefaultHashMap { // TODO: delete this class > private Map<String, Number> internalMap = new HashMap<>(); > public DefaultHashMap() {} > public Number get(final String key) { > return internalMap.get(key) != null ? internalMap.get(key) : 0; > } > public void put(final String key, final Number value) { > internalMap.put(key, value); > } > public void clear() { > internalMap.clear(); > } > /** > * For testing only > */ > Map<String, Number> getInternalMap() { > return this.internalMap; > } > } > {code} > The containing class, {{MBeanStatsMonitor}}, also has a method that prevents > {{null}} values from being returned when accessing the {{Map}}, which is > redundant: > {code} > public Number getStatistic(final String statName) { > Number value = statsMap.get(statName); > return value != null ? value : 0; > } > {code} > The class {{DefaultHashMap}} should be eliminated, and the method > {{getStatistic}} should be refactored to use {{Map.getOrDefault(Object key, V > defaultValue)}} instead of executing the logic manually. -- This message was sent by Atlassian JIRA (v7.6.3#76005)