AMBARI-20117. Log Search: add global cluster filter for every query (oleewere)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/565ae982 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/565ae982 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/565ae982 Branch: refs/heads/branch-dev-logsearch Commit: 565ae98291eda270539e9bfb4143774c80e16e89 Parents: 6cdc928 Author: oleewere <[email protected]> Authored: Fri Mar 10 14:38:37 2017 +0100 Committer: oleewere <[email protected]> Committed: Fri Mar 10 14:38:37 2017 +0100 ---------------------------------------------------------------------- .../logsearch/common/LogSearchConstants.java | 1 + .../AbstractLogRequestFacetQueryConverter.java | 2 ++ .../AbstractLogRequestQueryConverter.java | 3 ++ .../AbstractOperationHolderConverter.java | 5 +++ .../AuditBarGraphRequestQueryConverter.java | 9 ++++++ .../HostLogFilesRequestQueryConverter.java | 4 +-- ...eLogLevelDateRangeRequestQueryConverter.java | 12 ++------ .../UserConfigRequestQueryConverter.java | 3 ++ .../ambari/logsearch/doc/DocConstants.java | 1 + .../logsearch/manager/ServiceLogsManager.java | 30 +++++++++++------- .../model/request/ClustersParamDefinition.java | 32 ++++++++++++++++++++ .../logsearch/model/request/SearchRequest.java | 5 +-- .../model/request/impl/CommonSearchRequest.java | 17 ++++++++++- .../model/request/impl/HostLogFilesRequest.java | 15 +++++++++ .../logsearch/rest/ServiceLogsResource.java | 19 +++++++----- .../apache/ambari/logsearch/util/SolrUtil.java | 13 ++++++++ .../converter/AbstractRequestConverterTest.java | 1 + .../AuditBarGraphRequestQueryConverterTest.java | 3 +- ...AuditComponentRequestQueryConverterTest.java | 2 +- .../converter/AuditLogRequestConverterTest.java | 2 +- ...ditServiceLoadRequestQueryConverterTest.java | 6 ++-- ...BaseServiceLogRequestQueryConverterTest.java | 6 ++-- .../FieldAuditLogRequestQueryConverterTest.java | 6 ++-- .../ServiceLogAnyGraphRequestConverterTest.java | 7 +++-- ...ComponentLevelRequestQueryConverterTest.java | 4 +-- ...ComponentRequestFacetQueryConverterTest.java | 2 +- ...eLogLevelCountRequestQueryConverterTest.java | 6 ++-- ...LevelDateRangeRequestQueryConverterTest.java | 8 ++--- ...ceLogTreeRequestFacetQueryConverterTest.java | 4 +-- ...ceLogTruncatedRequestQueryConverterTest.java | 2 +- .../UserConfigRequestQueryConverterTest.java | 3 +- .../UserExportRequestQueryConverterTest.java | 1 + 32 files changed, 170 insertions(+), 64 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/LogSearchConstants.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/LogSearchConstants.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/LogSearchConstants.java index a260ed0..3a74918 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/LogSearchConstants.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/LogSearchConstants.java @@ -71,6 +71,7 @@ public class LogSearchConstants { public static final String REQUEST_PARAM_STACK_BY = "stackBy"; public static final String REQUEST_PARAM_UNIT = "unit"; public static final String REQUEST_PARAM_TOP = "top"; + public static final String REQUEST_PARAM_CLUSTER_NAMES = "clusters"; public static final String REQUEST_PARAM_BUNDLE_ID = "bundle_id"; public static final String REQUEST_PARAM_START_INDEX = "startIndex"; public static final String REQUEST_PARAM_PAGE = "page"; http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java index b377968..d5e807b 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java @@ -30,6 +30,7 @@ import org.springframework.data.solr.core.query.SimpleStringCriteria; import java.util.List; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.COMPONENT; import static org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_COMPONENT; @@ -56,6 +57,7 @@ public abstract class AbstractLogRequestFacetQueryConverter<SOURCE extends BaseL facetQuery.setRows(0); addComponentFilters(facetQuery, request); appendFacetQuery(facetQuery, request); + addInFilterQuery(facetQuery, CLUSTER, splitValueAsList(request.getClusters(), ",")); return facetQuery; } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java index 9b7c9d2..d9f51f4 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java @@ -22,6 +22,8 @@ import org.apache.ambari.logsearch.model.request.impl.BaseLogRequest; import org.apache.commons.lang.StringEscapeUtils; import org.springframework.data.solr.core.query.Query; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; + public abstract class AbstractLogRequestQueryConverter<REQUEST_TYPE extends BaseLogRequest, QUERY_TYPE extends Query> extends AbstractSearchRequestQueryConverter<REQUEST_TYPE, QUERY_TYPE> { @@ -30,6 +32,7 @@ public abstract class AbstractLogRequestQueryConverter<REQUEST_TYPE extends Base addComponentFilters(request, query); addIncludeFieldValues(query, StringEscapeUtils.unescapeXml(request.getIncludeQuery())); addExcludeFieldValues(query, StringEscapeUtils.unescapeXml(request.getExcludeQuery())); + addInFilterQuery(query, CLUSTER, splitValueAsList(request.getClusters(), ",")); return extendLogQuery(request, query); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java index b4c6943..c92dd14 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java @@ -27,6 +27,7 @@ import org.apache.ambari.logsearch.util.SolrUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.text.StrTokenizer; +import org.apache.solr.client.solrj.SolrQuery; import org.springframework.data.solr.core.query.Criteria; import org.springframework.data.solr.core.query.Query; import org.springframework.data.solr.core.query.SimpleFilterQuery; @@ -143,6 +144,10 @@ public abstract class AbstractOperationHolderConverter <REQUEST_TYPE, QUERY_TYPE return query; } + public SolrQuery addListFilterToSolrQuery(SolrQuery solrQuery, String fieldName, String fieldValue) { + return SolrUtil.addListFilterToSolrQuery(solrQuery, fieldName, fieldValue); + } + public abstract LogType getLogType(); private void addLogMessageFilter(Query query, String value, boolean negate) { http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java index 897bb64..06dfae9 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java @@ -20,11 +20,13 @@ package org.apache.ambari.logsearch.converter; import org.apache.ambari.logsearch.common.LogType; import org.apache.ambari.logsearch.model.request.impl.AuditBarGraphRequest; +import org.apache.solr.client.solrj.SolrQuery; import javax.inject.Named; import static org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_COMPONENT; import static org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_EVTTIME; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; @Named public class AuditBarGraphRequestQueryConverter extends AbstractDateRangeFacetQueryConverter<AuditBarGraphRequest> { @@ -43,4 +45,11 @@ public class AuditBarGraphRequestQueryConverter extends AbstractDateRangeFacetQu public LogType getLogType() { return LogType.AUDIT; } + + @Override + public SolrQuery convert(AuditBarGraphRequest request) { + SolrQuery query = super.convert(request); + addListFilterToSolrQuery(query, CLUSTER, request.getClusters()); + return query; + } } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/HostLogFilesRequestQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/HostLogFilesRequestQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/HostLogFilesRequestQueryConverter.java index d9d9121..e1e7418 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/HostLogFilesRequestQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/HostLogFilesRequestQueryConverter.java @@ -26,6 +26,7 @@ import org.springframework.data.solr.core.query.FacetOptions.FacetSort; import org.springframework.data.solr.core.query.SimpleFacetQuery; import org.springframework.data.solr.core.query.SimpleStringCriteria; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.HOST; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.COMPONENT; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.PATH; @@ -42,14 +43,13 @@ public class HostLogFilesRequestQueryConverter extends AbstractOperationHolderCo if (StringUtils.isNotEmpty(request.getComponentName())) { facetQuery.addCriteria(new SimpleStringCriteria(String.format("%s:(%s)", COMPONENT, request.getComponentName()))); } - FacetOptions facetOptions = new FacetOptions(); facetOptions.setFacetMinCount(1); facetOptions.setFacetLimit(-1); facetOptions.setFacetSort(FacetSort.COUNT); facetOptions.addFacetOnPivot(COMPONENT, PATH); facetQuery.setFacetOptions(facetOptions); - + addInFilterQuery(facetQuery, CLUSTER, splitValueAsList(request.getClusters(), ",")); facetQuery.setRows(0); return facetQuery; } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverter.java index b91a67d..46f8f85 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverter.java @@ -18,7 +18,6 @@ */ package org.apache.ambari.logsearch.converter; -import com.google.common.base.Splitter; import org.apache.ambari.logsearch.common.LogType; import org.apache.ambari.logsearch.model.request.impl.ServiceGraphRequest; import org.apache.commons.lang.StringUtils; @@ -29,6 +28,7 @@ import javax.inject.Named; import java.util.Arrays; import java.util.List; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.HOST; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.LEVEL; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.LOGTIME; @@ -49,14 +49,7 @@ public class ServiceLogLevelDateRangeRequestQueryConverter extends AbstractDateR @Override public SolrQuery convert(ServiceGraphRequest request) { SolrQuery solrQuery = super.convert(request); - if (StringUtils.isNotEmpty(request.getLevel())) { - List<String> levels = Splitter.on(",").splitToList(request.getLevel()); - if (levels.size() > 1) { - solrQuery.addFilterQuery(String.format("%s:(%s)", LEVEL, StringUtils.join(levels, " OR "))); - } else { - solrQuery.addFilterQuery(String.format("%s:%s", LEVEL, levels.get(0))); - } - } + addListFilterToSolrQuery(solrQuery, LEVEL, request.getLevel()); if (request.getHostList() != null && StringUtils.isEmpty(request.getHostName())) { List<String> hosts = request.getHostList().length() == 0 ? Arrays.asList("\\-1") : splitValueAsList(request.getHostList(), ","); if (hosts.size() > 1) { @@ -65,6 +58,7 @@ public class ServiceLogLevelDateRangeRequestQueryConverter extends AbstractDateR solrQuery.addFilterQuery(String.format("%s:%s", HOST, hosts.get(0))); } } + addListFilterToSolrQuery(solrQuery, CLUSTER, request.getClusters()); return solrQuery; } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverter.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverter.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverter.java index fc75a17..594f23b 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverter.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverter.java @@ -28,6 +28,7 @@ import javax.inject.Named; import java.util.ArrayList; import java.util.List; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; import static org.apache.ambari.logsearch.solr.SolrConstants.UserConfigConstants.FILTER_NAME; import static org.apache.ambari.logsearch.solr.SolrConstants.UserConfigConstants.ROW_TYPE; @@ -59,6 +60,8 @@ public class UserConfigRequestQueryConverter extends AbstractConverterAware<User sort.add(sortOrder); userConfigQuery.setSorts(sort); + SolrUtil.addListFilterToSolrQuery(userConfigQuery, CLUSTER, userConfigRequest.getClusters()); + return userConfigQuery; } } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java index d57e1ee..984e834 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java @@ -61,6 +61,7 @@ public class DocConstants { public class ServiceDescriptions { public static final String LEVEL_D = "filter for log level"; public static final String BUNDLE_ID = "filter for host"; + public static final String CLUSTER_D = "filter for clusters (comma separated list)"; public static final String FILE_NAME_D = "File name filter which is supported from browser url"; public static final String HOST_NAME_D = "Host name filter which is supported from browser url"; public static final String COMPONENT_NAME_D = "Component name filter which is supported from browser url"; http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java index cb1e48f..157335a 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ServiceLogsManager.java @@ -34,6 +34,7 @@ import javax.inject.Named; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import com.google.common.base.Splitter; import com.google.common.collect.Lists; import freemarker.template.Configuration; import freemarker.template.Template; @@ -98,6 +99,7 @@ import org.springframework.data.solr.core.query.SimpleFilterQuery; import org.springframework.data.solr.core.query.SimpleQuery; import org.springframework.data.solr.core.query.SimpleStringCriteria; +import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.CLUSTER; import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.ID; import static org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.SEQUENCE_ID; import static org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.COMPONENT; @@ -146,12 +148,12 @@ public class ServiceLogsManager extends ManagerBase<SolrServiceLogData, ServiceL } } - public GroupListResponse getHosts() { - return getFields(HOST, SolrHostLogData.class); + public GroupListResponse getHosts(String clusters) { + return getFields(HOST, clusters, SolrHostLogData.class); } - public GroupListResponse getComponents() { - return getFields(COMPONENT, SolrComponentTypeLogData.class); + public GroupListResponse getComponents(String clusters) { + return getFields(COMPONENT, clusters, SolrComponentTypeLogData.class); } public GraphDataListResponse getAggregatedInfo(ServiceLogAggregatedInfoRequest request) { @@ -164,16 +166,21 @@ public class ServiceLogsManager extends ManagerBase<SolrServiceLogData, ServiceL return responseDataGenerator.generateSimpleGraphResponse(response, hierarchy); } - public CountDataListResponse getFieldCount(String field) { - return responseDataGenerator.generateCountResponseByField(serviceLogsSolrDao.process(conversionService.convert(field, SimpleFacetQuery.class)), field); + public CountDataListResponse getFieldCount(String field, String clusters) { + SimpleFacetQuery facetQuery = conversionService.convert(field, SimpleFacetQuery.class); + if (StringUtils.isEmpty(clusters)) { + List<String> clusterFilterList = Splitter.on(",").splitToList(clusters); + facetQuery.addFilterQuery(new SimpleFilterQuery(new Criteria(CLUSTER).in(clusterFilterList))); + } + return responseDataGenerator.generateCountResponseByField(serviceLogsSolrDao.process(facetQuery), field); } - public CountDataListResponse getComponentsCount() { - return getFieldCount(COMPONENT); + public CountDataListResponse getComponentsCount(String clusters) { + return getFieldCount(COMPONENT, clusters); } - public CountDataListResponse getHostsCount() { - return getFieldCount(HOST); + public CountDataListResponse getHostsCount(String clusters) { + return getFieldCount(HOST, clusters); } public NodeListResponse getTreeExtension(ServiceLogHostComponentRequest request) { @@ -525,9 +532,10 @@ public class ServiceLogsManager extends ManagerBase<SolrServiceLogData, ServiceL } } - private <T extends LogData> GroupListResponse getFields(String field, Class<T> clazz) { + private <T extends LogData> GroupListResponse getFields(String field, String clusters, Class<T> clazz) { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); + SolrUtil.addListFilterToSolrQuery(solrQuery, CLUSTER, clusters); GroupListResponse collection = new GroupListResponse(); SolrUtil.setFacetField(solrQuery, field); http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/ClustersParamDefinition.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/ClustersParamDefinition.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/ClustersParamDefinition.java new file mode 100644 index 0000000..cb15b0a --- /dev/null +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/ClustersParamDefinition.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.ambari.logsearch.model.request; + +import io.swagger.annotations.ApiParam; +import org.apache.ambari.logsearch.common.LogSearchConstants; + +import static org.apache.ambari.logsearch.doc.DocConstants.ServiceDescriptions.CLUSTER_D; + +public interface ClustersParamDefinition { + + String getClusters(); + + @ApiParam(value = CLUSTER_D, name = LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) + void setClusters(String cluster); +} http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java index 0015c09..8b275b6 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/SearchRequest.java @@ -18,8 +18,5 @@ */ package org.apache.ambari.logsearch.model.request; -import org.apache.ambari.logsearch.common.Marker; - -@Marker -public interface SearchRequest { +public interface SearchRequest extends ClustersParamDefinition { } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/CommonSearchRequest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/CommonSearchRequest.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/CommonSearchRequest.java index 2617c51..b763830 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/CommonSearchRequest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/CommonSearchRequest.java @@ -24,6 +24,7 @@ import org.apache.ambari.logsearch.model.request.SearchRequest; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import javax.annotation.Nullable; import javax.ws.rs.QueryParam; public class CommonSearchRequest implements SearchRequest, CommonSearchParamDefinition { @@ -49,6 +50,10 @@ public class CommonSearchRequest implements SearchRequest, CommonSearchParamDefi @QueryParam(LogSearchConstants.REQUEST_PARAM_END_TIME) private String endTime; + @Nullable + @QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) + private String clusters; + @Override public String getStartIndex() { return startIndex; @@ -118,7 +123,17 @@ public class CommonSearchRequest implements SearchRequest, CommonSearchParamDefi public void setEndTime(String endTime) { this.endTime = endTime; } - + + @Override + public String getClusters() { + return clusters; + } + + @Override + public void setClusters(String clusters) { + this.clusters = clusters; + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/HostLogFilesRequest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/HostLogFilesRequest.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/HostLogFilesRequest.java index 1c0c068..b2149aa 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/HostLogFilesRequest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/model/request/impl/HostLogFilesRequest.java @@ -18,6 +18,7 @@ */ package org.apache.ambari.logsearch.model.request.impl; +import javax.annotation.Nullable; import javax.validation.constraints.NotNull; import javax.ws.rs.QueryParam; @@ -34,6 +35,10 @@ public class HostLogFilesRequest implements HostComponentParamDefinition, Search @QueryParam(LogSearchConstants.REQUEST_PARAM_COMPONENT_NAME) private String componentName; + @Nullable + @QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) + private String clusters; + @Override public String getHostName() { return hostName; @@ -53,4 +58,14 @@ public class HostLogFilesRequest implements HostComponentParamDefinition, Search public void setComponentName(String componentName) { this.componentName = componentName; } + + @Override + public String getClusters() { + return clusters; + } + + @Override + public void setClusters(String clusters) { + this.clusters = clusters; + } } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/rest/ServiceLogsResource.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/rest/ServiceLogsResource.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/rest/ServiceLogsResource.java index 135986f..498da69 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/rest/ServiceLogsResource.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/rest/ServiceLogsResource.java @@ -18,6 +18,7 @@ */ package org.apache.ambari.logsearch.rest; +import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Named; import javax.validation.Valid; @@ -27,11 +28,13 @@ import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.ambari.logsearch.common.LogSearchConstants; import org.apache.ambari.logsearch.common.StatusMessage; import org.apache.ambari.logsearch.model.request.impl.HostLogFilesRequest; import org.apache.ambari.logsearch.model.request.impl.ServiceAnyGraphRequest; @@ -84,16 +87,16 @@ public class ServiceLogsResource { @Path("/hosts") @Produces({"application/json"}) @ApiOperation(GET_HOSTS_OD) - public GroupListResponse getHosts() { - return serviceLogsManager.getHosts(); + public GroupListResponse getHosts(@QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) @Nullable String clusters) { + return serviceLogsManager.getHosts(clusters); } @GET @Path("/components") @Produces({"application/json"}) @ApiOperation(GET_COMPONENTS_OD) - public GroupListResponse getComponents() { - return serviceLogsManager.getComponents(); + public GroupListResponse getComponents(@QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) @Nullable String clusters) { + return serviceLogsManager.getComponents(clusters); } @GET @@ -108,16 +111,16 @@ public class ServiceLogsResource { @Path("/components/count") @Produces({"application/json"}) @ApiOperation(GET_COMPONENTS_COUNT_OD) - public CountDataListResponse getComponentsCount() { - return serviceLogsManager.getComponentsCount(); + public CountDataListResponse getComponentsCount(@QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) @Nullable String clusters) { + return serviceLogsManager.getComponentsCount(clusters); } @GET @Path("/hosts/count") @Produces({"application/json"}) @ApiOperation(GET_HOSTS_COUNT_OD) - public CountDataListResponse getHostsCount() { - return serviceLogsManager.getHostsCount(); + public CountDataListResponse getHostsCount(@QueryParam(LogSearchConstants.REQUEST_PARAM_CLUSTER_NAMES) @Nullable String clusters) { + return serviceLogsManager.getHostsCount(clusters); } @GET http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java index a3824de..973e304 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.google.common.base.Splitter; import org.apache.ambari.logsearch.common.LogSearchConstants; import org.apache.lucene.analysis.core.KeywordTokenizerFactory; import org.apache.lucene.analysis.path.PathHierarchyTokenizerFactory; @@ -178,6 +179,18 @@ public class SolrUtil { return null; } } + + public static SolrQuery addListFilterToSolrQuery(SolrQuery solrQuery, String fieldName, String fieldValue) { + if (org.apache.commons.lang.StringUtils.isNotEmpty(fieldValue)) { + List<String> clusters = Splitter.on(",").splitToList(fieldValue); + if (clusters.size() > 1) { + solrQuery.addFilterQuery(String.format("%s:(%s)", fieldName, org.apache.commons.lang.StringUtils.join(clusters, " OR "))); + } else { + solrQuery.addFilterQuery(String.format("%s:%s", fieldName, clusters.get(0))); + } + } + return solrQuery; + } private static Map<String, Object> getFieldTypeInfoMap(String fieldTypeMetaData) { HashMap<String, Object> fieldTypeMap = JSONUtil.jsonToMapObject(fieldTypeMetaData); http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AbstractRequestConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AbstractRequestConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AbstractRequestConverterTest.java index 04bd1af..0bff00e 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AbstractRequestConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AbstractRequestConverterTest.java @@ -37,6 +37,7 @@ public class AbstractRequestConverterTest { request.setStartIndex("0"); request.setPage("0"); request.setPageSize("25"); + request.setClusters("cl1"); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverterTest.java index ef12f71..b9e577c 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverterTest.java @@ -44,7 +44,8 @@ public class AuditBarGraphRequestQueryConverterTest extends AbstractRequestConve // THEN SolrQuery query = underTest.convert(request); assertEquals("?q=*%3A*&facet=true&facet.pivot=%7B%21range%3Dr1%7Drepo&facet.mincount=1&facet.limit=-1&facet.sort=index" + - "&facet.range=%7B%21tag%3Dr1%7DevtTime&f.evtTime.facet.range.start=2016-09-13T22%3A00%3A01.000Z&f.evtTime.facet.range.end=2016-09-14T22%3A00%3A01.000Z&f.evtTime.facet.range.gap=%2B1HOUR&rows=0&start=0", + "&facet.range=%7B%21tag%3Dr1%7DevtTime&f.evtTime.facet.range.start=2016-09-13T22%3A00%3A01.000Z&f.evtTime.facet.range.end=2016-09-14T22%3A00%3A01.000Z&f.evtTime.facet.range.gap=%2B1HOUR" + + "&rows=0&start=0&fq=cluster%3Acl1", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditComponentRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditComponentRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditComponentRequestQueryConverterTest.java index 0c6e975..7a1b08d 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditComponentRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditComponentRequestQueryConverterTest.java @@ -46,7 +46,7 @@ public class AuditComponentRequestQueryConverterTest extends AbstractRequestConv SimpleFacetQuery facetQuery = underTest.convert(request); SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(facetQuery); // THEN - assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B*+TO+*%5D&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.field=repo", + assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B*+TO+*%5D&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.field=repo", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java index 1aae82a..330a036 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditLogRequestConverterTest.java @@ -46,7 +46,7 @@ public class AuditLogRequestConverterTest extends AbstractRequestConverterTest { SolrQuery queryResult = new DefaultQueryParser().doConstructSolrQuery(simpleQuery); // THEN assertEquals("?q=*%3A*&start=0&rows=25&fq=repo%3A%28logsearch_app+secure_log%29&fq=-repo%3A%28hst_agent+system_message%29" + - "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&sort=evtTime+desc%2Cseq_num+desc", + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1&sort=evtTime+desc%2Cseq_num+desc", queryResult.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java index 2b629e5..cce9115 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverterTest.java @@ -43,9 +43,9 @@ public class AuditServiceLoadRequestQueryConverterTest extends AbstractRequestCo // WHEN SolrQuery solrQuery = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN - assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage&" + - "fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29&fq=-repo%3A%28hst_agent+system_message%29" + - "&facet=true&facet.mincount=1&facet.limit=10&facet.field=repo", solrQuery.toQueryString()); + assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" + + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29" + + "&fq=-repo%3A%28hst_agent+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=10&facet.field=repo", solrQuery.toQueryString()); } @Test http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java index 89f8eba..da7d79c 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/BaseServiceLogRequestQueryConverterTest.java @@ -53,9 +53,9 @@ public class BaseServiceLogRequestQueryConverterTest extends AbstractRequestConv SolrUtil.removeDoubleOrTripleEscapeFromFilters(solrQuery); // THEN assertEquals("?q=*%3A*&start=0&rows=25&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29" + - "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=host%3Alogsearch.com" + - "&fq=path%3A%5C%2Fvar%5C%2Flog%5C%2Fmyfile%5C-%5C*%5C-hdfs.log&fq=type%3Acomponent&fq=level%3A%28FATAL+ERROR+WARN+UNKNOWN%29" + - "&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&sort=logtime+desc%2Cseq_num+desc", + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1" + + "&fq=host%3Alogsearch.com&fq=path%3A%5C%2Fvar%5C%2Flog%5C%2Fmyfile%5C-%5C*%5C-hdfs.log&fq=type%3Acomponent" + + "&fq=level%3A%28FATAL+ERROR+WARN+UNKNOWN%29&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&sort=logtime+desc%2Cseq_num+desc", solrQuery.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java index 1428276..08541e1 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java @@ -45,9 +45,9 @@ public class FieldAuditLogRequestQueryConverterTest extends AbstractRequestConve // WHEN SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN - assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&" + - "fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29&" + - "fq=-repo%3A%28hst_agent+system_message%29&facet=true&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo", + assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage" + + "&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29&fq=-repo%3A%28hst_agent+system_message%29&fq=cluster%3Acl1&facet=true" + + "&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java index 5d15166..8e96b16 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogAnyGraphRequestConverterTest.java @@ -44,9 +44,10 @@ public class ServiceLogAnyGraphRequestConverterTest extends AbstractRequestConve // WHEN SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN - assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage" + - "&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29" + - "&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level", query.toQueryString()); + assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" + + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29" + + "&fq=-type%3A%28hst_agent+system_message%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level", + query.toQueryString()); } @Test http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java index 4378a64..981e239 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentLevelRequestQueryConverterTest.java @@ -47,8 +47,8 @@ public class ServiceLogComponentLevelRequestQueryConverterTest extends AbstractR // THEN assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29" + - "&fq=-type%3A%28hst_agent+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+ERROR+FATAL%29&facet=true" + - "&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Clevel", + "&fq=-type%3A%28hst_agent+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+ERROR+FATAL%29&fq=cluster%3Acl1" + + "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Clevel", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java index ce9cdcc..b72ffc5 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogComponentRequestFacetQueryConverterTest.java @@ -47,7 +47,7 @@ public class ServiceLogComponentRequestFacetQueryConverterTest extends AbstractR // THEN assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29" + - "&fq=-type%3A%28hst_agent+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+ERROR+FATAL%29" + + "&fq=-type%3A%28hst_agent+system_message%29&fq=type%3Amycomponent&fq=level%3A%28WARN+ERROR+FATAL%29&fq=cluster%3Acl1" + "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=type%2Chost%2Clevel&facet.pivot=type%2Clevel", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java index f6beb3d..69986dc 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelCountRequestQueryConverterTest.java @@ -43,9 +43,9 @@ public class ServiceLogLevelCountRequestQueryConverterTest extends AbstractReque // WHEN SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN - assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D" + - "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29" + - "&fq=-type%3A%28hst_agent+system_message%29&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level", + assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage" + + "&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29" + + "&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.field=level", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverterTest.java index b941437..1987e54 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogLevelDateRangeRequestQueryConverterTest.java @@ -44,10 +44,10 @@ public class ServiceLogLevelDateRangeRequestQueryConverterTest extends AbstractR // WHEN SolrQuery query = underTest.convert(request); // THEN - assertEquals("?q=*%3A*&facet=true&facet.pivot=%7B%21range%3Dr1%7Dlevel&facet.mincount=1&facet.limit=-1" + - "&facet.sort=index&facet.range=%7B%21tag%3Dr1%7Dlogtime&f.logtime.facet.range.start=2016-09-13T22%3A00%3A01.000Z" + - "&f.logtime.facet.range.end=2016-09-14T22%3A00%3A01.000Z&f.logtime.facet.range.gap=%2B1HOUR&rows=0&start=0&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29", - query.toQueryString()); + assertEquals("?q=*%3A*&facet=true&facet.pivot=%7B%21range%3Dr1%7Dlevel&facet.mincount=1&facet.limit=-1&facet.sort=index" + + "&facet.range=%7B%21tag%3Dr1%7Dlogtime&f.logtime.facet.range.start=2016-09-13T22%3A00%3A01.000Z" + + "&f.logtime.facet.range.end=2016-09-14T22%3A00%3A01.000Z&f.logtime.facet.range.gap=%2B1HOUR&rows=0&start=0" + + "&fq=level%3A%28WARN+OR+ERROR+OR+FATAL%29&fq=cluster%3Acl1", query.toQueryString()); } @Test http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java index a140e19..167d7d8 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTreeRequestFacetQueryConverterTest.java @@ -44,8 +44,8 @@ public class ServiceLogTreeRequestFacetQueryConverterTest extends AbstractReques SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN assertEquals("?q=*%3A*&rows=0&fq=logtime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage" + - "&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29&fq=level%3A%28WARN+ERROR+FATAL%29" + - "&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=host%2Ctype%2Clevel&facet.pivot=host%2Clevel", + "&fq=-log_message%3Amyexcludemessage&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29" + + "&fq=level%3A%28WARN+ERROR+FATAL%29&fq=cluster%3Acl1&facet=true&facet.mincount=1&facet.limit=-1&facet.sort=index&facet.pivot=host%2Ctype%2Clevel&facet.pivot=host%2Clevel", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java index 0151c6c..02d3f2e 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/ServiceLogTruncatedRequestQueryConverterTest.java @@ -47,7 +47,7 @@ public class ServiceLogTruncatedRequestQueryConverterTest extends AbstractReques SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN assertEquals("?q=*%3A*&start=0&rows=10&fq=type%3A%28logsearch_app+secure_log%29&fq=-type%3A%28hst_agent+system_message%29" + - "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&sort=logtime+desc%2Cseq_num+desc", + "&fq=log_message%3Amyincludemessage&fq=-log_message%3Amyexcludemessage&fq=cluster%3Acl1&sort=logtime+desc%2Cseq_num+desc", query.toQueryString()); } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverterTest.java index cbfab4f..66560c5 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserConfigRequestQueryConverterTest.java @@ -40,10 +40,11 @@ public class UserConfigRequestQueryConverterTest extends AbstractRequestConverte UserConfigRequest request = new UserConfigRequest(); request.setRowType("myRowType"); // TODO: validate these 3 fields @Valid on UserConfigRequest object -> not null request.setFilterName("myFilterName"); + request.setClusters("cl1,cl2"); // WHEN SolrQuery queryResult = underTest.convert(request); // THEN - assertEquals("?q=*%3A*&fq=rowtype%3AmyRowType&fq=filtername%3A*myFilterName*&start=0&rows=10&sort=filtername+asc", + assertEquals("?q=*%3A*&fq=rowtype%3AmyRowType&fq=filtername%3A*myFilterName*&fq=cluster%3A%28cl1+OR+cl2%29&start=0&rows=10&sort=filtername+asc", queryResult.toQueryString()); } } http://git-wip-us.apache.org/repos/asf/ambari/blob/565ae982/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java index 1608bbf..0ab57ab 100644 --- a/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java +++ b/ambari-logsearch/ambari-logsearch-portal/src/test/java/org/apache/ambari/logsearch/converter/UserExportRequestQueryConverterTest.java @@ -40,6 +40,7 @@ public class UserExportRequestQueryConverterTest extends AbstractRequestConverte UserExportRequest request = new UserExportRequest(); fillBaseLogRequestWithTestData(request); request.setFormat("myFormat"); + request.setClusters(null); // WHEN SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request)); // THEN
