TimelineReaderClientImpl extends TimelineReaderClient { @Override public TimelineEntity getApplicationEntity(ApplicationId appId, String fields, Map<String, String> filters) throws IOException { String path = PATH_JOINER.join("clusters", clusterId, "apps", appId); if (fields == null || fields.isEmpty()) { fields = "INFO"; } MultivaluedMap<String, String> params = new MultivaluedMapImpl(); params.add("fields", fields); mergeFilters(params, filters); ClientResponse response = doGetUri(baseUri, path, params); TimelineEntity entity = response.getEntity(TimelineEntity.class); return entity; } TimelineReaderClientImpl(); @Override TimelineEntity getApplicationEntity(ApplicationId appId, String fields,
      Map<String, String> filters); @Override TimelineEntity getApplicationAttemptEntity(
      ApplicationAttemptId appAttemptId,
      String fields, Map<String, String> filters); @Override List<TimelineEntity> getApplicationAttemptEntities(
      ApplicationId appId, String fields, Map<String, String> filters,
      long limit, String fromId); @Override TimelineEntity getContainerEntity(ContainerId containerId,
      String fields, Map<String, String> filters); @Override List<TimelineEntity> getContainerEntities(
      ApplicationId appId, String fields,
      Map<String, String> filters,
      long limit, String fromId);  }
@Test public void testGetApplication() throws Exception { ApplicationId applicationId = ApplicationId.fromString("application_1234_0001"); TimelineEntity entity = client.getApplicationEntity(applicationId, null, null); Assert.assertEquals("mockApp1", entity.getId()); }