http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrServiceLogPropsConfig.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrServiceLogPropsConfig.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrServiceLogPropsConfig.java
deleted file mode 100644
index 482438a..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrServiceLogPropsConfig.java
+++ /dev/null
@@ -1,91 +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.conf;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class SolrServiceLogPropsConfig extends SolrConnectionPropsConfig {
-
-  @Value("${logsearch.solr.collection.service.logs:hadoop_logs}")
-  private String collection;
-
-  @Value("${logsearch.service.logs.split.interval.mins:none}")
-  private String splitInterval;
-
-  @Value("${logsearch.solr.service.logs.config.name:hadoop_logs}")
-  private String configName;
-
-  @Value("${logsearch.collection.service.logs.numshards:1}")
-  private Integer numberOfShards;
-
-  @Value("${logsearch.collection.service.logs.replication.factor:1}")
-  private Integer replicationFactor;
-
-  @Override
-  public String getCollection() {
-    return collection;
-  }
-
-  @Override
-  public void setCollection(String collection) {
-    this.collection = collection;
-  }
-
-  @Override
-  public String getSplitInterval() {
-    return splitInterval;
-  }
-
-  @Override
-  public void setSplitInterval(String splitInterval) {
-    this.splitInterval = splitInterval;
-  }
-
-  @Override
-  public String getConfigName() {
-    return configName;
-  }
-
-  @Override
-  public void setConfigName(String configName) {
-    this.configName = configName;
-  }
-
-  @Override
-  public Integer getNumberOfShards() {
-    return numberOfShards;
-  }
-
-  @Override
-  public void setNumberOfShards(Integer numberOfShards) {
-    this.numberOfShards = numberOfShards;
-  }
-
-  @Override
-  public Integer getReplicationFactor() {
-    return replicationFactor;
-  }
-
-  @Override
-  public void setReplicationFactor(Integer replicationFactor) {
-    this.replicationFactor = replicationFactor;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrUserPropsConfig.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrUserPropsConfig.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrUserPropsConfig.java
deleted file mode 100644
index c8c96c8..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/SolrUserPropsConfig.java
+++ /dev/null
@@ -1,116 +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.conf;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.List;
-
-@Configuration
-public class SolrUserPropsConfig extends SolrConnectionPropsConfig {
-
-  @Value("${logsearch.solr.collection.history:history}")
-  private String collection;
-
-  @Value("${logsearch.history.split.interval.mins:none}")
-  private String splitInterval;
-
-  @Value("${logsearch.solr.history.config.name:history}")
-  private String configName;
-
-  @Value("${logsearch.collection.history.numshards:1}")
-  private Integer numberOfShards;
-
-  @Value("${logsearch.collection.history.replication.factor:2}")
-  private Integer replicationFactor;
-
-  
@Value("#{'${logsearch.logfeeder.include.default.level:FATAL,ERROR,WARN,INFO,DEBUG,TRACE,UNKNOWN}'.split(',')}")
-  private List<String> logLevels;
-
-  @Value("${logsearch.schema.fields.populate.interval.mins:1}")
-  private Integer populateIntervalMins;
-  
-  @Override
-  public String getCollection() {
-    return collection;
-  }
-
-  @Override
-  public void setCollection(String collection) {
-    this.collection = collection;
-  }
-
-  @Override
-  public String getSplitInterval() {
-    return splitInterval;
-  }
-
-  @Override
-  public void setSplitInterval(String splitInterval) {
-    this.splitInterval = splitInterval;
-  }
-
-  @Override
-  public String getConfigName() {
-    return configName;
-  }
-
-  @Override
-  public void setConfigName(String configName) {
-    this.configName = configName;
-  }
-
-  @Override
-  public Integer getNumberOfShards() {
-    return numberOfShards;
-  }
-
-  @Override
-  public void setNumberOfShards(Integer numberOfShards) {
-    this.numberOfShards = numberOfShards;
-  }
-
-  @Override
-  public Integer getReplicationFactor() {
-    return replicationFactor;
-  }
-
-  @Override
-  public void setReplicationFactor(Integer replicationFactor) {
-    this.replicationFactor = replicationFactor;
-  }
-
-  public List<String> getLogLevels() {
-    return logLevels;
-  }
-
-  public void setLogLevels(List<String> logLevels) {
-    this.logLevels = logLevels;
-  }
-  
-
-  public Integer getPopulateIntervalMins() {
-    return populateIntervalMins;
-  }
-  
-  void setPopulateIntervalMins(Integer populateIntervalMins) {
-    this.populateIntervalMins = populateIntervalMins;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrAuditLogsState.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrAuditLogsState.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrAuditLogsState.java
deleted file mode 100644
index 546a5dc..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrAuditLogsState.java
+++ /dev/null
@@ -1,68 +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.conf.global;
-
-import javax.inject.Named;
-
-@Named
-public class SolrAuditLogsState implements SolrCollectionState {
-
-  private volatile boolean znodeReady;
-  private volatile boolean solrCollectionReady;
-  private volatile boolean solrAliasReady;
-  private volatile boolean configurationUploaded;
-
-  @Override
-  public boolean isZnodeReady() {
-    return znodeReady;
-  }
-
-  @Override
-  public void setZnodeReady(boolean znodeAvailable) {
-    this.znodeReady = znodeAvailable;
-  }
-
-  @Override
-  public boolean isSolrCollectionReady() {
-    return solrCollectionReady;
-  }
-
-  @Override
-  public void setSolrCollectionReady(boolean solrCollectionReady) {
-    this.solrCollectionReady = solrCollectionReady;
-  }
-
-  @Override
-  public boolean isConfigurationUploaded() {
-    return configurationUploaded;
-  }
-
-  @Override
-  public void setConfigurationUploaded(boolean configurationUploaded) {
-    this.configurationUploaded = configurationUploaded;
-  }
-
-  public boolean isSolrAliasReady() {
-    return solrAliasReady;
-  }
-
-  public void setSolrAliasReady(boolean solrAliasReady) {
-    this.solrAliasReady = solrAliasReady;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrCollectionState.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrCollectionState.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrCollectionState.java
deleted file mode 100644
index 5885611..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrCollectionState.java
+++ /dev/null
@@ -1,33 +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.conf.global;
-
-public interface SolrCollectionState {
-  boolean isZnodeReady();
-
-  void setZnodeReady(boolean znodeAvailable);
-
-  boolean isSolrCollectionReady();
-
-  void setSolrCollectionReady(boolean solrCollectionCreated);
-
-  boolean isConfigurationUploaded();
-
-  void setConfigurationUploaded(boolean configurationUploaded);
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrServiceLogsState.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrServiceLogsState.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrServiceLogsState.java
deleted file mode 100644
index 60eafc5..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrServiceLogsState.java
+++ /dev/null
@@ -1,59 +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.conf.global;
-
-import javax.inject.Named;
-
-@Named
-public class SolrServiceLogsState implements SolrCollectionState {
-
-  private volatile boolean znodeReady;
-  private volatile boolean solrCollectionReady;
-  private volatile boolean configurationUploaded;
-
-  @Override
-  public boolean isZnodeReady() {
-    return znodeReady;
-  }
-
-  @Override
-  public void setZnodeReady(boolean znodeAvailable) {
-    this.znodeReady = znodeAvailable;
-  }
-
-  @Override
-  public boolean isSolrCollectionReady() {
-    return solrCollectionReady;
-  }
-
-  @Override
-  public void setSolrCollectionReady(boolean solrCollectionReady) {
-    this.solrCollectionReady = solrCollectionReady;
-  }
-
-  @Override
-  public boolean isConfigurationUploaded() {
-    return configurationUploaded;
-  }
-
-  @Override
-  public void setConfigurationUploaded(boolean configurationUploaded) {
-    this.configurationUploaded = configurationUploaded;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrUserConfigState.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrUserConfigState.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrUserConfigState.java
deleted file mode 100644
index 06af14c..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/conf/global/SolrUserConfigState.java
+++ /dev/null
@@ -1,60 +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.conf.global;
-
-import javax.inject.Named;
-
-@Named
-public class SolrUserConfigState implements SolrCollectionState {
-
-  private volatile boolean znodeReady;
-  private volatile boolean solrCollectionReady;
-  private volatile boolean configurationUploaded;
-
-  @Override
-  public boolean isZnodeReady() {
-    return znodeReady;
-  }
-
-  @Override
-  public void setZnodeReady(boolean znodeAvailable) {
-    this.znodeReady = znodeAvailable;
-  }
-
-  @Override
-  public boolean isSolrCollectionReady() {
-    return solrCollectionReady;
-  }
-
-  @Override
-  public void setSolrCollectionReady(boolean solrCollectionReady) {
-    this.solrCollectionReady = solrCollectionReady;
-  }
-
-  @Override
-  public boolean isConfigurationUploaded() {
-    return configurationUploaded;
-  }
-
-  @Override
-  public void setConfigurationUploaded(boolean configurationUploaded) {
-    this.configurationUploaded = configurationUploaded;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/LogfeederFilterConfigurer.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/LogfeederFilterConfigurer.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/LogfeederFilterConfigurer.java
deleted file mode 100644
index 34e1bec..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/LogfeederFilterConfigurer.java
+++ /dev/null
@@ -1,66 +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.configurer;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
-import org.apache.ambari.logsearch.dao.UserConfigSolrDao;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class LogfeederFilterConfigurer implements SolrConfigurer {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(LogfeederFilterConfigurer.class);
-
-  private static final int SETUP_RETRY_SECOND = 10;
-
-  private final UserConfigSolrDao userConfigSolrDao;
-
-  public LogfeederFilterConfigurer(final UserConfigSolrDao userConfigSolrDao) {
-    this.userConfigSolrDao = userConfigSolrDao;
-  }
-
-  @Override
-  public void start() {
-    final SolrPropsConfig solrPropsConfig = 
userConfigSolrDao.getSolrPropsConfig();
-    final SolrCollectionState state = 
userConfigSolrDao.getSolrCollectionState();
-    Thread setupFiltersThread = new Thread("logfeeder_filter_setup") {
-      @Override
-      public void run() {
-        LOG.info("logfeeder_filter_setup thread started (to upload logfeeder 
config)");
-        while (true) {
-          int retryCount = 0;
-          try {
-            retryCount++;
-            Thread.sleep(SETUP_RETRY_SECOND * 1000);
-            if (state.isSolrCollectionReady()) {
-              LOG.info("Tries to initialize logfeeder filters in '{}' 
collection", solrPropsConfig.getCollection());
-              userConfigSolrDao.getUserFilter();
-              break;
-            }
-          } catch (Exception e) {
-            LOG.error("Not able to save logfeeder filter while initialization, 
retryCount=" + retryCount, e);
-          }
-        }
-      }
-    };
-    setupFiltersThread.setDaemon(true);
-    setupFiltersThread.start();
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
deleted file mode 100644
index c80a10d..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrAuditAliasConfigurer.java
+++ /dev/null
@@ -1,136 +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.configurer;
-
-import org.apache.ambari.logsearch.conf.SolrAuditLogPropsConfig;
-import org.apache.ambari.logsearch.conf.global.SolrAuditLogsState;
-import org.apache.ambari.logsearch.dao.AuditSolrDao;
-import org.apache.ambari.logsearch.handler.ListCollectionHandler;
-import org.apache.commons.lang.StringUtils;
-import org.apache.solr.client.solrj.SolrServerException;
-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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-public class SolrAuditAliasConfigurer implements SolrConfigurer {
-
-  private static final Logger LOG = 
LoggerFactory.getLogger(SolrAuditAliasConfigurer.class);
-
-  private static final int ALIAS_SETUP_RETRY_SECOND = 30 * 60;
-
-  private final AuditSolrDao auditSolrDao;
-
-  public SolrAuditAliasConfigurer(final AuditSolrDao auditSolrDao) {
-    this.auditSolrDao = auditSolrDao;
-  }
-
-  @Override
-  public void start() {
-    final SolrAuditLogPropsConfig solrPropsConfig = (SolrAuditLogPropsConfig) 
auditSolrDao.getSolrPropsConfig();
-    final SolrAuditLogsState state = (SolrAuditLogsState) 
auditSolrDao.getSolrCollectionState();
-    final Collection<String> collectionListIn =
-      Arrays.asList(solrPropsConfig.getCollection(), 
solrPropsConfig.getRangerCollection().trim());
-
-    if (solrPropsConfig.getAliasNameIn() == null || collectionListIn.size() == 
0) {
-      LOG.info("Will not create alias {} for {}", 
solrPropsConfig.getAliasNameIn(), collectionListIn.toString());
-      return;
-    }
-
-    LOG.info("setupAlias " + solrPropsConfig.getAliasNameIn() + " for " + 
collectionListIn.toString());
-    // Start a background thread to do setup
-    Thread setupThread = new Thread("setup_alias_" + 
solrPropsConfig.getAliasNameIn()) {
-      @Override
-      public void run() {
-        LOG.info("Started monitoring thread to check availability of Solr 
server. alias=" + solrPropsConfig.getAliasNameIn() +
-          ", collections=" + collectionListIn.toString());
-        int retryCount = 0;
-        while (true) {
-          if (state.isSolrCollectionReady()) {
-            try {
-              CloudSolrClient solrClient = auditSolrDao.getSolrClient();
-              int count = createAlias(solrClient, 
solrPropsConfig.getAliasNameIn(), collectionListIn);
-              if (count > 0) {
-                
solrClient.setDefaultCollection(solrPropsConfig.getAliasNameIn());
-                if (count == collectionListIn.size()) {
-                  LOG.info("Setup for alias " + 
solrPropsConfig.getAliasNameIn() + " is successful. Exiting setup retry thread. 
" +
-                    "Collections=" + collectionListIn);
-                  state.setSolrAliasReady(true);
-                  break;
-                }
-              } else {
-                LOG.warn("Not able to create alias=" + 
solrPropsConfig.getAliasNameIn() + ", retryCount=" + retryCount);
-              }
-            } catch (Exception e) {
-              LOG.error("Error setting up alias=" + 
solrPropsConfig.getAliasNameIn(), e);
-            }
-          }
-          try {
-            Thread.sleep(ALIAS_SETUP_RETRY_SECOND * 1000);
-          } catch (InterruptedException sleepInterrupted) {
-            LOG.info("Sleep interrupted while setting up alias " + 
solrPropsConfig.getAliasNameIn());
-            break;
-          }
-          retryCount++;
-        }
-      }
-    };
-    setupThread.setDaemon(true);
-    setupThread.start();
-  }
-
-  private int createAlias(final CloudSolrClient solrClient, String 
aliasNameIn, Collection<String> collectionListIn)
-    throws SolrServerException, IOException {
-    List<String> collectionToAdd = new ArrayList<>();
-    try {
-      collectionToAdd = new ListCollectionHandler().handle(solrClient, null);
-    } catch (Exception e) {
-      LOG.error("Invalid state during getting collections for creating alias");
-    }
-    collectionToAdd.retainAll(collectionListIn);
-
-    String collectionsCSV = null;
-    if (!collectionToAdd.isEmpty()) {
-      collectionsCSV = StringUtils.join(collectionToAdd, ',');
-      CollectionAdminRequest.CreateAlias aliasCreateRequest = new 
CollectionAdminRequest.CreateAlias();
-      aliasCreateRequest.setAliasName(aliasNameIn);
-      aliasCreateRequest.setAliasedCollections(collectionsCSV);
-      CollectionAdminResponse createResponse = 
aliasCreateRequest.process(solrClient);
-      if (createResponse.getStatus() != 0) {
-        LOG.error("Error creating alias. alias=" + aliasNameIn + ", 
collectionList=" + collectionsCSV
-          + ", response=" + createResponse);
-        return 0;
-      }
-    }
-    if (collectionToAdd.size() == collectionListIn.size()) {
-      LOG.info("Created alias for all collections. alias=" + aliasNameIn + ", 
collectionsCSV=" + collectionsCSV);
-    } else {
-      LOG.info("Created alias for " + collectionToAdd.size() + " out of " + 
collectionListIn.size() + " collections. " +
-        "alias=" + aliasNameIn + ", collectionsCSV=" + collectionsCSV);
-    }
-    return collectionToAdd.size();
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
deleted file mode 100644
index 7edc6aa..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrCollectionConfigurer.java
+++ /dev/null
@@ -1,230 +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.configurer;
-
-import org.apache.ambari.logsearch.conf.SolrPropsConfig;
-import org.apache.ambari.logsearch.conf.global.SolrCollectionState;
-import org.apache.ambari.logsearch.dao.SolrDaoBase;
-import org.apache.ambari.logsearch.handler.ACLHandler;
-import org.apache.ambari.logsearch.handler.CreateCollectionHandler;
-import org.apache.ambari.logsearch.handler.ListCollectionHandler;
-import org.apache.ambari.logsearch.handler.ReloadCollectionHandler;
-import org.apache.ambari.logsearch.handler.UploadConfigurationHandler;
-import org.apache.commons.lang.StringUtils;
-import org.apache.solr.client.solrj.impl.CloudSolrClient;
-import org.apache.solr.client.solrj.impl.HttpClientUtil;
-import org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooKeeper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.data.solr.core.SolrTemplate;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.FileSystems;
-import java.util.List;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-public class SolrCollectionConfigurer implements SolrConfigurer {
-
-  private Logger LOG = LoggerFactory.getLogger(SolrCollectionConfigurer.class);
-
-  private static final int SETUP_RETRY_SECOND = 10;
-  private static final int SESSION_TIMEOUT = 15000;
-  private static final int CONNECTION_TIMEOUT = 30000;
-
-  private final SolrDaoBase solrDaoBase;
-
-  public SolrCollectionConfigurer(final SolrDaoBase solrDaoBase) {
-    this.solrDaoBase = solrDaoBase;
-  }
-
-  @Override
-  public void start() {
-    setupSecurity();
-    final SolrPropsConfig solrPropsConfig = solrDaoBase.getSolrPropsConfig();
-    final SolrCollectionState state = solrDaoBase.getSolrCollectionState();
-    final String separator = FileSystems.getDefault().getSeparator();
-    final String localConfigSetLocation = String.format("%s%s%s%sconf", 
solrPropsConfig.getConfigSetFolder(), separator,
-      solrPropsConfig.getConfigName(), separator);
-    final File configSetFolder = new File(localConfigSetLocation);
-    if (!configSetFolder.exists()) { // show exception only once during startup
-      throw new RuntimeException(String.format("Cannot load config set 
location: %s", localConfigSetLocation));
-    }
-    Thread setupThread = new Thread("setup_collection_" + 
solrPropsConfig.getCollection()) {
-      @Override
-      public void run() {
-        LOG.info("Started monitoring thread to check availability of Solr 
server. collection=" + solrPropsConfig.getCollection());
-        while (!stopSetupCondition(state)) {
-          int retryCount = 0;
-          try {
-            retryCount++;
-            Thread.sleep(SETUP_RETRY_SECOND * 1000);
-            openZkConnectionAndUpdateStatus(state, solrPropsConfig);
-            if (solrDaoBase.getSolrTemplate() == null) {
-              solrDaoBase.setSolrTemplate(createSolrTemplate(solrPropsConfig));
-            }
-            CloudSolrClient cloudSolrClient = (CloudSolrClient) 
solrDaoBase.getSolrTemplate().getSolrClient();
-            boolean reloadCollectionNeeded = 
uploadConfigurationsIfNeeded(cloudSolrClient, configSetFolder, state, 
solrPropsConfig);
-            checkSolrStatus(cloudSolrClient);
-            createCollectionsIfNeeded(cloudSolrClient, state, solrPropsConfig, 
reloadCollectionNeeded);
-          } catch (Exception e) {
-            retryCount++;
-            LOG.error("Error setting collection. collection=" + 
solrPropsConfig.getCollection() + ", retryCount=" + retryCount, e);
-          }
-        }
-      }
-    };
-    setupThread.setDaemon(true);
-    setupThread.start();
-  }
-
-  private boolean uploadConfigurationsIfNeeded(CloudSolrClient 
cloudSolrClient, File configSetFolder, SolrCollectionState state, 
SolrPropsConfig solrPropsConfig) throws Exception {
-    boolean reloadCollectionNeeded = new 
UploadConfigurationHandler(configSetFolder).handle(cloudSolrClient, 
solrPropsConfig);
-    if (!state.isConfigurationUploaded()) {
-      state.setConfigurationUploaded(true);
-    }
-    return reloadCollectionNeeded;
-  }
-
-  public boolean stopSetupCondition(SolrCollectionState state) {
-    return state.isSolrCollectionReady();
-  }
-
-  public SolrTemplate createSolrTemplate(SolrPropsConfig solrPropsConfig) {
-    return new SolrTemplate(createClient(
-      solrPropsConfig.getSolrUrl(),
-      solrPropsConfig.getZkConnectString(),
-      solrPropsConfig.getCollection()));
-  }
-
-  private CloudSolrClient createClient(String solrUrl, String 
zookeeperConnectString, String defaultCollection) {
-    if (StringUtils.isNotEmpty(zookeeperConnectString)) {
-      CloudSolrClient cloudSolrClient = new 
CloudSolrClient(zookeeperConnectString);
-      cloudSolrClient.setDefaultCollection(defaultCollection);
-      return cloudSolrClient;
-    } else if (StringUtils.isNotEmpty(solrUrl)) {
-      throw new UnsupportedOperationException("Currently only cloud mode is 
supported. Set zookeeper connect string.");
-    }
-    throw new IllegalStateException(
-      "Solr url or zookeeper connection string is missing. collection: " + 
defaultCollection);
-  }
-
-  private void setupSecurity() {
-    String jaasFile = solrDaoBase.getSolrKerberosConfig().getJaasFile();
-    boolean securityEnabled = solrDaoBase.getSolrKerberosConfig().isEnabled();
-    if (securityEnabled) {
-      System.setProperty("java.security.auth.login.config", jaasFile);
-      HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
-      LOG.info("setupSecurity() called for kerberos configuration, jaas file: 
" + jaasFile);
-    }
-  }
-
-  private void openZkConnectionAndUpdateStatus(final SolrCollectionState 
state, final SolrPropsConfig solrPropsConfig) throws Exception {
-    ZooKeeper zkClient = null;
-    try {
-      LOG.info("Checking that Znode ('{}') is ready or not... ", 
solrPropsConfig.getZkConnectString());
-      zkClient = openZookeeperConnection(solrPropsConfig);
-      if (!state.isZnodeReady()) {
-        LOG.info("State change: Zookeeper ZNode is available for {}", 
solrPropsConfig.getZkConnectString());
-        state.setZnodeReady(true);
-      }
-    } catch (Exception e) {
-      LOG.error("Error occurred during the creation of zk client (connection 
string: {})", solrPropsConfig.getZkConnectString());
-      throw e;
-    } finally {
-      try {
-        if (zkClient != null) {
-          zkClient.close();
-        }
-      } catch (Exception e) {
-        LOG.error("Could not close zk connection properly.", e);
-      }
-    }
-  }
-
-  private ZooKeeper openZookeeperConnection(final SolrPropsConfig 
solrPropsConfig) throws InterruptedException, IOException {
-    final CountDownLatch connSignal = new CountDownLatch(1);
-    ZooKeeper zooKeeper = new ZooKeeper(solrPropsConfig.getZkConnectString(), 
SESSION_TIMEOUT, new Watcher() {
-      public void process(WatchedEvent event) {
-        if (event.getState() == Event.KeeperState.SyncConnected) {
-          connSignal.countDown();
-        }
-      }
-    });
-    connSignal.await(CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS);
-    return zooKeeper;
-  }
-
-  private boolean checkSolrStatus(CloudSolrClient cloudSolrClient) {
-    int waitDurationMS = 3 * 60 * 1000;
-    boolean status = false;
-    try {
-      long beginTimeMS = System.currentTimeMillis();
-      long waitIntervalMS = 2000;
-      int pingCount = 0;
-      while (true) {
-        pingCount++;
-        try {
-          List<String> collectionList = new 
ListCollectionHandler().handle(cloudSolrClient, null);
-          if (collectionList != null) {
-            LOG.info("checkSolrStatus(): Solr getCollections() is success. 
collectionList=" + collectionList);
-            status = true;
-            break;
-          }
-        } catch (Exception ex) {
-          LOG.error("Error while doing Solr check", ex);
-        }
-        if (System.currentTimeMillis() - beginTimeMS > waitDurationMS) {
-          LOG.error("Solr is not reachable even after " + 
(System.currentTimeMillis() - beginTimeMS) + " ms. " +
-            "If you are using alias, then you might have to restart LogSearch 
after Solr is up and running.");
-          break;
-        } else {
-          LOG.warn("Solr is not not reachable yet. getCollections() attempt 
count=" + pingCount + ". " +
-            "Will sleep for " + waitIntervalMS + " ms and try again.");
-        }
-        Thread.sleep(waitIntervalMS);
-
-      }
-    } catch (Throwable t) {
-      LOG.error("Seems Solr is not up.");
-    }
-    return status;
-  }
-
-  private void createCollectionsIfNeeded(CloudSolrClient solrClient, 
SolrCollectionState state, SolrPropsConfig solrPropsConfig, boolean 
reloadCollectionNeeded) {
-    try {
-      List<String> allCollectionList = new 
ListCollectionHandler().handle(solrClient, null);
-      boolean collectionCreated = new 
CreateCollectionHandler(allCollectionList).handle(solrClient, solrPropsConfig);
-      boolean collectionReloaded = true;
-      if (reloadCollectionNeeded) {
-        collectionReloaded = new ReloadCollectionHandler().handle(solrClient, 
solrPropsConfig);
-      }
-      boolean aclsUpdated = new ACLHandler().handle(solrClient, 
solrPropsConfig);
-      if (!state.isSolrCollectionReady() && collectionCreated && 
collectionReloaded && aclsUpdated) {
-        state.setSolrCollectionReady(true);
-      }
-    } catch (Exception ex) {
-      LOG.error("Error during creating/updating collection. collectionName=" + 
solrPropsConfig.getCollection(), ex);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrConfigurer.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrConfigurer.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrConfigurer.java
deleted file mode 100644
index 67cb9d1..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/configurer/SolrConfigurer.java
+++ /dev/null
@@ -1,23 +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.configurer;
-
-interface SolrConfigurer {
-  void start();
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractAuditLogRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractAuditLogRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractAuditLogRequestQueryConverter.java
deleted file mode 100644
index 5656c88..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractAuditLogRequestQueryConverter.java
+++ /dev/null
@@ -1,59 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogSearchConstants;
-import org.apache.ambari.logsearch.model.request.impl.BaseLogRequest;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.solr.core.query.Query;
-
-import java.util.List;
-
-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.SEQUENCE_ID;
-
-public abstract class AbstractAuditLogRequestQueryConverter<SOURCE extends 
BaseLogRequest, RESULT extends Query>
-  extends AbstractLogRequestQueryConverter<SOURCE, RESULT>{
-
-  @Override
-  public Sort sort(SOURCE request) {
-    String sortBy = request.getSortBy();
-    String sortType = request.getSortType();
-    Sort.Order defaultSortOrder;
-    if (StringUtils.isNotBlank(sortBy)) {
-      Sort.Direction direction = StringUtils.equals(sortType , 
LogSearchConstants.ASCENDING_ORDER) ? Sort.Direction.ASC : Sort.Direction.DESC;
-      defaultSortOrder = new Sort.Order(direction, sortBy);
-    } else {
-      defaultSortOrder = new Sort.Order(Sort.Direction.DESC, AUDIT_EVTTIME);
-    }
-    Sort.Order sequenceIdOrder = new Sort.Order(Sort.Direction.DESC, 
SEQUENCE_ID);
-    return new Sort(defaultSortOrder, sequenceIdOrder);
-  }
-
-  @Override
-  public void addComponentFilters(SOURCE request, RESULT query) {
-    List<String> includeTypes = splitValueAsList(request.getMustBe(), ",");
-    List<String> excludeTypes = splitValueAsList(request.getMustNot(), ",");
-    addInFilterQuery(query, AUDIT_COMPONENT, includeTypes);
-    addInFilterQuery(query, AUDIT_COMPONENT, excludeTypes, true);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractConverterAware.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractConverterAware.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractConverterAware.java
deleted file mode 100644
index a4db91f..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractConverterAware.java
+++ /dev/null
@@ -1,47 +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.converter;
-
-import org.springframework.core.convert.ConversionService;
-import org.springframework.core.convert.converter.Converter;
-import org.springframework.core.convert.converter.ConverterRegistry;
-
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-public abstract class AbstractConverterAware<SOURCE, RESULT> implements 
Converter<SOURCE, RESULT> {
-
-  @Inject
-  @Named("conversionService")
-  private ConversionService conversionService;
-
-  public ConversionService getConversionService() {
-    return conversionService;
-  }
-
-  @PostConstruct
-  private void register() {
-    if (conversionService instanceof ConverterRegistry) {
-      ((ConverterRegistry) conversionService).addConverter(this);
-    } else {
-      throw new IllegalStateException("Can't register Converter to 
ConverterRegistry");
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractDateRangeFacetQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractDateRangeFacetQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractDateRangeFacetQueryConverter.java
deleted file mode 100644
index 2143f56..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractDateRangeFacetQueryConverter.java
+++ /dev/null
@@ -1,55 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogSearchConstants;
-import org.apache.ambari.logsearch.model.request.DateRangeParamDefinition;
-import org.apache.ambari.logsearch.model.request.UnitParamDefinition;
-import org.apache.commons.lang.StringUtils;
-import org.apache.solr.client.solrj.SolrQuery;
-
-import java.util.Locale;
-
-public abstract class AbstractDateRangeFacetQueryConverter<SOURCE extends 
DateRangeParamDefinition & UnitParamDefinition>
-  extends AbstractOperationHolderConverter<SOURCE , SolrQuery> {
-
-  @Override
-  public SolrQuery convert(SOURCE request) {
-    SolrQuery solrQuery = new SolrQuery();
-    String unit = StringUtils.defaultIfEmpty(request.getUnit(), "+1HOUR");
-    solrQuery.setQuery("*:*");
-    solrQuery.setFacet(true);
-    solrQuery.addFacetPivotField("{!range=r1}" + getTypeFieldName());
-    solrQuery.setFacetMinCount(1);
-    solrQuery.setFacetLimit(-1);
-    solrQuery.setFacetSort(LogSearchConstants.FACET_INDEX);
-    solrQuery.add("facet.range", "{!tag=r1}" + getDateFieldName());
-    solrQuery.add(String.format(Locale.ROOT, "f.%s.%s", new 
Object[]{getDateFieldName(), "facet.range.start"}), request.getFrom());
-    solrQuery.add(String.format(Locale.ROOT, "f.%s.%s", new 
Object[]{getDateFieldName(), "facet.range.end"}), request.getTo());
-    solrQuery.add(String.format(Locale.ROOT, "f.%s.%s", new 
Object[]{getDateFieldName(), "facet.range.gap"}), unit);
-    solrQuery.remove("sort");
-    solrQuery.setRows(0);
-    solrQuery.setStart(0);
-    return solrQuery;
-  }
-
-  public abstract String getDateFieldName();
-
-  public abstract String getTypeFieldName();
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/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
deleted file mode 100644
index d5e807b..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestFacetQueryConverter.java
+++ /dev/null
@@ -1,88 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.model.request.impl.BaseLogRequest;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.data.solr.core.query.Criteria;
-import org.springframework.data.solr.core.query.FacetOptions;
-import org.springframework.data.solr.core.query.SimpleFacetQuery;
-import org.springframework.data.solr.core.query.SimpleFilterQuery;
-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;
-
-public abstract class AbstractLogRequestFacetQueryConverter<SOURCE extends 
BaseLogRequest> extends AbstractOperationHolderConverter<SOURCE, 
SimpleFacetQuery>{
-
-  @Override
-  public SimpleFacetQuery convert(SOURCE request) {
-    String fromValue = StringUtils.isNotEmpty(request.getFrom()) ? 
request.getFrom() : "*";
-    String toValue = StringUtils.isNotEmpty(request.getTo()) ? request.getTo() 
: "*";
-    Criteria criteria = new SimpleStringCriteria("*:*");
-    SimpleFacetQuery facetQuery = new SimpleFacetQuery();
-    facetQuery.addCriteria(criteria);
-    SimpleFilterQuery simpleFilterQuery = new SimpleFilterQuery();
-    simpleFilterQuery.addCriteria(new SimpleStringCriteria(getDateTimeField() 
+ ":[" + fromValue +" TO "+ toValue+ "]" ));
-    facetQuery.addFilterQuery(simpleFilterQuery);
-    FacetOptions facetOptions = new FacetOptions();
-    facetOptions.setFacetMinCount(1);
-    facetOptions.setFacetSort(getFacetSort());
-    facetOptions.setFacetLimit(-1);
-    appendFacetOptions(facetOptions, request);
-    addIncludeFieldValues(facetQuery, 
StringEscapeUtils.unescapeXml(request.getIncludeQuery()));
-    addExcludeFieldValues(facetQuery, 
StringEscapeUtils.unescapeXml(request.getExcludeQuery()));
-    facetQuery.setFacetOptions(facetOptions);
-    facetQuery.setRows(0);
-    addComponentFilters(facetQuery, request);
-    appendFacetQuery(facetQuery, request);
-    addInFilterQuery(facetQuery, CLUSTER, 
splitValueAsList(request.getClusters(), ","));
-    return facetQuery;
-  }
-
-  public abstract FacetOptions.FacetSort getFacetSort();
-
-  public abstract String getDateTimeField();
-
-  public abstract LogType getLogType();
-
-  public void appendFacetQuery(SimpleFacetQuery facetQuery, SOURCE request) {
-  }
-
-  public void appendFacetOptions(FacetOptions facetOptions, SOURCE request) {
-    facetOptions.setFacetLimit(-1);
-  }
-
-  private void addComponentFilters(SimpleFacetQuery query, SOURCE request) {
-    List<String> includeTypes = splitValueAsList(request.getMustBe(), ",");
-    List<String> excludeTypes = splitValueAsList(request.getMustNot(), ",");
-    if (LogType.AUDIT.equals(getLogType())) {
-      addInFilterQuery(query, AUDIT_COMPONENT, includeTypes);
-      addInFilterQuery(query, AUDIT_COMPONENT, excludeTypes, true);
-    } else if (LogType.SERVICE.equals(getLogType())) {
-      addInFilterQuery(query, COMPONENT, includeTypes);
-      addInFilterQuery(query, COMPONENT, excludeTypes, true);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/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
deleted file mode 100644
index d9f51f4..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractLogRequestQueryConverter.java
+++ /dev/null
@@ -1,42 +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.converter;
-
-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> {
-
-  @Override
-  public QUERY_TYPE extendSolrQuery(REQUEST_TYPE request, QUERY_TYPE query) {
-    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);
-  }
-
-  public abstract QUERY_TYPE extendLogQuery(REQUEST_TYPE request, QUERY_TYPE 
query);
-
-  public abstract void addComponentFilters(REQUEST_TYPE request, QUERY_TYPE 
query);
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/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
deleted file mode 100644
index c92dd14..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractOperationHolderConverter.java
+++ /dev/null
@@ -1,180 +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.converter;
-
-import com.google.common.base.Splitter;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.dao.SolrSchemaFieldDao;
-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;
-import org.springframework.data.solr.core.query.SimpleStringCriteria;
-
-import javax.inject.Inject;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.LOG_MESSAGE;
-
-public abstract class AbstractOperationHolderConverter <REQUEST_TYPE, 
QUERY_TYPE>
-  extends AbstractConverterAware<REQUEST_TYPE, QUERY_TYPE> {
-
-  @Inject
-  private SolrSchemaFieldDao solrSchemaFieldDao;
-
-  public List<String> splitValueAsList(String value, String separator) {
-    return StringUtils.isNotEmpty(value) ? 
Splitter.on(separator).omitEmptyStrings().splitToList(value) : null;
-  }
-
-  public Query addEqualsFilterQuery(Query query, String field, String value) {
-    return this.addEqualsFilterQuery(query, field, value, false);
-  }
-
-  public Query addEqualsFilterQuery(Query query, String field, String value, 
boolean negate) {
-    if (StringUtils.isNotEmpty(value)) {
-      addFilterQuery(query, new Criteria(field).is(value), negate);
-    }
-    return query;
-  }
-
-  public Query addContainsFilterQuery(Query query, String field, String value) 
{
-    return this.addContainsFilterQuery(query, field, value, false);
-  }
-
-  public Query addContainsFilterQuery(Query query, String field, String value, 
boolean negate) {
-    if (StringUtils.isNotEmpty(value)) {
-      addFilterQuery(query, new Criteria(field).contains(value), negate);
-    }
-    return query;
-  }
-
-  public Query addInFilterQuery(Query query, String field, List<String> 
values) {
-    return this.addInFilterQuery(query, field, values, false);
-  }
-
-  public Query addInFiltersIfNotNullAndEnabled(Query query, String value, 
String field, boolean condition) {
-    if (value != null && condition) {
-      List<String> values = value.length() == 0 ? Arrays.asList("-1") : 
splitValueAsList(value, ",");
-      addInFilterQuery(query, field, values);
-    }
-    return query;
-  }
-
-  public Query addInFilterQuery(Query query, String field, List<String> 
values, boolean negate) {
-    if (CollectionUtils.isNotEmpty(values)) {
-      addFilterQuery(query, new Criteria(field).is(values), negate);
-    }
-    return query;
-  }
-
-  public Query addRangeFilter(Query query, String field, String from, String 
to) {
-    return this.addRangeFilter(query, field, from, to, false);
-  }
-
-  public Query addRangeFilter(Query query, String field, String from, String 
to, boolean negate) { // TODO use criteria.between without escaping
-    String fromValue = StringUtils.defaultIfEmpty(from, "*");
-    String toValue = StringUtils.defaultIfEmpty(to, "*");
-    addFilterQuery(query, new SimpleStringCriteria(field + ":[" + fromValue +" 
TO "+ toValue + "]" ), negate);
-    return query;
-  }
-
-  public void addFilterQuery(Query query, Criteria criteria, boolean negate) {
-    if (negate) {
-      criteria.not();
-    }
-    query.addFilterQuery(new SimpleFilterQuery(criteria));
-  }
-
-  public Query addIncludeFieldValues(Query query, String fieldValuesMapStr) {
-    if (StringUtils.isNotEmpty(fieldValuesMapStr)) {
-      List<Map<String, String>> criterias = new 
Gson().fromJson(fieldValuesMapStr,
-        new TypeToken<List<HashMap<String, String>>>(){}.getType());
-      for (Map<String, String> criteriaMap : criterias) {
-        for (Map.Entry<String, String> fieldEntry : criteriaMap.entrySet()) {
-          if (fieldEntry.getKey().equalsIgnoreCase(LOG_MESSAGE)) {
-            addLogMessageFilter(query, fieldEntry.getValue(), false);
-          } else {
-            addFilterQuery(query, new 
Criteria(fieldEntry.getKey()).is(escapeNonLogMessageField(fieldEntry)), false);
-          }
-        }
-      }
-    }
-    return query;
-  }
-
-  public Query addExcludeFieldValues(Query query, String fieldValuesMapStr) {
-    if (StringUtils.isNotEmpty(fieldValuesMapStr)) {
-      List<Map<String, String>> criterias = new 
Gson().fromJson(fieldValuesMapStr,
-        new TypeToken<List<HashMap<String, String>>>(){}.getType());
-      for (Map<String, String> criteriaMap : criterias) {
-        for (Map.Entry<String, String> fieldEntry : criteriaMap.entrySet()) {
-          if (fieldEntry.getKey().equalsIgnoreCase(LOG_MESSAGE)) {
-            addLogMessageFilter(query, fieldEntry.getValue(), true);
-          } else {
-            addFilterQuery(query, new 
Criteria(fieldEntry.getKey()).is(escapeNonLogMessageField(fieldEntry)), true);
-          }
-        }
-      }
-    }
-    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) {
-    StrTokenizer tokenizer = new StrTokenizer(value, ' ', '"');
-    for (String token : tokenizer.getTokenArray()) {
-      token = token.trim();
-      if (token.contains(" ") || !token.startsWith("*") && 
!token.endsWith("*")) {
-        addFilterQuery(query, new 
Criteria(LOG_MESSAGE).is(SolrUtil.escapeQueryChars(token)), negate);
-      } else if (token.startsWith("*") && token.endsWith("*")) {
-        String plainToken = StringUtils.substring(token, 1, -1);
-        addFilterQuery(query, new 
Criteria(LOG_MESSAGE).contains(SolrUtil.escapeQueryChars(plainToken)), negate);
-      } else if (token.startsWith("*") && !token.endsWith("*")) {
-        String plainToken = StringUtils.substring(token, 1);
-        addFilterQuery(query, new 
Criteria(LOG_MESSAGE).endsWith(SolrUtil.escapeQueryChars(plainToken)), negate);
-      } else if (!token.startsWith("*") && token.endsWith("*")) {
-        String plainToken = StringUtils.substring(token, 0, -1);
-        addFilterQuery(query, new 
Criteria(LOG_MESSAGE).startsWith(SolrUtil.escapeQueryChars(plainToken)), 
negate);
-      }
-    }
-  }
-
-  private String escapeNonLogMessageField(Map.Entry<String, String> 
fieldEntry) {
-    Map<String, String> schemaFieldNameMap = 
solrSchemaFieldDao.getSchemaFieldNameMap(getLogType());
-    Map<String, String> schemaFieldTypeMap = 
solrSchemaFieldDao.getSchemaFieldTypeMap(getLogType());
-    String fieldType = schemaFieldNameMap.get(fieldEntry.getKey());
-    String fieldTypeMetaData = schemaFieldTypeMap.get(fieldType);
-    return SolrUtil.putWildCardByType(fieldEntry.getValue(), fieldType, 
fieldTypeMetaData);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractSearchRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractSearchRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractSearchRequestQueryConverter.java
deleted file mode 100644
index d4fc48b..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractSearchRequestQueryConverter.java
+++ /dev/null
@@ -1,72 +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.converter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ambari.logsearch.model.request.LastPageParamDefinition;
-import org.apache.ambari.logsearch.model.request.impl.CommonSearchRequest;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.data.solr.core.query.Criteria;
-import org.springframework.data.solr.core.query.Query;
-import org.springframework.data.solr.core.query.SimpleStringCriteria;
-
-public abstract class AbstractSearchRequestQueryConverter<REQUEST_TYPE extends 
CommonSearchRequest, QUERY_TYPE extends Query>
-  extends AbstractOperationHolderConverter<REQUEST_TYPE, QUERY_TYPE> {
-
-  @Override
-  public QUERY_TYPE convert(REQUEST_TYPE request) {
-    QUERY_TYPE query = createQuery();
-    addPageRequest(request, query);
-    Criteria criteria = new SimpleStringCriteria("*:*");
-    query.addCriteria(criteria);
-    return extendSolrQuery(request, query);
-  }
-  
-  private void addPageRequest(REQUEST_TYPE request, QUERY_TYPE query) {
-    int page = StringUtils.isNumeric(request.getPage()) ? new 
Integer(request.getPage()) : 0;
-    int pageSize = StringUtils.isNumeric(request.getPageSize()) ? new 
Integer(request.getPageSize()) : 99999;
-    Sort sort = sort(request);
-    
-    boolean isLastPage = (request instanceof LastPageParamDefinition) ?
-        ((LastPageParamDefinition)request).isLastPage() :
-        false;
-    if (isLastPage) {
-      page = 0;
-      List<Sort.Order> newOrders = new ArrayList<>();
-      for (Sort.Order order : sort) {
-        newOrders.add(new Sort.Order(order.getDirection() == Direction.ASC ? 
Direction.DESC : Direction.ASC, order.getProperty()));
-      }
-      sort = new Sort(newOrders);
-    }
-    
-    PageRequest pageRequest = new PageRequest(page, pageSize, sort);
-    query.setPageRequest(pageRequest);
-  }
-
-  public abstract QUERY_TYPE extendSolrQuery(REQUEST_TYPE request, QUERY_TYPE 
query);
-
-  public abstract Sort sort(REQUEST_TYPE request);
-
-  public abstract QUERY_TYPE createQuery();
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestFacetQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestFacetQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestFacetQueryConverter.java
deleted file mode 100644
index 0fc12e8..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestFacetQueryConverter.java
+++ /dev/null
@@ -1,44 +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.converter;
-
-import org.apache.ambari.logsearch.model.request.impl.BaseServiceLogRequest;
-import org.apache.ambari.logsearch.util.SolrUtil;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.data.solr.core.query.SimpleFacetQuery;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.BUNDLE_ID;
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.COMPONENT;
-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.PATH;
-
-public abstract class AbstractServiceLogRequestFacetQueryConverter<SOURCE 
extends BaseServiceLogRequest>
-  extends AbstractLogRequestFacetQueryConverter<SOURCE> {
-
-  @Override
-  public void appendFacetQuery(SimpleFacetQuery facetQuery, SOURCE request) {
-    addEqualsFilterQuery(facetQuery, HOST, 
SolrUtil.escapeQueryChars(request.getHostName()));
-    addEqualsFilterQuery(facetQuery, PATH, 
SolrUtil.escapeQueryChars(request.getFileName()));
-    addEqualsFilterQuery(facetQuery, COMPONENT, 
SolrUtil.escapeQueryChars(request.getComponentName()));
-    addEqualsFilterQuery(facetQuery, BUNDLE_ID, request.getBundleId());
-    addInFiltersIfNotNullAndEnabled(facetQuery, request.getLevel(), LEVEL, 
true);
-    addInFiltersIfNotNullAndEnabled(facetQuery, request.getHostList(), HOST, 
StringUtils.isEmpty(request.getHostName()));
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestQueryConverter.java
deleted file mode 100644
index e1cd077..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AbstractServiceLogRequestQueryConverter.java
+++ /dev/null
@@ -1,44 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.model.request.impl.BaseLogRequest;
-import org.springframework.data.solr.core.query.Query;
-
-import java.util.List;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.ServiceLogConstants.COMPONENT;
-
-public abstract class AbstractServiceLogRequestQueryConverter<REQUEST_TYPE 
extends BaseLogRequest, QUERY_TYPE extends Query>
-  extends AbstractLogRequestQueryConverter<REQUEST_TYPE, QUERY_TYPE>  {
-
-  @Override
-  public LogType getLogType() {
-    return LogType.SERVICE;
-  }
-
-  @Override
-  public void addComponentFilters(REQUEST_TYPE request, QUERY_TYPE query) {
-    List<String> includeTypes = splitValueAsList(request.getMustBe(), ",");
-    List<String> excludeTypes = splitValueAsList(request.getMustNot(), ",");
-    addInFilterQuery(query, COMPONENT, includeTypes);
-    addInFilterQuery(query, COMPONENT, excludeTypes, true);
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/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
deleted file mode 100644
index 06dfae9..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditBarGraphRequestQueryConverter.java
+++ /dev/null
@@ -1,55 +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.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> {
-
-  @Override
-  public String getDateFieldName() {
-    return AUDIT_EVTTIME;
-  }
-
-  @Override
-  public String getTypeFieldName() {
-    return AUDIT_COMPONENT;
-  }
-
-  @Override
-  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/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditComponentsRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditComponentsRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditComponentsRequestQueryConverter.java
deleted file mode 100644
index bf77444..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditComponentsRequestQueryConverter.java
+++ /dev/null
@@ -1,53 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.model.request.impl.AuditComponentRequest;
-import org.springframework.data.solr.core.query.FacetOptions;
-
-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;
-
-@Named
-public class AuditComponentsRequestQueryConverter extends 
AbstractLogRequestFacetQueryConverter<AuditComponentRequest> {
-
-  @Override
-  public FacetOptions.FacetSort getFacetSort() {
-    return FacetOptions.FacetSort.INDEX;
-  }
-
-  @Override
-  public String getDateTimeField() {
-    return AUDIT_EVTTIME;
-  }
-
-  @Override
-  public LogType getLogType() {
-    return LogType.AUDIT;
-  }
-
-  @Override
-  public void appendFacetOptions(FacetOptions facetOptions, 
AuditComponentRequest request) {
-    facetOptions.addFacetOnField(AUDIT_COMPONENT);
-    facetOptions.setFacetLimit(-1);
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditLogRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditLogRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditLogRequestQueryConverter.java
deleted file mode 100644
index a2c1d81..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditLogRequestQueryConverter.java
+++ /dev/null
@@ -1,44 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.model.request.impl.AuditLogRequest;
-import org.springframework.data.solr.core.query.SimpleQuery;
-
-import javax.inject.Named;
-
-@Named
-public class AuditLogRequestQueryConverter extends 
AbstractAuditLogRequestQueryConverter<AuditLogRequest, SimpleQuery> {
-
-  @Override
-  public SimpleQuery extendLogQuery(AuditLogRequest request, SimpleQuery 
query) {
-    return query;
-  }
-
-  @Override
-  public SimpleQuery createQuery() {
-    return new SimpleQuery();
-  }
-
-  @Override
-  public LogType getLogType() {
-    return LogType.AUDIT;
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b0f1e340/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverter.java
deleted file mode 100644
index d88ec6d..0000000
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/converter/AuditServiceLoadRequestQueryConverter.java
+++ /dev/null
@@ -1,53 +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.converter;
-
-import org.apache.ambari.logsearch.common.LogType;
-import org.apache.ambari.logsearch.model.request.impl.AuditServiceLoadRequest;
-import org.springframework.data.solr.core.query.FacetOptions;
-
-import javax.inject.Named;
-
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_EVTTIME;
-import static 
org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_COMPONENT;
-
-@Named
-public class AuditServiceLoadRequestQueryConverter extends 
AbstractLogRequestFacetQueryConverter<AuditServiceLoadRequest> {
-
-  @Override
-  public FacetOptions.FacetSort getFacetSort() {
-    return FacetOptions.FacetSort.COUNT;
-  }
-
-  @Override
-  public String getDateTimeField() {
-    return AUDIT_EVTTIME;
-  }
-
-  @Override
-  public LogType getLogType() {
-    return LogType.AUDIT;
-  }
-
-  @Override
-  public void appendFacetOptions(FacetOptions facetOptions, 
AuditServiceLoadRequest request) {
-    facetOptions.addFacetOnField(AUDIT_COMPONENT);
-    facetOptions.setFacetLimit(10);
-  }
-}

Reply via email to