|
@@ -26,7 +26,6 @@ import java.util.List;
|
|
import org.apache.ambari.logsearch.model.response.LogData;
|
|
import org.apache.ambari.logsearch.model.response.LogData;
|
|
import org.apache.ambari.logsearch.model.response.LogSearchResponse;
|
|
import org.apache.ambari.logsearch.model.response.LogSearchResponse;
|
|
import org.apache.ambari.logsearch.dao.SolrDaoBase;
|
|
import org.apache.ambari.logsearch.dao.SolrDaoBase;
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.apache.log4j.Logger;
|
|
import org.apache.solr.client.solrj.SolrQuery;
|
|
import org.apache.solr.client.solrj.SolrQuery;
|
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
|
@@ -45,9 +44,9 @@ public abstract class ManagerBase<LOG_DATA_TYPE extends LogData, SEARCH_RESPONSE
|
|
protected SEARCH_RESPONSE getLastPage(SolrDaoBase solrDoaBase, SimpleQuery lastPageQuery, String event) {
|
|
protected SEARCH_RESPONSE getLastPage(SolrDaoBase solrDoaBase, SimpleQuery lastPageQuery, String event) {
|
|
int maxRows = lastPageQuery.getRows();
|
|
int maxRows = lastPageQuery.getRows();
|
|
SEARCH_RESPONSE logResponse = getLogAsPaginationProvided(lastPageQuery, solrDoaBase, event);
|
|
SEARCH_RESPONSE logResponse = getLogAsPaginationProvided(lastPageQuery, solrDoaBase, event);
|
|
- Long totalLogs = solrDoaBase.count(lastPageQuery);
|
|
|
|
- int startIndex = Integer.parseInt("" + ((totalLogs / maxRows) * maxRows));
|
|
|
|
- int numberOfLogsOnLastPage = Integer.parseInt("" + (totalLogs - startIndex));
|
|
|
|
|
|
+ Long totalLogs = logResponse.getTotalCount();
|
|
|
|
+ int startIndex = (int)(totalLogs - totalLogs % maxRows);
|
|
|
|
+ int numberOfLogsOnLastPage = (int)(totalLogs - startIndex);
|
|
logResponse.setStartIndex(startIndex);
|
|
logResponse.setStartIndex(startIndex);
|
|
logResponse.setTotalCount(totalLogs);
|
|
logResponse.setTotalCount(totalLogs);
|
|
logResponse.setPageSize(maxRows);
|
|
logResponse.setPageSize(maxRows);
|
|
@@ -75,11 +74,11 @@ public abstract class ManagerBase<LOG_DATA_TYPE extends LogData, SEARCH_RESPONSE
|
|
QueryResponse response = solrDaoBase.process(solrQuery, event);
|
|
QueryResponse response = solrDaoBase.process(solrQuery, event);
|
|
SEARCH_RESPONSE logResponse = createLogSearchResponse();
|
|
SEARCH_RESPONSE logResponse = createLogSearchResponse();
|
|
SolrDocumentList docList = response.getResults();
|
|
SolrDocumentList docList = response.getResults();
|
|
|
|
+ logResponse.setTotalCount(docList.getNumFound());
|
|
List<LOG_DATA_TYPE> serviceLogDataList = convertToSolrBeans(response);
|
|
List<LOG_DATA_TYPE> serviceLogDataList = convertToSolrBeans(response);
|
|
- if (CollectionUtils.isNotEmpty(docList)) {
|
|
|
|
|
|
+ if (!docList.isEmpty()) {
|
|
logResponse.setLogList(serviceLogDataList);
|
|
logResponse.setLogList(serviceLogDataList);
|
|
logResponse.setStartIndex((int) docList.getStart());
|
|
logResponse.setStartIndex((int) docList.getStart());
|
|
- logResponse.setTotalCount(docList.getNumFound());
|
|
|
|
Integer rowNumber = solrQuery.getRows();
|
|
Integer rowNumber = solrQuery.getRows();
|
|
if (rowNumber == null) {
|
|
if (rowNumber == null) {
|
|
logger.error("No RowNumber was set in solrQuery");
|
|
logger.error("No RowNumber was set in solrQuery");
|