[ https://issues.apache.org/jira/browse/GEODE-5523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16632573#comment-16632573 ]
ASF subversion and git services commented on GEODE-5523: -------------------------------------------------------- Commit d4d9f7f83f7ae10fb82d36eeca39b929d99d068e in geode's branch refs/heads/develop from [~huynhja] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=d4d9f7f ] GEODE-5523: Fixed NPE by converting remaining getOrDefault calls (#2539) > 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 > Labels: pull-request-available > Fix For: 1.8.0 > > Time Spent: 40m > Remaining Estimate: 0h > > 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)