@Test public void subProperties() { MetricsConfig config = new MetricsConfig(mMetricsProps); Properties properties = config.getProperties(); Map<String, Properties> sinkProps = MetricsConfig.subProperties(properties, MetricsSystem.SINK_REGEX); assertEquals(2, sinkProps.size()); assertTrue(sinkProps.containsKey("console")); assertTrue(sinkProps.containsKey("jmx")); Properties consoleProp = sinkProps.get("console"); assertEquals(3, consoleProp.size()); assertEquals("alluxio.metrics.sink.ConsoleSink", consoleProp.getProperty("class")); Properties jmxProp = sinkProps.get("jmx"); assertEquals(1, jmxProp.size()); assertEquals("alluxio.metrics.sink.JmxSink", jmxProp.getProperty("class")); }
public static Map<String, Properties> subProperties(Properties prop, String regex) { Map<String, Properties> subProperties = new HashMap<>(); Pattern pattern = Pattern.compile(regex); for (Map.Entry<Object, Object> entry : prop.entrySet()) { Matcher m = pattern.matcher(entry.getKey().toString()); if (m.find()) { String prefix = m.group(1); String suffix = m.group(2); if (!subProperties.containsKey(prefix)) { subProperties.put(prefix, new Properties()); } subProperties.get(prefix).put(suffix, entry.getValue()); } } return subProperties; }
MetricsConfig { public static Map<String, Properties> subProperties(Properties prop, String regex) { Map<String, Properties> subProperties = new HashMap<>(); Pattern pattern = Pattern.compile(regex); for (Map.Entry<Object, Object> entry : prop.entrySet()) { Matcher m = pattern.matcher(entry.getKey().toString()); if (m.find()) { String prefix = m.group(1); String suffix = m.group(2); if (!subProperties.containsKey(prefix)) { subProperties.put(prefix, new Properties()); } subProperties.get(prefix).put(suffix, entry.getValue()); } } return subProperties; } }
MetricsConfig { public static Map<String, Properties> subProperties(Properties prop, String regex) { Map<String, Properties> subProperties = new HashMap<>(); Pattern pattern = Pattern.compile(regex); for (Map.Entry<Object, Object> entry : prop.entrySet()) { Matcher m = pattern.matcher(entry.getKey().toString()); if (m.find()) { String prefix = m.group(1); String suffix = m.group(2); if (!subProperties.containsKey(prefix)) { subProperties.put(prefix, new Properties()); } subProperties.get(prefix).put(suffix, entry.getValue()); } } return subProperties; } MetricsConfig(String configFile);  MetricsConfig(Properties properties); }
MetricsConfig { public static Map<String, Properties> subProperties(Properties prop, String regex) { Map<String, Properties> subProperties = new HashMap<>(); Pattern pattern = Pattern.compile(regex); for (Map.Entry<Object, Object> entry : prop.entrySet()) { Matcher m = pattern.matcher(entry.getKey().toString()); if (m.find()) { String prefix = m.group(1); String suffix = m.group(2); if (!subProperties.containsKey(prefix)) { subProperties.put(prefix, new Properties()); } subProperties.get(prefix).put(suffix, entry.getValue()); } } return subProperties; } MetricsConfig(String configFile);  MetricsConfig(Properties properties); Properties getProperties(); static Map<String, Properties> subProperties(Properties prop, String regex); @Override String toString(); }
MetricsConfig { public static Map<String, Properties> subProperties(Properties prop, String regex) { Map<String, Properties> subProperties = new HashMap<>(); Pattern pattern = Pattern.compile(regex); for (Map.Entry<Object, Object> entry : prop.entrySet()) { Matcher m = pattern.matcher(entry.getKey().toString()); if (m.find()) { String prefix = m.group(1); String suffix = m.group(2); if (!subProperties.containsKey(prefix)) { subProperties.put(prefix, new Properties()); } subProperties.get(prefix).put(suffix, entry.getValue()); } } return subProperties; } MetricsConfig(String configFile);  MetricsConfig(Properties properties); Properties getProperties(); static Map<String, Properties> subProperties(Properties prop, String regex); @Override String toString();  }