HBaseTimelineStorageUtils { public static Configuration getTimelineServiceHBaseConf(Configuration conf) throws MalformedURLException { if (conf == null) { throw new NullPointerException(); } Configuration hbaseConf; String timelineServiceHBaseConfFileURL = conf.get(YarnConfiguration.TIMELINE_SERVICE_HBASE_CONFIGURATION_FILE); if (timelineServiceHBaseConfFileURL != null && timelineServiceHBaseConfFileURL.length() > 0) { LOG.info("Using hbase configuration at " + timelineServiceHBaseConfFileURL); hbaseConf = new Configuration(conf); Configuration plainHBaseConf = new Configuration(false); URL hbaseSiteXML = new URL(timelineServiceHBaseConfFileURL); plainHBaseConf.addResource(hbaseSiteXML); HBaseConfiguration.merge(hbaseConf, plainHBaseConf); } else { hbaseConf = HBaseConfiguration.create(conf); } return hbaseConf; } private  HBaseTimelineStorageUtils(); static Configuration getTimelineServiceHBaseConf(Configuration conf); static byte[] calculateTheClosestNextRowKeyForPrefix(
      byte[] rowKeyPrefix); static void setMetricsTimeRange(Query query, byte[] metricsCf,
      long tsBegin, long tsEnd);  }
@Test(expected=NullPointerException.class) public void testGetTimelineServiceHBaseConfNullArgument() throws Exception { HBaseTimelineStorageUtils.getTimelineServiceHBaseConf(null); }