http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/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
deleted file mode 100644
index 984e834..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/doc/DocConstants.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.doc;
-
-public class DocConstants {
-
-  public class CommonDescriptions {
-    public static final String X_AXIS_D = "The column which can be value for 
x-axis in graph formation";
-    public static final String Y_AXIS_D = "The column which can be value for 
y-axis in graph formation";
-    public static final String STACK_BY_D = "The graph property for stacking 
the plot";
-    public static final String EXCLUDE_QUERY_D = "Exclude the values in query 
result e.g.: [{message:*timeout*}]";
-    public static final String INCLUDE_QUERY_D = "Include the values in query 
result e.g.: [{message:*exception*}]";
-    public static final String MUST_BE_D = "Include the components, comma 
separated values";
-    public static final String MUST_NOT_D = "Exclude the components, comma 
separated values";
-    public static final String FROM_D = "Date range param, start date";
-    public static final String TO_D = "Date range param, end date";
-    public static final String START_TIME_D = "Date range param which is 
suportted from browser url";
-    public static final String END_TIME_D = "Date range param which is 
supported from browser url";
-    public static final String START_INDEX_D = "Start index of the queried 
result";
-    public static final String SORT_TYPE_D = "Type of sorting (osc, desc)";
-    public static final String SORT_BY_D = "Sorting the results based on this 
field";
-    public static final String PAGE_D = "Number of pages for the results";
-    public static final String PAGE_SIZE_D = "Page size of the results";
-    public static final String UNIT_D = "Aggregate the data with time gap as 
unit i.e 1MINUTE";
-    public static final String QUERY_D = "not required";
-    public static final String I_MESSAGE_D = "Include query which will query 
against message column";
-    public static final String E_MESSAGE_D = "Exclude query which will query 
against message column";
-    public static final String IS_LAST_PAGE_D = "Show last page (true/false)";
-    public static final String FIELD_D = "Get values for particular field";
-    public static final String FORMAT_D = "File Export format, can be 'txt' or 
'json'";
-    public static final String TOP = "Number that defines how many top element 
you would like to see.";
-  }
-
-  public class AuditOperationDescriptions {
-    public static final String GET_AUDIT_SCHEMA_FIELD_LIST_OD = "Get list of 
schema fields in audit collection";
-    public static final String GET_AUDIT_LOGS_OD = "Get the list of logs 
details";
-    public static final String PURGE_AUDIT_LOGS_OD = "Purge service logs based 
by criteria";
-    public static final String GET_AUDIT_COMPONENTS_OD = "Get the list of 
audit components currently active or having data in Solr";
-    public static final String GET_AUDIT_LINE_GRAPH_DATA_OD = "Get the data 
required for line graph";
-    public static final String GET_TOP_AUDIT_RESOURCES_OD = "Get the top audit 
resource count (grouped by type)";
-    public static final String EXPORT_USER_TALBE_TO_TEXT_FILE_OD = "Export the 
tables shown on Audit tab";
-    public static final String GET_SERVICE_LOAD_OD = "The graph for showing 
the top users accessing the services";
-  }
-
-  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";
-    public static final String FIND_D = "Finding particular text on subsequent 
pages in case of table view with pagination";
-    public static final String ID_D = "Log id value for traversing to that 
particular record with that log id";
-    public static final String KEYWORD_TYPE_D = "Serching the find param value 
in previous or next in paginated table";
-    public static final String TOKEN_D = "unique number used along with 
FIND_D. The request can be canceled using this token";
-    public static final String SOURCE_LOG_ID_D = "fetch the record set having 
that log Id";
-    public static final String NUMBER_ROWS_D = "Getting rows after particular 
log entry - used in 'Preview' option";
-    public static final String SCROLL_TYPE_D = "Used in 'Preview' feature for 
getting records 'after' or 'before'";
-    public static final String UTC_OFFSET_D = "timezone offset";
-    public static final String HOST_PARAMS_D = "filter for hosts";
-  }
-
-  public class ServiceOperationDescriptions {
-    public static final String SEARCH_LOGS_OD = "Searching logs entry";
-    public static final String PURGE_LOGS_OD = "Purge service logs based by 
criteria";
-    public static final String GET_HOSTS_OD = "Get the list of service hosts 
currently active or having data in Solr";
-    public static final String GET_COMPONENTS_OD = "Get the list of service 
components currently active or having data in Solr";
-    public static final String GET_AGGREGATED_INFO_OD = "not required";
-    public static final String GET_LOG_LEVELS_COUNT_OD = "Get Log levels with 
their counts";
-    public static final String GET_COMPONENTS_COUNT_OD = "Get components with 
their counts";
-    public static final String GET_HOSTS_COUNT_OD = "Get hosts with their 
counts";
-    public static final String GET_TREE_EXTENSION_OD = "Get host and 
compoenets hierarchy with log counts";
-    public static final String GET_HISTOGRAM_DATA_OD = "Get data for 
histogram";
-    public static final String EXPORT_TO_TEXT_FILE_OD = "Export the table data 
in file";
-    public static final String GET_COMPONENT_LIST_WITH_LEVEL_COUNT_OD = "Get 
components with log level distribution count";
-    public static final String GET_ANY_GRAPH_COUNT_DATA_OD = "Get the data 
generic enough to use for graph plots (yAzis is always count)";
-    public static final String GET_HOST_LIST_BY_COMPONENT_OD = "Get host list 
of components";
-    public static final String GET_SERVICE_LOGS_SCHEMA_FIELD_NAME_OD = "Get 
service logs schema fields";
-    public static final String GET_HADOOP_SERVICE_CONFIG_JSON_OD = "Get the 
json having meta data of services supported by logsearch";
-    public static final String GET_AFTER_BEFORE_LOGS_OD = "Preview feature 
data";
-    public static final String REQUEST_CANCEL = "Cancel an ongoing solr 
request";
-    public static final String GET_HOST_LOGFILES_OD = "Get the log files of 
the components of a host";
-  }
-
-  public class PublicOperationDescriptions {
-    public static final String OBTAIN_GENERAL_CONFIG_OD = "Obtain general 
config";
-  }
-
-  public class UserConfigDescriptions {
-    public static final String FILTER_NAME_D = "The saved query as filter in 
Solr, search is sopprted by this param";
-    public static final String ROW_TYPE_D = "Row type is solr to identify as 
filter query";
-  }
-
-  public class UserConfigOperationDescriptions {
-    public static final String SAVE_USER_CONFIG_OD = "Save user config";
-    public static final String DELETE_USER_CONFIG_OD = "Delete user config";
-    public static final String GET_USER_CONFIG_OD = "Get user config";
-    public static final String GET_USER_FILTER_OD = "Get user filter";
-    public static final String UPDATE_USER_FILTER_OD = "Update user filter";
-    public static final String GET_ALL_USER_NAMES_OD = "Get all user names";
-  }
-
-  public class StatusOperationDescriptions {
-    public static final String STATUS_OD = "Get statuses for collections (not 
health state - show true if something already done)";
-    public static final String SERVICE_LOGS_STATUS_OD = "Get statuses for 
service log collection (not health state - show true if something already 
done)";
-    public static final String AUDIT_LOGS_STATUS_OD = "Get statuses for 
collections (not health state - show true if something already done)";
-    public static final String USER_CONFIG_STATUS_OD = "Get statuses for 
userconfig collection (not health state - show true if something already done)";
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
deleted file mode 100644
index fde176f..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ACLHandler.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.SolrZooKeeper;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.data.ACL;
-import org.apache.zookeeper.data.Stat;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-
-public class ACLHandler implements SolrZkRequestHandler<Boolean> {
-
-  private static final Logger LOG = LoggerFactory.getLogger(ACLHandler.class);
-
-  @Override
-  public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig) throws Exception {
-    List<ACL> aclsToSetList = solrPropsConfig.getZkAcls();
-    if (CollectionUtils.isNotEmpty(aclsToSetList)) {
-      LOG.info("Setting acls for '{}' collection...", 
solrPropsConfig.getCollection());
-      SolrZkClient zkClient = solrClient.getZkStateReader().getZkClient();
-      SolrZooKeeper solrZooKeeper = zkClient.getSolrZooKeeper();
-      String collectionPath = String.format("/collections/%s", 
solrPropsConfig.getCollection());
-      String configsPath = String.format("/configs/%s", 
solrPropsConfig.getConfigName());
-      List<ACL> collectionAcls = solrZooKeeper.getACL(collectionPath, new 
Stat());
-      if (isRefreshAclsNeeded(aclsToSetList, collectionAcls)) {
-        LOG.info("Acls differs for {}, update acls.", collectionPath);
-        setRecursivelyOn(solrZooKeeper, collectionPath, aclsToSetList);
-      }
-      List<ACL> configsAcls = solrZooKeeper.getACL(configsPath, new Stat());
-      if (isRefreshAclsNeeded(aclsToSetList, configsAcls)) {
-        LOG.info("Acls differs for {}, update acls.", configsPath);
-        setRecursivelyOn(solrZooKeeper, configsPath, aclsToSetList);
-      }
-    }
-    return true;
-  }
-
-  private boolean isRefreshAclsNeeded(List<ACL> acls, List<ACL> newAcls) {
-    boolean result = false;
-    if (acls != null) {
-      if (acls.size() != newAcls.size()) {
-        return true;
-      }
-      result = aclDiffers(acls, newAcls);
-      if (!result) {
-        result = aclDiffers(newAcls, acls);
-      }
-    }
-    return result;
-  }
-
-  private boolean aclDiffers(List<ACL> aclList1, List<ACL> aclList2) {
-    for (ACL acl : aclList1) {
-      for (ACL newAcl : aclList2) {
-        if (acl.getId() != null && 
acl.getId().getId().equals(newAcl.getId().getId())
-          && acl.getPerms() != newAcl.getPerms()) {
-          LOG.info("ACL for '{}' differs: '{}' on znode, should be '{}'",
-            acl.getId().getId(), acl.getPerms(), newAcl.getPerms());
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-
-  private void setRecursivelyOn(SolrZooKeeper solrZooKeeper, String node, 
List<ACL> acls)
-    throws KeeperException, InterruptedException {
-    solrZooKeeper.setACL(node, acls, -1);
-    for (String child : solrZooKeeper.getChildren(node, null)) {
-      String path = node.endsWith("/") ? node + child : node + "/" + child;
-      setRecursivelyOn(solrZooKeeper, path, acls);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
deleted file mode 100644
index 752a1e1..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/CreateCollectionHandler.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.commons.lang.StringUtils;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
-import org.apache.solr.client.solrj.request.CollectionAdminRequest;
-import org.apache.solr.client.solrj.response.CollectionAdminResponse;
-import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkStateReader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.core.Response;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.CommonLogConstants.ROUTER_FIELD;
-
-public class CreateCollectionHandler implements SolrZkRequestHandler<Boolean> {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(CreateCollectionHandler.class);
-
-  private static final String MODIFY_COLLECTION_QUERY = 
"/admin/collections?action=MODIFYCOLLECTION&collection=%s&%s=%d";
-  private static final String MAX_SHARDS_PER_NODE = "maxShardsPerNode";
-
-  private List<String> allCollectionList;
-
-  public CreateCollectionHandler(List<String> allCollectionList) {
-    this.allCollectionList = allCollectionList;
-  }
-
-  @Override
-  public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig) throws Exception {
-    boolean result;
-    if (solrPropsConfig.getSplitInterval().equalsIgnoreCase("none")) {
-      result = createCollection(solrClient, solrPropsConfig, 
this.allCollectionList);
-    } else {
-      result = setupCollectionsWithImplicitRouting(solrClient, 
solrPropsConfig, this.allCollectionList);
-    }
-    return result;
-  }
-
-  private boolean setupCollectionsWithImplicitRouting(CloudSolrClient 
solrClient, SolrPropsConfig solrPropsConfig, List<String> allCollectionList)
-    throws Exception {
-    LOG.info("setupCollectionsWithImplicitRouting(). collectionName=" + 
solrPropsConfig.getCollection()
-      + ", numberOfShards=" + solrPropsConfig.getNumberOfShards());
-
-    // Default is true, because if the collection and shard is already there, 
then it will return true
-    boolean returnValue = true;
-
-    List<String> shardsList = new ArrayList<String>();
-    for (int i = 0; i < solrPropsConfig.getNumberOfShards(); i++) {
-      shardsList.add("shard" + i);
-    }
-    String shardsListStr = StringUtils.join(shardsList, ',');
-
-    // Check if collection is already in zookeeper
-    if (!allCollectionList.contains(solrPropsConfig.getCollection())) {
-      LOG.info("Creating collection " + solrPropsConfig.getCollection() + ", 
shardsList=" + shardsList);
-      CollectionAdminRequest.Create collectionCreateRequest = new 
CollectionAdminRequest.Create();
-      
collectionCreateRequest.setCollectionName(solrPropsConfig.getCollection());
-      collectionCreateRequest.setRouterName("implicit");
-      collectionCreateRequest.setShards(shardsListStr);
-      
collectionCreateRequest.setNumShards(solrPropsConfig.getNumberOfShards());
-      
collectionCreateRequest.setReplicationFactor(solrPropsConfig.getReplicationFactor());
-      collectionCreateRequest.setConfigName(solrPropsConfig.getConfigName());
-      collectionCreateRequest.setRouterField(ROUTER_FIELD);
-      
collectionCreateRequest.setMaxShardsPerNode(solrPropsConfig.getReplicationFactor()
 * solrPropsConfig.getNumberOfShards());
-
-      CollectionAdminResponse createResponse = 
collectionCreateRequest.process(solrClient);
-      if (createResponse.getStatus() != 0) {
-        returnValue = false;
-        LOG.error("Error creating collection. collectionName=" + 
solrPropsConfig.getCollection()
-          + ", shardsList=" + shardsList +", response=" + createResponse);
-      } else {
-        LOG.info("Created collection " + solrPropsConfig.getCollection() + ", 
shardsList=" + shardsList);
-      }
-    } else {
-      LOG.info("Collection " + solrPropsConfig.getCollection() + " is already 
there. Will check whether it has the required shards");
-      Collection<Slice> slices = getSlices(solrClient, solrPropsConfig);
-      Collection<String> existingShards = getShards(slices, solrPropsConfig);
-      if (existingShards.size() < shardsList.size()) {
-        try {
-          updateMaximumNumberOfShardsPerCore(slices, solrPropsConfig);
-        } catch (Throwable t) {
-          returnValue = false;
-          LOG.error(String.format("Exception during updating collection (%s)", 
t));
-        }
-      }
-      for (String shard : shardsList) {
-        if (!existingShards.contains(shard)) {
-          try {
-            LOG.info("Going to add Shard " + shard + " to collection " + 
solrPropsConfig.getCollection());
-            CollectionAdminRequest.CreateShard createShardRequest = new 
CollectionAdminRequest.CreateShard();
-            
createShardRequest.setCollectionName(solrPropsConfig.getCollection());
-            createShardRequest.setShardName(shard);
-            CollectionAdminResponse response = 
createShardRequest.process(solrClient);
-            if (response.getStatus() != 0) {
-              LOG.error("Error creating shard " + shard + " in collection " + 
solrPropsConfig.getCollection() + ", response=" + response);
-              returnValue = false;
-              break;
-            } else {
-              LOG.info("Successfully created shard " + shard + " in collection 
" + solrPropsConfig.getCollection());
-            }
-          } catch (Throwable t) {
-            LOG.error("Error creating shard " + shard + " in collection " + 
solrPropsConfig.getCollection(), t);
-            returnValue = false;
-            break;
-          }
-        }
-      }
-    }
-    return returnValue;
-  }
-
-  private boolean createCollection(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig, List<String> allCollectionList) throws SolrServerException, 
IOException {
-
-    if (allCollectionList.contains(solrPropsConfig.getCollection())) {
-      LOG.info("Collection " + solrPropsConfig.getCollection() + " is already 
there. Won't create it");
-      return true;
-    }
-
-    LOG.info("Creating collection " + solrPropsConfig.getCollection() + ", 
numberOfShards=" + solrPropsConfig.getNumberOfShards() +
-      ", replicationFactor=" + solrPropsConfig.getReplicationFactor());
-
-    CollectionAdminRequest.Create collectionCreateRequest = new 
CollectionAdminRequest.Create();
-    collectionCreateRequest.setCollectionName(solrPropsConfig.getCollection());
-    collectionCreateRequest.setNumShards(solrPropsConfig.getNumberOfShards());
-    
collectionCreateRequest.setReplicationFactor(solrPropsConfig.getReplicationFactor());
-    collectionCreateRequest.setConfigName(solrPropsConfig.getConfigName());
-    
collectionCreateRequest.setMaxShardsPerNode(calculateMaxShardsPerNode(solrPropsConfig));
-    CollectionAdminResponse createResponse = 
collectionCreateRequest.process(solrClient);
-    if (createResponse.getStatus() != 0) {
-      LOG.error("Error creating collection. collectionName=" + 
solrPropsConfig.getCollection() + ", response=" + createResponse);
-      return false;
-    } else {
-      LOG.info("Created collection " + solrPropsConfig.getCollection() + ", 
numberOfShards=" + solrPropsConfig.getNumberOfShards() +
-        ", replicationFactor=" + solrPropsConfig.getReplicationFactor());
-      return true;
-    }
-  }
-
-  private void updateMaximumNumberOfShardsPerCore(Collection<Slice> slices, 
SolrPropsConfig solrPropsConfig) throws IOException {
-    String baseUrl = getRandomBaseUrl(slices);
-    if (baseUrl != null) {
-      CloseableHttpClient httpClient = HttpClientUtil.createClient(null);
-      HttpGet request = new HttpGet(baseUrl + 
String.format(MODIFY_COLLECTION_QUERY,
-        solrPropsConfig.getCollection(), MAX_SHARDS_PER_NODE, 
calculateMaxShardsPerNode(solrPropsConfig)));
-      HttpResponse response = httpClient.execute(request);
-      if (response.getStatusLine().getStatusCode() != 
Response.Status.OK.getStatusCode()) {
-        throw new IllegalStateException(String.format("Cannot update 
collection (%s) - increase max number of nodes per core", 
solrPropsConfig.getCollection()));
-      }
-    } else {
-      throw new IllegalStateException(String.format("Cannot get any core url 
for updating collection (%s)", solrPropsConfig.getCollection()));
-    }
-  }
-
-  private Collection<Slice> getSlices(CloudSolrClient solrClient, 
SolrPropsConfig solrPropsConfig) {
-    ZkStateReader reader = solrClient.getZkStateReader();
-    return reader.getClusterState().getSlices(solrPropsConfig.getCollection());
-  }
-
-  private Collection<String> getShards(Collection<Slice> slices, 
SolrPropsConfig solrPropsConfig) {
-    Collection<String> list = new HashSet<>();
-    for (Slice slice : slices) {
-      for (Replica replica : slice.getReplicas()) {
-        LOG.info("colName=" + solrPropsConfig.getCollection() + ", 
slice.name=" + slice.getName() + ", slice.state=" + slice.getState() +
-          ", replica.core=" + replica.getStr("core") + ", replica.state=" + 
replica.getStr("state"));
-        list.add(slice.getName());
-      }
-    }
-    return list;
-  }
-
-  private String getRandomBaseUrl(Collection<Slice> slices) {
-    String coreUrl = null;
-    if (slices != null) {
-      for (Slice slice : slices) {
-        if (!slice.getReplicas().isEmpty()) {
-          Replica replica = slice.getReplicas().iterator().next();
-          coreUrl = replica.getStr("base_url");
-          if (coreUrl != null) {
-            break;
-          }
-        }
-      }
-    }
-    return coreUrl;
-  }
-
-  private Integer calculateMaxShardsPerNode(SolrPropsConfig solrPropsConfig) {
-    return solrPropsConfig.getReplicationFactor() * 
solrPropsConfig.getNumberOfShards();
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
deleted file mode 100644
index 124ce40..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ListCollectionHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.request.CollectionAdminRequest;
-import org.apache.solr.client.solrj.response.CollectionAdminResponse;
-import org.apache.solr.common.SolrException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ListCollectionHandler implements 
SolrZkRequestHandler<List<String>> {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(ListCollectionHandler.class);
-
-  @Override
-  public List<String> handle(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig) throws Exception {
-    try {
-      CollectionAdminRequest.List colListReq = new 
CollectionAdminRequest.List();
-      CollectionAdminResponse response = colListReq.process(solrClient);
-      if (response.getStatus() != 0) {
-        LOG.error("Error getting collection list from solr.  response=" + 
response);
-        return null;
-      }
-      return (List<String>) response.getResponse().get("collections");
-    } catch (SolrException e) {
-      LOG.error("getCollections() operation failed", e);
-      return new ArrayList<>();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
deleted file mode 100644
index 52f3366..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/ReloadCollectionHandler.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.request.CollectionAdminRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ReloadCollectionHandler implements SolrZkRequestHandler<Boolean> {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(ReloadCollectionHandler.class);
-
-  @Override
-  public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig) throws Exception {
-    boolean result = false;
-    try {
-      LOG.info("Reload collection - '{}'", solrPropsConfig.getCollection());
-      CollectionAdminRequest.Reload reloadCollectionRequest = new 
CollectionAdminRequest.Reload();
-      
reloadCollectionRequest.setCollectionName(solrPropsConfig.getCollection());
-      reloadCollectionRequest.process(solrClient);
-      result = true;
-    } catch (Exception e) {
-      LOG.error(String.format("Reload collection ('%s') failed.", 
solrPropsConfig.getCollection()), e);
-    }
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/SolrZkRequestHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/SolrZkRequestHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/SolrZkRequestHandler.java
deleted file mode 100644
index 85ae6cb..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/SolrZkRequestHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-
-interface SolrZkRequestHandler<T> {
-  T handle(CloudSolrClient solrClient, SolrPropsConfig solrPropsConfig) throws 
Exception;
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
deleted file mode 100644
index 27a6705..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/handler/UploadConfigurationHandler.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * 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.handler;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.commons.configuration.XMLConfiguration;
-import org.apache.commons.io.FileUtils;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.ZkConfigManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.FileSystems;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-public class UploadConfigurationHandler implements 
SolrZkRequestHandler<Boolean> {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(UploadConfigurationHandler.class);
-
-  private static final String SCHEMA_FILE = "managed-schema";
-  private static final String SOLR_CONFIG_FILE = "solrconfig.xml";
-  private static final String FIELD_NAME_PATH = "field[@name]";
-  private static final String FIELD_TYPE_NAME_PATH = "fieldType[@name]";
-  private static final String DYNAMIC_FIELD_NAME_PATH = "dynamicField[@name]";
-
-  private File configSetFolder;
-
-  public UploadConfigurationHandler(File configSetFolder) {
-    this.configSetFolder = configSetFolder;
-  }
-
-  @Override
-  public Boolean handle(CloudSolrClient solrClient, SolrPropsConfig 
solrPropsConfig) throws Exception {
-    boolean reloadCollectionNeeded = false;
-    String separator = FileSystems.getDefault().getSeparator();
-    String downloadFolderLocation = String.format("%s%s%s%s%s", 
System.getProperty("java.io.tmpdir"), separator,
-      UUID.randomUUID().toString(), separator, 
solrPropsConfig.getConfigName());
-    solrClient.connect();
-    SolrZkClient zkClient = solrClient.getZkStateReader().getZkClient();
-    File tmpDir = new File(downloadFolderLocation);
-    try {
-      ZkConfigManager zkConfigManager = new ZkConfigManager(zkClient);
-      boolean configExists = 
zkConfigManager.configExists(solrPropsConfig.getConfigName());
-      if (configExists) {
-        LOG.info("Config set exists for '{}' collection. Refreshing it if 
needed...", solrPropsConfig.getCollection());
-        if (!tmpDir.mkdirs()) {
-          LOG.error("Cannot create directories for '{}'", 
tmpDir.getAbsolutePath());
-        }
-        zkConfigManager.downloadConfigDir(solrPropsConfig.getConfigName(), 
Paths.get(downloadFolderLocation));
-        File[] listOfFiles = configSetFolder.listFiles();
-        if (listOfFiles != null) {
-          for (File file : listOfFiles) {
-            if (file.getName().equals(SOLR_CONFIG_FILE) && 
!FileUtils.contentEquals(file, new File(String.format("%s%s%s", 
downloadFolderLocation, separator, file.getName())))) {
-              LOG.info("Solr config file differs ('{}'), upload config set to 
zookeeper", file.getName());
-              zkConfigManager.uploadConfigDir(configSetFolder.toPath(), 
solrPropsConfig.getConfigName());
-              reloadCollectionNeeded = true;
-              break;
-            }
-            if (file.getName().equals(SCHEMA_FILE) && 
localSchemaFileHasMoreFields(file, new File(String.format("%s%s%s", 
downloadFolderLocation, separator, file.getName())))) {
-              LOG.info("Solr schema file differs ('{}'), upload config set to 
zookeeper", file.getName());
-              zkConfigManager.uploadConfigDir(configSetFolder.toPath(), 
solrPropsConfig.getConfigName());
-              reloadCollectionNeeded = true;
-              break;
-            }
-          }
-        }
-      } else {
-        LOG.info("Config set does not exist for '{}' collection. Uploading it 
to zookeeper...", solrPropsConfig.getCollection());
-        File[] listOfFiles = configSetFolder.listFiles();
-        if (listOfFiles != null) {
-          zkConfigManager.uploadConfigDir(configSetFolder.toPath(), 
solrPropsConfig.getConfigName());
-        }
-      }
-    } catch (Exception e) {
-      throw new RuntimeException(String.format("Cannot upload configurations 
to zk. (collection: %s, config set folder: %s)",
-        solrPropsConfig.getCollection(), 
solrPropsConfig.getConfigSetFolder()), e);
-    } finally {
-      if (tmpDir.exists()) {
-        try {
-          FileUtils.deleteDirectory(tmpDir);
-        } catch (IOException e){
-          LOG.error("Cannot delete temp directory.", e);
-        }
-      }
-    }
-    return reloadCollectionNeeded;
-  }
-
-  private boolean localSchemaFileHasMoreFields(File localFile, File 
downloadedFile) {
-    try {
-      XMLConfiguration localFileXml = new XMLConfiguration(localFile);
-      XMLConfiguration downloadedFileXml = new 
XMLConfiguration(downloadedFile);
-
-      List<String> localFieldNames = (ArrayList<String>) 
localFileXml.getProperty(FIELD_NAME_PATH);
-      List<String> localFieldTypes = (ArrayList<String>) 
localFileXml.getProperty(FIELD_TYPE_NAME_PATH);
-      List<String> localDynamicFields = (ArrayList<String>) 
localFileXml.getProperty(DYNAMIC_FIELD_NAME_PATH);
-
-      List<String> fieldNames = (ArrayList<String>) 
downloadedFileXml.getProperty(FIELD_NAME_PATH);
-      List<String> fieldTypes = (ArrayList<String>) 
downloadedFileXml.getProperty(FIELD_TYPE_NAME_PATH);
-      List<String> dynamicFields = (ArrayList<String>) 
downloadedFileXml.getProperty(DYNAMIC_FIELD_NAME_PATH);
-
-      boolean fieldNameHasDiff = hasMoreFields(localFieldNames, fieldNames, 
FIELD_NAME_PATH);
-      boolean fieldTypeHasDiff = hasMoreFields(localFieldTypes, fieldTypes, 
FIELD_TYPE_NAME_PATH);
-      boolean dynamicFieldNameHasDiff = hasMoreFields(localDynamicFields, 
dynamicFields, DYNAMIC_FIELD_NAME_PATH);
-
-      return fieldNameHasDiff || fieldTypeHasDiff || dynamicFieldNameHasDiff;
-    } catch (Exception e) {
-      throw new RuntimeException("Exception during schema xml parsing.", e);
-    }
-  }
-
-  private boolean hasMoreFields(List<String> localFields, List<String> fields, 
String tag) {
-    boolean result = false;
-    if (localFields != null) {
-      if (fields == null) {
-        result = true;
-      } else {
-        localFields.removeAll(fields);
-        if (!localFields.isEmpty()) {
-          result = true;
-        }
-      }
-    }
-    if (result) {
-      LOG.info("Found new fields or field types in local schema file.: {} 
({})", localFields.toString(), tag);
-    }
-    return result;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
deleted file mode 100644
index 49465d5..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * 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.manager;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import freemarker.template.Configuration;
-import freemarker.template.Template;
-import freemarker.template.TemplateException;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.common.MessageEnums;
-import org.apache.ambari.logsearch.common.StatusMessage;
-import org.apache.ambari.logsearch.dao.AuditSolrDao;
-import org.apache.ambari.logsearch.dao.SolrSchemaFieldDao;
-import org.apache.ambari.logsearch.model.request.impl.AuditBarGraphRequest;
-import org.apache.ambari.logsearch.model.request.impl.AuditComponentRequest;
-import org.apache.ambari.logsearch.model.request.impl.AuditLogRequest;
-import org.apache.ambari.logsearch.model.request.impl.AuditServiceLoadRequest;
-import org.apache.ambari.logsearch.model.request.impl.FieldAuditLogRequest;
-import org.apache.ambari.logsearch.model.request.impl.UserExportRequest;
-import org.apache.ambari.logsearch.model.response.AuditLogResponse;
-import org.apache.ambari.logsearch.model.response.BarGraphDataListResponse;
-import org.apache.ambari.logsearch.model.response.GroupListResponse;
-import org.apache.ambari.logsearch.model.response.LogData;
-import org.apache.ambari.logsearch.solr.ResponseDataGenerator;
-import org.apache.ambari.logsearch.solr.SolrConstants;
-import org.apache.ambari.logsearch.solr.model.SolrAuditLogData;
-import org.apache.ambari.logsearch.solr.model.SolrComponentTypeLogData;
-import org.apache.ambari.logsearch.util.DownloadUtil;
-import org.apache.ambari.logsearch.util.RESTErrorUtil;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.ambari.logsearch.common.VResponse;
-import org.apache.log4j.Logger;
-import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.response.FacetField.Count;
-import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.client.solrj.response.UpdateResponse;
-import org.springframework.core.convert.ConversionService;
-import org.springframework.data.solr.core.query.SimpleFacetQuery;
-import org.springframework.data.solr.core.query.SimpleQuery;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_COMPONENT;
-
-@Named
-public class AuditLogsManager extends ManagerBase<SolrAuditLogData, 
AuditLogResponse> {
-  private static final Logger logger = 
Logger.getLogger(AuditLogsManager.class);
-
-  private static final String AUDIT_LOG_TEMPLATE = "audit_log_txt.ftl";
-
-  @Inject
-  private AuditSolrDao auditSolrDao;
-  @Inject
-  private ResponseDataGenerator responseDataGenerator;
-  @Inject
-  private ConversionService conversionService;
-  @Inject
-  private Configuration freemarkerConfiguration;
-  @Inject
-  private SolrSchemaFieldDao solrSchemaFieldDao;
-
-  public AuditLogResponse getLogs(AuditLogRequest request) {
-    String event = "/audit/logs";
-    SimpleQuery solrQuery = conversionService.convert(request, 
SimpleQuery.class);
-    if (request.isLastPage()) {
-      return getLastPage(auditSolrDao, solrQuery, event);
-    } else {
-      AuditLogResponse response = getLogAsPaginationProvided(solrQuery, 
auditSolrDao, event);
-      if (response.getTotalCount() > 0 && 
CollectionUtils.isEmpty(response.getLogList())) {
-        request.setLastPage(true);
-        solrQuery = conversionService.convert(request, SimpleQuery.class);
-        AuditLogResponse lastResponse = getLastPage(auditSolrDao, solrQuery, 
event);
-        if (lastResponse != null){
-          response = lastResponse;
-        }
-      }
-      return response;
-    }
-  }
-
-  private List<LogData> getComponents(AuditComponentRequest request) {
-    SimpleFacetQuery facetQuery = conversionService.convert(request, 
SimpleFacetQuery.class);
-    List<LogData> docList = new ArrayList<>();
-    QueryResponse queryResponse = auditSolrDao.process(facetQuery);
-    List<Count> componentsCount = 
responseDataGenerator.generateCount(queryResponse);
-
-    for (Count component : componentsCount) {
-      SolrComponentTypeLogData logData = new SolrComponentTypeLogData();
-      logData.setType(component.getName());
-      docList.add(logData);
-    }
-    return docList;
-  }
-
-  public GroupListResponse getAuditComponents(AuditComponentRequest request) {
-    GroupListResponse componentResponse = new GroupListResponse();
-    List<LogData> docList = getComponents(request);
-    componentResponse.setGroupList(docList);
-    return componentResponse;
-  }
-
-  public BarGraphDataListResponse getAuditBarGraphData(AuditBarGraphRequest 
request) {
-    SolrQuery solrQuery = conversionService.convert(request, SolrQuery.class);
-    QueryResponse response = auditSolrDao.process(solrQuery);
-    return 
responseDataGenerator.generateBarGraphDataResponseWithRanges(response, 
SolrConstants.AuditLogConstants.AUDIT_COMPONENT, true);
-  }
-
-  public BarGraphDataListResponse topResources(FieldAuditLogRequest request) {
-    SimpleFacetQuery facetQuery = conversionService.convert(request, 
SimpleFacetQuery.class);
-    QueryResponse queryResponse = auditSolrDao.process(facetQuery);
-    return 
responseDataGenerator.generateSecondLevelBarGraphDataResponse(queryResponse, 0);
-  }
-
-  public String getAuditLogsSchemaFieldsName() {
-    return 
convertObjToString(solrSchemaFieldDao.getSchemaFieldNameMap(LogType.AUDIT));
-  }
-
-  public BarGraphDataListResponse getServiceLoad(AuditServiceLoadRequest 
request) {
-    SimpleFacetQuery facetQuery = conversionService.convert(request, 
SimpleFacetQuery.class);
-    QueryResponse response = auditSolrDao.process(facetQuery);
-    return responseDataGenerator.generateBarGraphFromFieldFacet(response, 
AUDIT_COMPONENT);
-  }
-
-  public Response export(UserExportRequest request) throws TemplateException {
-    String startTime = request.getFrom();
-    String endTime = request.getTo();
-    SimpleFacetQuery facetQuery = conversionService.convert(request, 
SimpleFacetQuery.class);
-
-    startTime = startTime == null ? "" : startTime;
-    endTime = endTime == null ? "" : "_" + endTime;
-
-    String dataFormat = request.getFormat();
-
-    FileOutputStream fis = null;
-    try {
-      QueryResponse queryResponse = auditSolrDao.process(facetQuery);
-      if (queryResponse == null) {
-        VResponse response = new VResponse();
-        response.setMsgDesc("Query was not able to execute " + facetQuery);
-        throw RESTErrorUtil.createRESTException(response);
-      }
-      BarGraphDataListResponse vBarUserDataList = 
responseDataGenerator.generateSecondLevelBarGraphDataResponse(queryResponse, 0);
-      BarGraphDataListResponse vBarResourceDataList = 
responseDataGenerator.generateSecondLevelBarGraphDataResponse(queryResponse, 1);
-      String data = "";
-      if ("text".equals(dataFormat)) {
-        StringWriter stringWriter = new StringWriter();
-        Template template = 
freemarkerConfiguration.getTemplate(AUDIT_LOG_TEMPLATE);
-        Map<String, Object> models = new HashMap<>();
-        DownloadUtil.fillUserResourcesModel(models, vBarUserDataList, 
vBarResourceDataList);
-        template.process(models, stringWriter);
-        data = stringWriter.toString();
-
-      } else {
-        data = "{" + convertObjToString(vBarUserDataList) + "," + 
convertObjToString(vBarResourceDataList) + "}";
-        dataFormat = "json";
-      }
-      String fileName = "Users_Resource" + startTime + endTime + ".";
-      File file = File.createTempFile(fileName, dataFormat);
-      fis = new FileOutputStream(file);
-      fis.write(data.getBytes());
-      return Response
-        .ok(file, MediaType.APPLICATION_OCTET_STREAM)
-        .header("Content-Disposition", "attachment;filename=" + fileName + 
dataFormat)
-        .build();
-
-    } catch (IOException e) {
-      logger.error("Error during download file (audit log) " + e);
-      throw 
RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(),
 MessageEnums.ERROR_SYSTEM);
-    } finally {
-      if (fis != null) {
-        try {
-          fis.close();
-        } catch (IOException e) {
-        }
-      }
-    }
-  }
-
-  @Override
-  protected List<SolrAuditLogData> convertToSolrBeans(QueryResponse response) {
-    return response.getBeans(SolrAuditLogData.class);
-  }
-
-  @Override
-  protected AuditLogResponse createLogSearchResponse() {
-    return new AuditLogResponse();
-  }
-
-  public StatusMessage deleteLogs(AuditLogRequest request) {
-    SimpleQuery solrQuery = conversionService.convert(request, 
SimpleQuery.class);
-    UpdateResponse updateResponse = auditSolrDao.deleteByQuery(solrQuery, 
"/audit/logs");
-    return new StatusMessage(updateResponse.getStatus());
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/JsonManagerBase.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/JsonManagerBase.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/JsonManagerBase.java
deleted file mode 100644
index 94191e0..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/JsonManagerBase.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.manager;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-
-import java.util.Date;
-
-public class JsonManagerBase {
-
-  private JsonSerializer<Date> jsonDateSerialiazer = null;
-  private JsonDeserializer<Date> jsonDateDeserialiazer = null;
-
-  public JsonManagerBase() {
-    jsonDateSerialiazer = new JsonSerializer<Date>() {
-
-      @Override
-      public JsonElement serialize(Date paramT, java.lang.reflect.Type 
paramType, JsonSerializationContext paramJsonSerializationContext) {
-        return paramT == null ? null : new JsonPrimitive(paramT.getTime());
-      }
-    };
-
-    jsonDateDeserialiazer = new JsonDeserializer<Date>() {
-
-      @Override
-      public Date deserialize(JsonElement json, java.lang.reflect.Type 
typeOfT, JsonDeserializationContext context)
-        throws JsonParseException {
-        return json == null ? null : new Date(json.getAsLong());
-      }
-
-    };
-  }
-
-  protected String convertObjToString(Object obj) {
-    if (obj == null) {
-      return "";
-    }
-
-    Gson gson = new GsonBuilder()
-      .registerTypeAdapter(Date.class, jsonDateSerialiazer)
-      .registerTypeAdapter(Date.class, jsonDateDeserialiazer).create();
-
-    return gson.toJson(obj);
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
deleted file mode 100644
index 6b40cb5..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/ManagerBase.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.manager;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.ambari.logsearch.model.response.LogData;
-import org.apache.ambari.logsearch.model.response.LogSearchResponse;
-import org.apache.ambari.logsearch.dao.SolrDaoBase;
-import org.apache.log4j.Logger;
-import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.common.SolrDocumentList;
-import org.springframework.data.solr.core.DefaultQueryParser;
-import org.springframework.data.solr.core.query.SimpleQuery;
-import org.springframework.data.solr.core.query.SolrDataQuery;
-
-public abstract class ManagerBase<LOG_DATA_TYPE extends LogData, 
SEARCH_RESPONSE extends LogSearchResponse> extends JsonManagerBase {
-  private static final Logger logger = Logger.getLogger(ManagerBase.class);
-
-  public ManagerBase() {
-    super();
-  }
-  
-  protected SEARCH_RESPONSE getLastPage(SolrDaoBase solrDoaBase, SimpleQuery 
lastPageQuery, String event) {
-    int maxRows = lastPageQuery.getRows();
-    SEARCH_RESPONSE logResponse = getLogAsPaginationProvided(lastPageQuery, 
solrDoaBase, event);
-    Long totalLogs = logResponse.getTotalCount();
-    int startIndex = (int)(totalLogs - totalLogs % maxRows);
-    int numberOfLogsOnLastPage = (int)(totalLogs - startIndex);
-    logResponse.setStartIndex(startIndex);
-    logResponse.setTotalCount(totalLogs);
-    logResponse.setPageSize(maxRows);
-    List<LOG_DATA_TYPE> docList = logResponse.getLogList();
-    List<LOG_DATA_TYPE> lastPageDocList = new ArrayList<>();
-    logResponse.setLogList(lastPageDocList);
-    int cnt = 0;
-    for (LOG_DATA_TYPE doc : docList) {
-      if (cnt < numberOfLogsOnLastPage) {
-        lastPageDocList.add(doc);
-      }
-      cnt++;
-    }
-    Collections.reverse(lastPageDocList);
-    return logResponse;
-  }
-
-  protected SEARCH_RESPONSE getLogAsPaginationProvided(SolrDataQuery 
solrQuery, SolrDaoBase solrDaoBase, String event) {
-    SolrQuery query = new DefaultQueryParser().doConstructSolrQuery(solrQuery);
-    return getLogAsPaginationProvided(query, solrDaoBase, event);
-  }
-
-
-  protected SEARCH_RESPONSE getLogAsPaginationProvided(SolrQuery solrQuery, 
SolrDaoBase solrDaoBase, String event) {
-    QueryResponse response = solrDaoBase.process(solrQuery, event);
-    SEARCH_RESPONSE logResponse = createLogSearchResponse();
-    SolrDocumentList docList = response.getResults();
-    logResponse.setTotalCount(docList.getNumFound());
-    List<LOG_DATA_TYPE> serviceLogDataList = convertToSolrBeans(response);
-    if (!docList.isEmpty()) {
-      logResponse.setLogList(serviceLogDataList);
-      logResponse.setStartIndex((int) docList.getStart());
-      Integer rowNumber = solrQuery.getRows();
-      if (rowNumber == null) {
-        logger.error("No RowNumber was set in solrQuery");
-        return createLogSearchResponse();
-      }
-      logResponse.setPageSize(rowNumber);
-    }
-    return logResponse;
-  }
-
-  protected abstract List<LOG_DATA_TYPE> convertToSolrBeans(QueryResponse 
response);
-
-  protected abstract SEARCH_RESPONSE createLogSearchResponse();
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/PublicManager.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/PublicManager.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/PublicManager.java
deleted file mode 100644
index cbab651..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/PublicManager.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.manager;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ambari.logsearch.conf.AuthPropsConfig;
-import org.apache.ambari.logsearch.model.response.NameValueData;
-import org.apache.ambari.logsearch.model.response.NameValueDataListResponse;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named
-public class PublicManager extends JsonManagerBase {
-
-  @Inject
-  private AuthPropsConfig authPropsConfig;
-
-  public String getGeneralConfig() {
-    NameValueDataListResponse nameValueList = new NameValueDataListResponse();
-    List<NameValueData> nameValues = new ArrayList<>();
-    NameValueData nameValue = new NameValueData();
-    nameValue.setName("simpleAuth");
-    nameValue.setValue("" + authPropsConfig.isAuthSimpleEnabled());
-    nameValues.add(nameValue);
-    nameValueList.setvNameValues(nameValues);
-    return convertObjToString(nameValueList);
-  }
-}

Reply via email to