### Question:
StorageRepository { public List<ExceptionData> findExceptionData(Map<String, String> query) { return RepositoryFactory.getExceptionRepository().find(query); }  static StorageRepository getStorageRepository(); void createHBaseTable(); void dropHBaseTable(); void initHBaseTable(); void save(TraceIndexTable appTable); void save(TraceOverviewTable traceTable); void save(Span span); void save(SystemData systemData); void save(ExceptionData exception); void save(MetricData metric); List<Map<String, Object>> findExceptionIndex(); List<ExceptionData> findExceptionData(Map<String, String> query); DataPoints[] find(long start,
                             String metric, Map<String, String> tags,
                             Aggregator function, boolean rate); DataPoints[] find(long start, long end,
                             String metric, Map<String, String> tags,
                             Aggregator function, boolean rate); List<Map<String, Object>> findSystemIndex(); SystemData findSystemData(Map<String, String> query); List<Map<String, Object>> findTraceIndex(); List<TraceOverviewTable> findTraceList(Map<String, String> query); Map<String, Integer> findSpanName(String traceId); List<Span> findTrace(String traceId);  }### Answer:
@Test public void testFindExceptionList() { Map<String, String> query = new HashMap<String, String>(); query.put("appName", "trace"); query.put("ipAddress", "10.101.3.111"); query.put("limit", "100"); query.put("startTime", String.valueOf(System.currentTimeMillis() - 1000 * 60 * 60)); query.put("endTime", String.valueOf(System.currentTimeMillis())); List<ExceptionData> result = storageRepository.findExceptionData(query); System.out.println(result); }