@Override public <T extends Object> GenericServiceAPIResponseEntity<T> search(EagleServiceSingleEntityQueryRequest request) throws EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append("/list"); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if (!this.silence) LOG.info("Going to query service: " + this.getBaseEndpoint() + urlString); WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE)) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE) .get(GenericServiceAPIResponseEntity.class); } };
@Override public <T extends Object> GenericServiceAPIResponseEntity<T> search(EagleServiceSingleEntityQueryRequest request) throws EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append("/list"); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if (!this.silence) LOG.info("Going to query service: " + this.getBaseEndpoint() + urlString); WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE)) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE) .get(GenericServiceAPIResponseEntity.class); } };
@Override @SuppressWarnings("unchecked") public <T extends Object> GenericServiceAPIResponseEntity<T> search(EagleServiceSingleEntityQueryRequest request) throws EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append(GENERIC_ENTITY_PATH); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if (!this.silence) { LOG.info("Going to query service: " + getWholePath(urlString)); } WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE)) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE) .get(GenericServiceAPIResponseEntity.class); } }
@SuppressWarnings("unchecked") @Override public GenericServiceAPIResponseEntity<String> delete(EagleServiceSingleEntityQueryRequest request) throws IOException,EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append(GENERIC_ENTITY_PATH); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if(!this.silence) LOG.info("Going to delete by querying service: " + getWholePath(urlString)); WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE)) .delete(GenericServiceAPIResponseEntity.class); }
@Override @SuppressWarnings("unchecked") public <T extends Object> GenericServiceAPIResponseEntity<T> search(EagleServiceSingleEntityQueryRequest request) throws EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append(GENERIC_ENTITY_PATH); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if(!this.silence) LOG.info("Going to query service: " + getWholePath(urlString)); WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE)) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE) .get(GenericServiceAPIResponseEntity.class); } }
@SuppressWarnings("unchecked") @Override public GenericServiceAPIResponseEntity<String> delete(EagleServiceSingleEntityQueryRequest request) throws IOException, EagleServiceClientException { String queryString = request.getQueryParameterString(); StringBuilder sb = new StringBuilder(); sb.append(GENERIC_ENTITY_PATH); sb.append("?"); sb.append(queryString); final String urlString = sb.toString(); if (!this.silence) { LOG.info("Going to delete by querying service: " + getWholePath(urlString)); } WebResource r = getWebResource(urlString); return putAuthHeaderIfNeeded(r.accept(DEFAULT_MEDIA_TYPE) .header(CONTENT_TYPE, DEFAULT_HTTP_HEADER_CONTENT_TYPE)) .delete(GenericServiceAPIResponseEntity.class); }
@Test public void testDeleteRequestByQuery() throws Exception { EagleServiceConnector connector = mock(EagleServiceConnector.class); IEagleServiceClient client = new EagleServiceClientImpl(connector); DeleteRequestBuilder deleteRequestBuilder = client.delete().byQuery("AuditService"); Field deleteRequestField = DeleteRequestBuilder.class.getDeclaredField("request"); deleteRequestField.setAccessible(true); EagleServiceSingleEntityQueryRequest request = (EagleServiceSingleEntityQueryRequest)deleteRequestField.get(deleteRequestBuilder); Assert.assertEquals("query=AuditService&pageSize=0&treeAgg=false", request.getQueryParameterString()); } }
@Test public void testDeleteRequestByIds() throws Exception { EagleServiceConnector connector = mock(EagleServiceConnector.class); IEagleServiceClient client = new EagleServiceClientImpl(connector); List<String> ids = new ArrayList<>(); ids.add("id1"); ids.add("id2"); ids.add("id3"); DeleteRequestBuilder deleteRequestBuilder = client.delete().startRowkey("rowkey").startTime(1479369296000L).endTime(1479369296000L + DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).filterIfMissing(true). metricName("metric").treeAgg(false).byId(ids); Field deleteRequestField = DeleteRequestBuilder.class.getDeclaredField("request"); Field idsField = DeleteRequestBuilder.class.getDeclaredField("deleteIds"); deleteRequestField.setAccessible(true); idsField.setAccessible(true); EagleServiceSingleEntityQueryRequest request = (EagleServiceSingleEntityQueryRequest)deleteRequestField.get(deleteRequestBuilder); List<String> deleteIds = (List<String>)idsField.get(deleteRequestBuilder); Assert.assertEquals("query=null&startRowkey=rowkey&pageSize=2147483647&startTime=2016-11-17%2007:54:56&endTime=2016-11-18%2007:54:56&treeAgg=false&metricName=metric&filterIfMissing=true", request.getQueryParameterString()); Assert.assertEquals("[id1, id2, id3]", deleteIds.toString()); }
@Test public void testQuery() throws Exception { IEagleServiceClient client = new EagleServiceClientImpl("localhost", 9090); String site = "sandbox"; String query = "AuditService" + "[@serviceName=\"AlertDataSourceService\" AND @site=\"" + site + "\"]{*}"; SearchRequestBuilder searchRequestBuilder = client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query); Field requestField = SearchRequestBuilder.class.getDeclaredField("request"); requestField.setAccessible(true); EagleServiceSingleEntityQueryRequest request = (EagleServiceSingleEntityQueryRequest)requestField.get(searchRequestBuilder); String expected = "query=AuditService%5B%40serviceName%3D%22AlertDataSourceService%22+AND+%40site%3D%22sandbox%22%5D%7B*%7D&pageSize=2147483647&startTime=1970-01-01%2000:00:00&endTime=1970-01-11%2000:00:00&treeAgg=false"; Assert.assertEquals(expected, request.getQueryParameterString()); } }
@Test public void testQuery() throws Exception { EagleServiceConnector connector = mock(EagleServiceConnector.class); IEagleServiceClient client = new EagleServiceClientImpl(connector); String site = "sandbox"; String query = "AuditService" + "[@serviceName=\"AlertDataSourceService\" AND @site=\"" + site + "\"]{*}"; SearchRequestBuilder searchRequestBuilder = client.search().startRowkey("rowkey").startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).filterIfMissing(true).metricName("metric").query(query); Field requestField = SearchRequestBuilder.class.getDeclaredField("request"); requestField.setAccessible(true); EagleServiceSingleEntityQueryRequest request = (EagleServiceSingleEntityQueryRequest) requestField.get(searchRequestBuilder); String expected = "query=AuditService%5B%40serviceName%3D%22AlertDataSourceService%22+AND+%40site%3D%22sandbox%22%5D%7B*%7D&startRowkey=rowkey&pageSize=2147483647&startTime=1970-01-01%2000:00:00&endTime=1970-01-11%2000:00:00&treeAgg=false&metricName=metric&filterIfMissing=true"; Assert.assertEquals(expected, request.getQueryParameterString()); } }