You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ol...@apache.org on 2016/09/13 10:41:37 UTC
[20/51] [abbrv] ambari git commit: AMBARI-18253. Fix LogSearch
utility classes (Miklos Gergely via oleewere)
AMBARI-18253. Fix LogSearch utility classes (Miklos Gergely via oleewere)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0afbca7f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0afbca7f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0afbca7f
Branch: refs/heads/logsearch-ga
Commit: 0afbca7fc77366a0bcdda5137f539bec18b2f277
Parents: 08bab8d
Author: oleewere <ol...@gmail.com>
Authored: Thu Aug 25 13:02:45 2016 +0200
Committer: oleewere <ol...@gmail.com>
Committed: Tue Sep 13 12:19:24 2016 +0200
----------------------------------------------------------------------
.../org/apache/ambari/logsearch/LogSearch.java | 8 +-
.../ambari/logsearch/common/ConfigHelper.java | 136 ++++++++++++
.../logsearch/common/ExternalServerClient.java | 96 +++++++++
.../logsearch/common/PropertiesHelper.java | 181 ++++++++++++++++
.../ambari/logsearch/common/SearchCriteria.java | 5 +-
.../logsearch/common/XMLPropertiesHelper.java | 79 +++++++
.../ambari/logsearch/dao/AuditSolrDao.java | 20 +-
.../logsearch/dao/ServiceLogsSolrDao.java | 16 +-
.../ambari/logsearch/dao/SolrDaoBase.java | 21 +-
.../ambari/logsearch/dao/UserConfigSolrDao.java | 27 +--
.../apache/ambari/logsearch/dao/UserDao.java | 17 +-
.../logsearch/graph/GraphDataGenerator.java | 36 ++--
.../logsearch/graph/GraphDataGeneratorBase.java | 6 +-
.../ambari/logsearch/manager/AuditMgr.java | 93 ++++----
.../ambari/logsearch/manager/LogFileMgr.java | 22 +-
.../ambari/logsearch/manager/LogsMgr.java | 211 +++++++++----------
.../ambari/logsearch/manager/MgrBase.java | 30 +--
.../ambari/logsearch/manager/UserConfigMgr.java | 47 ++---
.../ambari/logsearch/query/QueryGeneration.java | 36 ++--
.../logsearch/query/QueryGenerationBase.java | 34 ++-
.../ambari/logsearch/rest/ServiceLogsREST.java | 4 -
.../ambari/logsearch/rest/UserConfigREST.java | 4 -
.../solr/metrics/SolrMetricsLoader.java | 8 +-
.../apache/ambari/logsearch/util/BizUtil.java | 27 +--
.../ambari/logsearch/util/CommonUtil.java | 4 +
.../ambari/logsearch/util/ConfigUtil.java | 140 ------------
.../apache/ambari/logsearch/util/DateUtil.java | 32 +--
.../logsearch/util/ExternalServerClient.java | 96 ---------
.../apache/ambari/logsearch/util/FileUtil.java | 17 +-
.../apache/ambari/logsearch/util/JSONUtil.java | 41 ++--
.../ambari/logsearch/util/PropertiesUtil.java | 182 ----------------
.../apache/ambari/logsearch/util/QueryBase.java | 132 ------------
.../ambari/logsearch/util/RESTErrorUtil.java | 16 +-
.../apache/ambari/logsearch/util/SolrUtil.java | 164 +++++++++++---
.../logsearch/util/XMLPropertiesUtil.java | 85 --------
.../LogsearchAuthFailureHandler.java | 11 +-
.../LogsearchAuthenticationEntryPoint.java | 8 +-
.../LogsearchKRBAuthenticationFilter.java | 26 +--
.../ambari/logsearch/web/security/LdapUtil.java | 8 +-
...LogsearchAbstractAuthenticationProvider.java | 4 +-
.../LogsearchAuthenticationProvider.java | 13 +-
...rchExternalServerAuthenticationProvider.java | 13 +-
.../main/webapp/META-INF/applicationContext.xml | 4 +-
.../ambari/logsearch/dao/SolrDaoBaseTest.java | 1 -
.../logsearch/dao/UserConfigSolrDaoTest.java | 13 +-
.../src/test/resources/applicationContext.xml | 4 +-
.../applicationContext_testManagers.xml | 53 -----
47 files changed, 1013 insertions(+), 1218 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/LogSearch.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/LogSearch.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/LogSearch.java
index fcebcea..15355a1 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/LogSearch.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/LogSearch.java
@@ -25,10 +25,10 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import org.apache.ambari.logsearch.common.ConfigHelper;
import org.apache.ambari.logsearch.common.ManageStartEndTime;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.solr.metrics.SolrMetricsLoader;
-import org.apache.ambari.logsearch.util.ConfigUtil;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.jetty.server.Connector;
@@ -92,7 +92,7 @@ public class LogSearch {
logger.debug(server.dump());
logger
.debug("==============================================================================");
- ConfigUtil.initializeApplicationConfig();
+ ConfigHelper.initializeApplicationConfig();
server.join();
}
@@ -100,7 +100,7 @@ public class LogSearch {
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
boolean portSpecified = argv.length > 0;
- String protcolProperty = PropertiesUtil.getProperty(LOGSEARCH_PROTOCOL_PROP,HTTP_PROTOCOL);
+ String protcolProperty = PropertiesHelper.getProperty(LOGSEARCH_PROTOCOL_PROP,HTTP_PROTOCOL);
if (StringUtils.isEmpty(protcolProperty)) {
protcolProperty = HTTP_PROTOCOL;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ConfigHelper.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ConfigHelper.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ConfigHelper.java
new file mode 100644
index 0000000..edb4ffa
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ConfigHelper.java
@@ -0,0 +1,136 @@
+/*
+ * 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.common;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ambari.logsearch.dao.SolrDaoBase;
+import org.apache.ambari.logsearch.manager.MgrBase;
+import org.apache.commons.lang.ArrayUtils;
+import org.apache.log4j.Logger;
+import org.codehaus.jettison.json.JSONArray;
+import org.codehaus.jettison.json.JSONObject;
+
+public class ConfigHelper {
+ private static final Logger logger = Logger.getLogger(MgrBase.class);
+
+ public static HashMap<String, String> serviceLogsColumnMapping = new HashMap<String, String>();
+ public static HashMap<String, String> auditLogsColumnMapping = new HashMap<String, String>();
+
+ private ConfigHelper() {
+ throw new UnsupportedOperationException();
+ }
+
+ public static void initializeApplicationConfig() {
+ String serviceLogsColumnMappingArray[] = PropertiesHelper.getPropertyStringList("logsearch.solr.service.logs.column.mapping");
+ String auditLogsColumnMappingArray[] = PropertiesHelper.getPropertyStringList("logsearch.solr.audit.logs.column.mapping");
+
+ // Initializing column mapping for Service Logs
+ intializeUISolrColumnMapping(serviceLogsColumnMappingArray, serviceLogsColumnMapping);
+
+ // Initializing column mapping for Audit Logs
+ intializeUISolrColumnMapping(auditLogsColumnMappingArray, auditLogsColumnMapping);
+ }
+
+ private static void intializeUISolrColumnMapping(String columnMappingArray[], HashMap<String, String> columnMappingMap) {
+
+ if (columnMappingArray != null && columnMappingArray.length > 0) {
+ for (String columnMapping : columnMappingArray) {
+ String mapping[] = columnMapping.split(":");
+ if (mapping.length > 1) {
+ String solrField = mapping[0];
+ String uiField = mapping[1];
+
+ columnMappingMap.put(solrField + LogSearchConstants.SOLR_SUFFIX, uiField);
+ columnMappingMap.put(uiField + LogSearchConstants.UI_SUFFIX, solrField);
+ }
+ }
+ }
+ }
+
+ public static void extractSchemaFieldsName(String responseString, HashMap<String, String> schemaFieldsNameMap,
+ HashMap<String, String> schemaFieldTypeMap) {
+ try {
+ JSONObject jsonObject = new JSONObject(responseString);
+ JSONObject schemajsonObject = jsonObject.getJSONObject("schema");
+ JSONArray jsonArrayList = schemajsonObject.getJSONArray("fields");
+ JSONArray fieldTypeJsonArray = schemajsonObject
+ .getJSONArray("fieldTypes");
+ if (jsonArrayList == null) {
+ return;
+ }
+ if (fieldTypeJsonArray == null) {
+ return;
+ }
+ HashMap<String, String> _schemaFieldTypeMap = new HashMap<String, String>();
+ HashMap<String, String> _schemaFieldsNameMap = new HashMap<String, String>();
+ for (int i = 0; i < fieldTypeJsonArray.length(); i++) {
+ JSONObject typeObject = fieldTypeJsonArray.getJSONObject(i);
+ String name = typeObject.getString("name");
+ String fieldTypeJson = typeObject.toString();
+ _schemaFieldTypeMap.put(name, fieldTypeJson);
+ }
+
+ for (int i = 0; i < jsonArrayList.length(); i++) {
+ JSONObject explrObject = jsonArrayList.getJSONObject(i);
+ String name = explrObject.getString("name");
+ String type = explrObject.getString("type");
+ if (!name.contains("@") && !name.startsWith("_") && !name.contains("_md5") && !name.contains("_ms") &&
+ !name.contains(LogSearchConstants.NGRAM_SUFFIX) && !name.contains("tags") && !name.contains("_str")) {
+ _schemaFieldsNameMap.put(name, type);
+ }
+ }
+ schemaFieldsNameMap.clear();
+ schemaFieldTypeMap.clear();
+ schemaFieldsNameMap.putAll(_schemaFieldsNameMap);
+ schemaFieldTypeMap.putAll(_schemaFieldTypeMap);
+ } catch (Exception e) {
+ logger.error(e + "Credentials not specified in logsearch.properties " + MessageEnums.ERROR_SYSTEM);
+ }
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static void getSchemaFieldsName(String excludeArray[], List<String> fieldNames, SolrDaoBase solrDaoBase) {
+ if (!solrDaoBase.schemaFieldsNameMap.isEmpty()) {
+ Iterator iteratorSechmaFieldsName = solrDaoBase.schemaFieldsNameMap.entrySet().iterator();
+ while (iteratorSechmaFieldsName.hasNext()) {
+ Map.Entry fieldName = (Map.Entry) iteratorSechmaFieldsName.next();
+ String field = "" + fieldName.getKey();
+ if (!isExclude(field, excludeArray)) {
+ fieldNames.add(field);
+ }
+ }
+ }
+ }
+
+ private static boolean isExclude(String name, String excludeArray[]) {
+ if (!ArrayUtils.isEmpty(excludeArray)) {
+ for (String exclude : excludeArray) {
+ if (name.equals(exclude)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
new file mode 100644
index 0000000..5235fab
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/ExternalServerClient.java
@@ -0,0 +1,96 @@
+/*
+ * 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.common;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+
+import org.apache.ambari.logsearch.web.security.LogsearchAbstractAuthenticationProvider;
+import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
+import org.glassfish.jersey.client.JerseyClient;
+import org.glassfish.jersey.client.JerseyClientBuilder;
+import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
+import org.glassfish.jersey.filter.LoggingFilter;
+import org.springframework.stereotype.Component;
+
+/**
+ * Layer to send REST request to External server using jersey client
+ */
+@Component
+public class ExternalServerClient {
+ private static Logger LOG = Logger.getLogger(ExternalServerClient.class);
+ private static final ThreadLocal<JerseyClient> localJerseyClient = new ThreadLocal<JerseyClient>(){
+ @Override
+ protected JerseyClient initialValue() {
+ return JerseyClientBuilder.createClient();
+ }
+ };
+ private String hostURL = "http://host:ip";// default
+ private boolean enableLog = false;// default
+
+ @PostConstruct
+ public void initialization() {
+ hostURL = PropertiesHelper.getProperty(
+ LogsearchAbstractAuthenticationProvider.AUTH_METHOD_PROP_START_WITH
+ + "external_auth.host_url", hostURL);
+ }
+
+ /**
+ * Send GET request to an external server
+ */
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ public Object sendGETRequest(String url, Class klass, MultivaluedMap<String, String> queryParam,
+ String username, String password)
+ throws Exception {
+ url = hostURL + url;
+ JerseyClient client = localJerseyClient.get();
+ HttpAuthenticationFeature authFeature = HttpAuthenticationFeature.basicBuilder().build();
+
+ client.register(authFeature);
+ if (enableLog) {
+ client.register(LoggingFilter.class);
+ }
+
+ WebTarget target = client.target(url);
+ LOG.debug("URL: " + url);
+ for (Map.Entry<String, List<String>> entry : queryParam.entrySet()) {
+ target = target.queryParam(entry.getKey(), entry.getValue());
+ LOG.debug(
+ String.format("Query parameter: name - %s ; value - %s ;" + entry.getKey(), StringUtils.join(entry.getValue(),',')));
+ }
+ target
+ .property(HttpAuthenticationFeature.HTTP_AUTHENTICATION_BASIC_USERNAME, username)
+ .property(HttpAuthenticationFeature.HTTP_AUTHENTICATION_BASIC_PASSWORD, password);
+ Invocation.Builder invocationBuilder = target.request(MediaType.APPLICATION_JSON_TYPE);
+ try {
+ return invocationBuilder.get().readEntity(klass);
+ } catch (Exception e) {
+ throw new Exception(e.getCause());
+ } finally {
+ localJerseyClient.remove();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/PropertiesHelper.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/PropertiesHelper.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/PropertiesHelper.java
new file mode 100644
index 0000000..adb0699
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/PropertiesHelper.java
@@ -0,0 +1,181 @@
+/*
+ * 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.common;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
+
+public class PropertiesHelper extends PropertyPlaceholderConfigurer {
+ private static final Logger logger = Logger.getLogger(PropertiesHelper.class);
+
+ private static final String LOGSEARCH_PROP_FILE="logsearch.properties";
+
+ private static Map<String, String> propertiesMap;
+
+ private PropertiesHelper() {
+ }
+
+ static {
+ propertiesMap = new HashMap<String, String>();
+ Properties properties = new Properties();
+ URL fileCompleteUrl = Thread.currentThread().getContextClassLoader().getResource(LOGSEARCH_PROP_FILE);
+ FileInputStream fileInputStream = null;
+ try {
+ File file = new File(fileCompleteUrl.toURI());
+ fileInputStream = new FileInputStream(file.getAbsoluteFile());
+ properties.load(fileInputStream);
+ } catch (IOException | URISyntaxException e) {
+ logger.error("error loading prop for protocol config",e);
+ } finally {
+ if (fileInputStream != null) {
+ try {
+ fileInputStream.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+ for (String key : properties.stringPropertyNames()) {
+ String value = properties.getProperty(key);
+ propertiesMap.put(key, value);
+ }
+ }
+
+ @Override
+ protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props) throws BeansException {
+ super.processProperties(beanFactory, props);
+
+ propertiesMap = new HashMap<String, String>();
+
+ // First add the system properties
+ Set<Object> keySet = System.getProperties().keySet();
+ for (Object key : keySet) {
+ String keyStr = key.toString();
+ propertiesMap.put(keyStr, System.getProperties().getProperty(keyStr).trim());
+ }
+
+ // add our properties now
+ keySet = props.keySet();
+ for (Object key : keySet) {
+ String keyStr = key.toString();
+ propertiesMap.put(keyStr, props.getProperty(keyStr).trim());
+ }
+ }
+
+ public static String getProperty(String key, String defaultValue) {
+ if (key == null) {
+ return null;
+ }
+ String rtrnVal = propertiesMap.get(key);
+ if (rtrnVal == null) {
+ rtrnVal = defaultValue;
+ }
+ return rtrnVal;
+ }
+
+ public static String getProperty(String key) {
+ if (key == null) {
+ return null;
+ }
+ return propertiesMap.get(key);
+ }
+
+ public static String[] getPropertyStringList(String key) {
+ if (key == null) {
+ return null;
+ }
+ String value = propertiesMap.get(key);
+ if (value == null || value.trim().equals("")) {
+ return new String[0];
+ } else {
+ String[] splitValues = value.split(",");
+ String[] returnValues = new String[splitValues.length];
+ for (int i = 0; i < splitValues.length; i++) {
+ returnValues[i] = splitValues[i].trim();
+ }
+ return returnValues;
+ }
+ }
+
+ public static Integer getIntProperty(String key, int defaultValue) {
+ if (key == null) {
+ return null;
+ }
+ String rtrnVal = propertiesMap.get(key);
+ if (rtrnVal == null) {
+ return defaultValue;
+ }
+ return Integer.valueOf(rtrnVal);
+ }
+
+ public static Integer getIntProperty(String key) {
+ if (key == null) {
+ return null;
+ }
+ String rtrnVal = propertiesMap.get(key);
+ if (rtrnVal == null) {
+ return null;
+ }
+ return Integer.valueOf(rtrnVal);
+ }
+
+ public static Long getLongProperty(String key, long defaultValue) {
+ if (key == null) {
+ return null;
+ }
+ String rtrnVal = propertiesMap.get(key);
+ if (rtrnVal == null) {
+ return defaultValue;
+ }
+ return Long.valueOf(rtrnVal);
+ }
+
+ public static Long getLongProperty(String key) {
+ if (key == null) {
+ return null;
+ }
+ String rtrnVal = propertiesMap.get(key);
+ if (rtrnVal == null) {
+ return null;
+ }
+ return Long.valueOf(rtrnVal);
+ }
+
+ public static boolean getBooleanProperty(String key, boolean defaultValue) {
+ if (key == null) {
+ return defaultValue;
+ }
+ String value = getProperty(key);
+ if (value == null) {
+ return defaultValue;
+ }
+ return Boolean.parseBoolean(value);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/SearchCriteria.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/SearchCriteria.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/SearchCriteria.java
index 2cf2139..6b74144 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/SearchCriteria.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/SearchCriteria.java
@@ -26,7 +26,6 @@ import java.util.Set;
import javax.servlet.http.HttpServletRequest;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.commons.lang.StringEscapeUtils;
public class SearchCriteria {
@@ -58,7 +57,7 @@ public class SearchCriteria {
if (request.getParameter("pageSize") != null && (!request.getParameter("pageSize").isEmpty())) {
this.maxRows = new Integer(request.getParameter("pageSize"));
} else {
- this.maxRows = PropertiesUtil.getIntProperty("db.maxResults", 50);
+ this.maxRows = PropertiesHelper.getIntProperty("db.maxResults", 50);
}
} catch (NumberFormatException e) {
// do nothing
@@ -197,7 +196,7 @@ public class SearchCriteria {
* @param caId
*/
public void addParam(String name, Object value) {
- String solrValue = PropertiesUtil.getProperty(name);
+ String solrValue = PropertiesHelper.getProperty(name);
if (solrValue == null || solrValue.isEmpty()) {
paramList.put(name, value);
} else {
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/XMLPropertiesHelper.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/XMLPropertiesHelper.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/XMLPropertiesHelper.java
new file mode 100644
index 0000000..690a60f
--- /dev/null
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/common/XMLPropertiesHelper.java
@@ -0,0 +1,79 @@
+/*
+ * 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.common;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.log4j.Logger;
+import org.springframework.util.DefaultPropertiesPersister;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class XMLPropertiesHelper extends DefaultPropertiesPersister {
+ private static Logger logger = Logger.getLogger(XMLPropertiesHelper.class);
+
+ public XMLPropertiesHelper() {
+ }
+
+ @Override
+ public void loadFromXml(Properties properties, InputStream inputStream)
+ throws IOException {
+ try {
+ DocumentBuilderFactory xmlDocumentBuilderFactory = DocumentBuilderFactory.newInstance();
+ xmlDocumentBuilderFactory.setIgnoringComments(true);
+ xmlDocumentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilder xmlDocumentBuilder = xmlDocumentBuilderFactory.newDocumentBuilder();
+ Document xmlDocument = xmlDocumentBuilder.parse(inputStream);
+ if (xmlDocument != null) {
+ xmlDocument.getDocumentElement().normalize();
+ NodeList nList = xmlDocument.getElementsByTagName("property");
+ if (nList != null) {
+ for (int temp = 0; temp < nList.getLength(); temp++) {
+ Node nNode = nList.item(temp);
+ if (nNode.getNodeType() == Node.ELEMENT_NODE) {
+ Element eElement = (Element) nNode;
+ String propertyName = "";
+ String propertyValue = "";
+ if (eElement.getElementsByTagName("name") != null && eElement.getElementsByTagName("name").item(0) != null) {
+ propertyName = eElement.getElementsByTagName("name").item(0).getTextContent().trim();
+ }
+ if (eElement.getElementsByTagName("value") != null && eElement.getElementsByTagName("value").item(0) != null) {
+ propertyValue = eElement.getElementsByTagName("value").item(0).getTextContent().trim();
+ }
+ if (propertyName != null && !propertyName.isEmpty()) {
+ properties.put(propertyName, propertyValue);
+ }
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ logger.error("Error loading xml properties ", e);
+ }
+ }
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
index a6f77e9..64aa776 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java
@@ -24,8 +24,8 @@ import java.util.Collection;
import javax.annotation.PostConstruct;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.manager.MgrBase.LogType;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
@@ -41,15 +41,15 @@ public class AuditSolrDao extends SolrDaoBase {
@PostConstruct
public void postConstructor() {
- String solrUrl = PropertiesUtil.getProperty("logsearch.solr.audit.logs.url");
- String zkConnectString = PropertiesUtil.getProperty("logsearch.solr.audit.logs.zk_connect_string");
- String collection = PropertiesUtil.getProperty("logsearch.solr.collection.audit.logs", "audit_logs");
- String aliasNameIn = PropertiesUtil.getProperty("logsearch.solr.audit.logs.alias.name", "audit_logs_alias");
- String rangerAuditCollection = PropertiesUtil.getProperty("logsearch.ranger.audit.logs.collection.name");
- String splitInterval = PropertiesUtil.getProperty("logsearch.audit.logs.split.interval.mins", "none");
- String configName = PropertiesUtil.getProperty("logsearch.solr.audit.logs.config.name", "audit_logs");
- int numberOfShards = PropertiesUtil.getIntProperty("logsearch.collection.audit.logs.numshards", 1);
- int replicationFactor = PropertiesUtil.getIntProperty("logsearch.collection.audit.logs.replication.factor", 1);
+ String solrUrl = PropertiesHelper.getProperty("logsearch.solr.audit.logs.url");
+ String zkConnectString = PropertiesHelper.getProperty("logsearch.solr.audit.logs.zk_connect_string");
+ String collection = PropertiesHelper.getProperty("logsearch.solr.collection.audit.logs", "audit_logs");
+ String aliasNameIn = PropertiesHelper.getProperty("logsearch.solr.audit.logs.alias.name", "audit_logs_alias");
+ String rangerAuditCollection = PropertiesHelper.getProperty("logsearch.ranger.audit.logs.collection.name");
+ String splitInterval = PropertiesHelper.getProperty("logsearch.audit.logs.split.interval.mins", "none");
+ String configName = PropertiesHelper.getProperty("logsearch.solr.audit.logs.config.name", "audit_logs");
+ int numberOfShards = PropertiesHelper.getIntProperty("logsearch.collection.audit.logs.numshards", 1);
+ int replicationFactor = PropertiesHelper.getIntProperty("logsearch.collection.audit.logs.replication.factor", 1);
try {
connectToSolr(solrUrl, zkConnectString, collection);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
index af6d62d..6e2bb4b 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java
@@ -21,8 +21,8 @@ package org.apache.ambari.logsearch.dao;
import javax.annotation.PostConstruct;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.manager.MgrBase.LogType;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
@@ -38,13 +38,13 @@ public class ServiceLogsSolrDao extends SolrDaoBase {
@PostConstruct
public void postConstructor() {
logger.info("postConstructor() called.");
- String solrUrl = PropertiesUtil.getProperty("logsearch.solr.url");
- String zkConnectString = PropertiesUtil.getProperty("logsearch.solr.zk_connect_string");
- String collection = PropertiesUtil.getProperty("logsearch.solr.collection.service.logs", "hadoop_logs");
- String splitInterval = PropertiesUtil.getProperty("logsearch.service.logs.split.interval.mins", "none");
- String configName = PropertiesUtil.getProperty("logsearch.solr.service.logs.config.name", "hadoop_logs");
- int numberOfShards = PropertiesUtil.getIntProperty("logsearch.collection.service.logs.numshards", 1);
- int replicationFactor = PropertiesUtil.getIntProperty("logsearch.collection.service.logs.replication.factor", 1);
+ String solrUrl = PropertiesHelper.getProperty("logsearch.solr.url");
+ String zkConnectString = PropertiesHelper.getProperty("logsearch.solr.zk_connect_string");
+ String collection = PropertiesHelper.getProperty("logsearch.solr.collection.service.logs", "hadoop_logs");
+ String splitInterval = PropertiesHelper.getProperty("logsearch.service.logs.split.interval.mins", "none");
+ String configName = PropertiesHelper.getProperty("logsearch.solr.service.logs.config.name", "hadoop_logs");
+ int numberOfShards = PropertiesHelper.getIntProperty("logsearch.collection.service.logs.numshards", 1);
+ int replicationFactor = PropertiesHelper.getIntProperty("logsearch.collection.service.logs.replication.factor", 1);
try {
connectToSolr(solrUrl, zkConnectString, collection);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
index 2129f9e..8cdb6eb 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java
@@ -26,12 +26,11 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import org.apache.ambari.logsearch.common.ConfigHelper;
import org.apache.ambari.logsearch.common.LogSearchContext;
import org.apache.ambari.logsearch.common.MessageEnums;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.manager.MgrBase.LogType;
-import org.apache.ambari.logsearch.util.ConfigUtil;
-import org.apache.ambari.logsearch.util.JSONUtil;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.ambari.logsearch.util.RESTErrorUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
@@ -56,7 +55,6 @@ import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.NamedList;
-import org.springframework.beans.factory.annotation.Autowired;
import com.google.common.annotations.VisibleForTesting;
@@ -75,11 +73,6 @@ public abstract class SolrDaoBase {
private LogType logType;
- @Autowired
- protected JSONUtil jsonUtil;
- @Autowired
- protected RESTErrorUtil restErrorUtil;
-
@VisibleForTesting
protected String collectionName = null;
@VisibleForTesting
@@ -446,7 +439,7 @@ public abstract class SolrDaoBase {
}
return queryResponse;
} else {
- throw restErrorUtil.createRESTException("Solr configuration improper for " + logType.getLabel() +" logs",
+ throw RESTErrorUtil.createRESTException("Solr configuration improper for " + logType.getLabel() +" logs",
MessageEnums.ERROR_SYSTEM);
}
}
@@ -468,8 +461,8 @@ public abstract class SolrDaoBase {
}
private void setupSecurity() {
- String jaasFile = PropertiesUtil.getProperty("logsearch.solr.jaas.file", "/etc/security/keytabs/logsearch_solr.service.keytab");
- boolean securityEnabled = PropertiesUtil.getBooleanProperty("logsearch.solr.kerberos.enable", false);
+ String jaasFile = PropertiesHelper.getProperty("logsearch.solr.jaas.file", "/etc/security/keytabs/logsearch_solr.service.keytab");
+ boolean securityEnabled = PropertiesHelper.getBooleanProperty("logsearch.solr.kerberos.enable", false);
if (securityEnabled) {
System.setProperty("java.security.auth.login.config", jaasFile);
HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
@@ -519,7 +512,7 @@ public abstract class SolrDaoBase {
SolrRequest<SchemaResponse> request = new SchemaRequest();
request.setMethod(METHOD.GET);
request.setPath("/schema");
- String historyCollection = PropertiesUtil.getProperty("logsearch.solr.collection.history","history");
+ String historyCollection = PropertiesHelper.getProperty("logsearch.solr.collection.history","history");
if (solrClient != null && !collectionName.equals(historyCollection)) {
NamedList<Object> namedList = null;
try {
@@ -530,7 +523,7 @@ public abstract class SolrDaoBase {
}
if (namedList != null) {
- ConfigUtil.extractSchemaFieldsName(namedList.toString(), schemaFieldsNameMap,schemaFieldTypeMap);
+ ConfigHelper.extractSchemaFieldsName(namedList.toString(), schemaFieldsNameMap,schemaFieldTypeMap);
return true;
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java
index a0c1134..026c78f 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java
@@ -29,6 +29,7 @@ import java.util.Scanner;
import javax.annotation.PostConstruct;
import org.apache.ambari.logsearch.view.VLogfeederFilterWrapper;
import org.apache.ambari.logsearch.common.LogSearchConstants;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
@@ -42,7 +43,7 @@ import org.codehaus.jettison.json.JSONObject;
import com.google.gson.JsonParseException;
import org.apache.ambari.logsearch.manager.MgrBase.LogType;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
+import org.apache.ambari.logsearch.util.JSONUtil;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@@ -59,11 +60,11 @@ public class UserConfigSolrDao extends SolrDaoBase {
@PostConstruct
public void postConstructor() {
- String solrUrl = PropertiesUtil.getProperty("logsearch.solr.url");
- String zkConnectString = PropertiesUtil.getProperty("logsearch.solr.zk_connect_string");
- String collection = PropertiesUtil.getProperty("logsearch.solr.collection.history", "history");
- String configName = PropertiesUtil.getProperty("logsearch.solr.history.config.name", "history");
- int replicationFactor = PropertiesUtil.getIntProperty("logsearch.collection.history.replication.factor", 2);
+ String solrUrl = PropertiesHelper.getProperty("logsearch.solr.url");
+ String zkConnectString = PropertiesHelper.getProperty("logsearch.solr.zk_connect_string");
+ String collection = PropertiesHelper.getProperty("logsearch.solr.collection.history", "history");
+ String configName = PropertiesHelper.getProperty("logsearch.solr.history.config.name", "history");
+ int replicationFactor = PropertiesHelper.getIntProperty("logsearch.collection.history.replication.factor", 2);
String splitInterval = "none";
int numberOfShards = 1;
@@ -88,7 +89,7 @@ public class UserConfigSolrDao extends SolrDaoBase {
public void saveUserFilter(VLogfeederFilterWrapper logfeederFilterWrapper) throws SolrException, SolrServerException, IOException {
String filterName = LogSearchConstants.LOGFEEDER_FILTER_NAME;
- String json = jsonUtil.objToJson(logfeederFilterWrapper);
+ String json = JSONUtil.objToJson(logfeederFilterWrapper);
SolrInputDocument configDocument = new SolrInputDocument();
configDocument.addField(LogSearchConstants.ID, logfeederFilterWrapper.getId());
configDocument.addField(LogSearchConstants.ROW_TYPE, filterName);
@@ -115,14 +116,14 @@ public class UserConfigSolrDao extends SolrDaoBase {
VLogfeederFilterWrapper logfeederFilterWrapper = null;
if (!CollectionUtils.isEmpty(documentList)) {
SolrDocument configDoc = documentList.get(0);
- String configJson = jsonUtil.objToJson(configDoc);
- HashMap<String, Object> configMap = (HashMap<String, Object>) jsonUtil.jsonToMapObject(configJson);
+ String configJson = JSONUtil.objToJson(configDoc);
+ HashMap<String, Object> configMap = (HashMap<String, Object>) JSONUtil.jsonToMapObject(configJson);
String json = (String) configMap.get(LogSearchConstants.VALUES);
- logfeederFilterWrapper = (VLogfeederFilterWrapper) jsonUtil.jsonToObj(json, VLogfeederFilterWrapper.class);
+ logfeederFilterWrapper = (VLogfeederFilterWrapper) JSONUtil.jsonToObj(json, VLogfeederFilterWrapper.class);
logfeederFilterWrapper.setId("" + configDoc.get(LogSearchConstants.ID));
} else {
- String logfeederDefaultLevels = PropertiesUtil.getProperty("logsearch.logfeeder.include.default.level", DEFAULT_LEVELS);
+ String logfeederDefaultLevels = PropertiesHelper.getProperty("logsearch.logfeeder.include.default.level", DEFAULT_LEVELS);
JSONArray levelJsonArray = new JSONArray(Arrays.asList(logfeederDefaultLevels.split(",")));
String hadoopServiceString = getHadoopServiceConfigJSON();
@@ -148,7 +149,7 @@ public class UserConfigSolrDao extends SolrDaoBase {
}
}
jsonValue.put("filter", componentList);
- logfeederFilterWrapper = (VLogfeederFilterWrapper) jsonUtil.jsonToObj(jsonValue.toString(), VLogfeederFilterWrapper.class);
+ logfeederFilterWrapper = (VLogfeederFilterWrapper) JSONUtil.jsonToObj(jsonValue.toString(), VLogfeederFilterWrapper.class);
logfeederFilterWrapper.setId(""+new Date().getTime());
saveUserFilter(logfeederFilterWrapper);
@@ -181,7 +182,7 @@ public class UserConfigSolrDao extends SolrDaoBase {
}
String hadoopServiceConfig = result.toString();
- if (jsonUtil.isJSONValid(hadoopServiceConfig)) {
+ if (JSONUtil.isJSONValid(hadoopServiceConfig)) {
return hadoopServiceConfig;
}
return null;
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
index b7853df..39f0e25 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserDao.java
@@ -28,11 +28,10 @@ import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.stereotype.Repository;
-
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.util.CommonUtil;
import org.apache.ambari.logsearch.util.FileUtil;
import org.apache.ambari.logsearch.util.JSONUtil;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.ambari.logsearch.web.model.Privilege;
import org.apache.ambari.logsearch.web.model.Role;
import org.apache.ambari.logsearch.web.model.User;
@@ -52,10 +51,6 @@ public class UserDao {
private static final String NAME = "name";
@Autowired
- private JSONUtil jsonUtil;
- @Autowired
- private FileUtil fileUtil;
- @Autowired
private LogsearchFileAuthenticationProvider fileAuthenticationProvider;
private ArrayList<HashMap<String, String>> userList = null;
@@ -65,21 +60,21 @@ public class UserDao {
public void initialization() {
if (fileAuthenticationProvider.isEnable()) {
try {
- String userPassJsonFileName = PropertiesUtil.getProperty("logsearch.login.credentials.file");
+ String userPassJsonFileName = PropertiesHelper.getProperty("logsearch.login.credentials.file");
logger.info("USER PASS JSON file NAME:" + userPassJsonFileName);
- File jsonFile = fileUtil.getFileFromClasspath(userPassJsonFileName);
+ File jsonFile = FileUtil.getFileFromClasspath(userPassJsonFileName);
if (jsonFile == null || !jsonFile.exists()) {
logger.fatal("user_pass json file not found in classpath :" + userPassJsonFileName);
System.exit(1);
}
- HashMap<String, Object> userInfos = jsonUtil.readJsonFromFile(jsonFile);
+ HashMap<String, Object> userInfos = JSONUtil.readJsonFromFile(jsonFile);
userList = (ArrayList<HashMap<String, String>>) userInfos.get("users");
if (userList != null) {
boolean isUpdated = this.encryptAllPassword();
userInfos.put("users", userList);
if (isUpdated) {
- String jsonStr = jsonUtil.mapToJSON(userInfos);
- jsonUtil.writeJSONInFile(jsonStr, jsonFile, true);
+ String jsonStr = JSONUtil.mapToJSON(userInfos);
+ JSONUtil.writeJSONInFile(jsonStr, jsonFile, true);
}
} else {
userList = new ArrayList<HashMap<String, String>>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGenerator.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGenerator.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGenerator.java
index 3793f50..d84b7b9 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGenerator.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGenerator.java
@@ -47,8 +47,6 @@ import org.apache.solr.common.util.SimpleOrderedMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-
-
@Component
public class GraphDataGenerator extends GraphDataGeneratorBase {
@@ -56,10 +54,6 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
@Autowired
private QueryGeneration queryGenerator;
- @Autowired
- private RESTErrorUtil restErrorUtil;
- @Autowired
- private SolrUtil solrUtil;
public VBarDataList getAnyGraphData(SearchCriteria searchCriteria, SolrDaoBase solrDaoBase, SolrQuery solrQuery) {
// X axis credentials
@@ -131,10 +125,10 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
Collection<VBarGraphData> vBarGraphDatas = new ArrayList<VBarGraphData>();
VBarGraphData vBarGraphData = new VBarGraphData();
Collection<VNameValue> vNameValues = new ArrayList<VNameValue>();
- queryGenerator.setMainQuery(solrQuery, null);
+ SolrUtil.setMainQuery(solrQuery, null);
queryGenerator.setSingleIncludeFilter(solrQuery, fieldTime, "[" + from + " TO " + to + "]");
if (typeXAxis.contains("string") || typeXAxis.contains("key_lower_case") || typeXAxis.contains("text")) {
- queryGenerator.setFacetField(solrQuery, xAxisField);
+ SolrUtil.setFacetField(solrQuery, xAxisField);
try {
QueryResponse response = solrDaoBase.process(solrQuery);
if (response != null && response.getResults() != null) {
@@ -184,10 +178,10 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
logger.error("Got exception for solr query :" + query, e.getCause());
}
} else {
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setRowCount(solrQuery, 0);
String yAxis = yAxisField.contains("count") ? "sum" : yAxisField;
String jsonQuery = queryGenerator.buildJSONFacetAggregatedFuncitonQuery(yAxis, xAxisField);
- queryGenerator.setJSONFacet(solrQuery, jsonQuery);
+ SolrUtil.setJSONFacet(solrQuery, jsonQuery);
try {
QueryResponse response = solrDaoBase.process(solrQuery);
SimpleOrderedMap<Object> jsonFacetResponse = (SimpleOrderedMap<Object>) response.getResponse().get("facets");
@@ -218,17 +212,17 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
VBarDataList dataList = new VBarDataList();
Collection<VBarGraphData> vGraphData = new ArrayList<VBarGraphData>();
String mainQuery = queryGenerator.buildInclusiveRangeFilterQuery(fieldTime, from, to);
- queryGenerator.setMainQuery(solrQuery, mainQuery);
- queryGenerator.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
+ SolrUtil.setMainQuery(solrQuery, mainQuery);
+ SolrUtil.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
String jsonQuery = "";
- if (solrUtil.isSolrFieldNumber(typeXAxis,solrDaoBase)) {
+ if (SolrUtil.isSolrFieldNumber(typeXAxis,solrDaoBase)) {
String function = (yAxisField.contains("count")) ? "sum" : yAxisField;
jsonQuery = queryGenerator.buidlJSONFacetRangeQueryForNumber(stackField, xAxisField, function);
} else {
jsonQuery = queryGenerator.buildJsonFacetTermsRangeQuery(stackField, xAxisField);
}
try {
- queryGenerator.setJSONFacet(solrQuery, jsonQuery);
+ SolrUtil.setJSONFacet(solrQuery, jsonQuery);
dataList.setGraphData(vGraphData);
QueryResponse response = solrDaoBase.process(solrQuery);
if (response == null) {
@@ -268,7 +262,7 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
} catch (SolrException | IOException | SolrServerException e) {
String query = solrQuery != null ? solrQuery.toQueryString() : "";
logger.error("Got exception for solr query :" + query, e.getCause());
- throw restErrorUtil.createRESTException(MessageEnums.DATA_NOT_FOUND.getMessage().getMessage(), MessageEnums.DATA_NOT_FOUND);
+ throw RESTErrorUtil.createRESTException(MessageEnums.DATA_NOT_FOUND.getMessage().getMessage(), MessageEnums.DATA_NOT_FOUND);
}
}
@@ -279,13 +273,13 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
Collection<VBarGraphData> vBarGraphDatas = new ArrayList<VBarGraphData>();
VBarGraphData vBarGraphData = new VBarGraphData();
Collection<VNameValue> vNameValues = new ArrayList<VNameValue>();
- queryGenerator.setMainQuery(solrQuery, null);
- if (solrUtil.isSolrFieldNumber(typeXAxis,solrDaoBase)) {
+ SolrUtil.setMainQuery(solrQuery, null);
+ if (SolrUtil.isSolrFieldNumber(typeXAxis,solrDaoBase)) {
queryGenerator.setSingleRangeFilter(solrQuery, fieldTime, from, to);
return normalGraph(xAxisField, yAxisField, from, to, solrDaoBase, typeXAxis, fieldTime, solrQuery);
} else {
try {
- queryGenerator.setFacetRange(solrQuery, xAxisField, from, to, unit);
+ SolrUtil.setFacetRange(solrQuery, xAxisField, from, to, unit);
QueryResponse response = solrDaoBase.process(solrQuery);
if (response != null) {
Long count = response.getResults().getNumFound();
@@ -322,13 +316,13 @@ public class GraphDataGenerator extends GraphDataGeneratorBase {
SolrDaoBase solrDaoBase, SolrQuery solrQuery) {
VBarDataList dataList = new VBarDataList();
List<VBarGraphData> histogramData = new ArrayList<VBarGraphData>();
- queryGenerator.setMainQuery(solrQuery, null);
- queryGenerator.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
+ SolrUtil.setMainQuery(solrQuery, null);
+ SolrUtil.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
String jsonHistogramQuery =
queryGenerator.buildJSONFacetTermTimeRangeQuery(stackField, xAxisField, from, to, unit).replace("\\", "");
try {
solrQuery.set("json.facet", jsonHistogramQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setRowCount(solrQuery, 0);
QueryResponse response = solrDaoBase.process(solrQuery);
if (response != null) {
SimpleOrderedMap<Object> jsonFacetResponse = (SimpleOrderedMap<Object>) response.getResponse().get("facets");
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGeneratorBase.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGeneratorBase.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGeneratorBase.java
index 49006e2..e7fab9a 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGeneratorBase.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/graph/GraphDataGeneratorBase.java
@@ -30,13 +30,9 @@ import org.apache.ambari.logsearch.view.VNameValue;
import org.apache.commons.lang.StringUtils;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.springframework.beans.factory.annotation.Autowired;
class GraphDataGeneratorBase extends MgrBase {
- @Autowired
- private DateUtil dateUtil;
-
private static final String BUCKETS = "buckets";
private static enum DataType {
@@ -86,7 +82,7 @@ class GraphDataGeneratorBase extends MgrBase {
for (Object levelBucket : levelBuckets) {
SimpleOrderedMap<Object> countValue = (SimpleOrderedMap<Object>) levelBucket;
if (countValue != null) {
- String innerName = dateUtil.convertDateWithMillisecondsToSolrDate((Date) countValue.getVal(0));
+ String innerName = DateUtil.convertDateWithMillisecondsToSolrDate((Date) countValue.getVal(0));
String innerValue = countValue.getVal(1) != null ? countValue.getVal(1).toString() : "";
VNameValue vNameValue = new VNameValue(innerName, innerValue);
vNameValues.add(vNameValue);
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditMgr.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditMgr.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditMgr.java
index 947fdbb..172ec81 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditMgr.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/AuditMgr.java
@@ -32,17 +32,18 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import org.apache.ambari.logsearch.common.ConfigHelper;
import org.apache.ambari.logsearch.common.LogSearchConstants;
import org.apache.ambari.logsearch.common.ManageStartEndTime;
import org.apache.ambari.logsearch.common.MessageEnums;
+import org.apache.ambari.logsearch.common.PropertiesHelper;
import org.apache.ambari.logsearch.common.SearchCriteria;
import org.apache.ambari.logsearch.dao.AuditSolrDao;
import org.apache.ambari.logsearch.graph.GraphDataGenerator;
import org.apache.ambari.logsearch.util.BizUtil;
-import org.apache.ambari.logsearch.util.ConfigUtil;
import org.apache.ambari.logsearch.util.DateUtil;
-import org.apache.ambari.logsearch.util.PropertiesUtil;
import org.apache.ambari.logsearch.util.RESTErrorUtil;
+import org.apache.ambari.logsearch.util.SolrUtil;
import org.apache.ambari.logsearch.view.VBarDataList;
import org.apache.ambari.logsearch.view.VBarGraphData;
import org.apache.ambari.logsearch.view.VGroupList;
@@ -72,12 +73,6 @@ public class AuditMgr extends MgrBase {
@Autowired
private AuditSolrDao auditSolrDao;
@Autowired
- private RESTErrorUtil restErrorUtil;
- @Autowired
- private BizUtil bizUtil;
- @Autowired
- private DateUtil dateUtil;
- @Autowired
private GraphDataGenerator graphDataGenerator;
public String getLogs(SearchCriteria searchCriteria) {
@@ -101,8 +96,8 @@ public class AuditMgr extends MgrBase {
SolrQuery solrQuery = queryGenerator.commonAuditFilterQuery(searchCriteria);
SolrDocumentList docList = new SolrDocumentList();
try {
- queryGenerator.setFacetField(solrQuery, LogSearchConstants.AUDIT_COMPONENT);
- queryGenerator.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
+ SolrUtil.setFacetField(solrQuery, LogSearchConstants.AUDIT_COMPONENT);
+ SolrUtil.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
List<FacetField> facetFields = null;
List<Count> componentsCount = new ArrayList<Count>();
FacetField facetField = null;
@@ -131,7 +126,7 @@ public class AuditMgr extends MgrBase {
return docList;
} catch (SolrException | SolrServerException | IOException e) {
logger.error("Error during solrQuery=" + solrQuery, e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -157,8 +152,8 @@ public class AuditMgr extends MgrBase {
LogSearchConstants.AUDIT_EVTTIME, from, to, unit).replace("\\", "");
try {
- queryGenerator.setJSONFacet(solrQuery, jsonHistogramQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setJSONFacet(solrQuery, jsonHistogramQuery);
+ SolrUtil.setRowCount(solrQuery, 0);
QueryResponse response = auditSolrDao.process(solrQuery);
if (response == null){
return convertObjToString(dataList);
@@ -176,7 +171,7 @@ public class AuditMgr extends MgrBase {
} catch (SolrServerException | SolrException | IOException e) {
logger.error(e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -195,9 +190,9 @@ public class AuditMgr extends MgrBase {
VNameValueList nameValueList = new VNameValueList(nameValues);
- queryGenerator.setFacetField(solrQuery, facetField);
- queryGenerator.setFacetSort(solrQuery, LogSearchConstants.FACET_COUNT);
- queryGenerator.setFacetLimit(solrQuery, top.intValue());
+ SolrUtil.setFacetField(solrQuery, facetField);
+ SolrUtil.setFacetSort(solrQuery, LogSearchConstants.FACET_COUNT);
+ SolrUtil.setFacetLimit(solrQuery, top.intValue());
List<Count> countList = new ArrayList<FacetField.Count>();
QueryResponse queryResponse = auditSolrDao.process(solrQuery);
@@ -223,7 +218,7 @@ public class AuditMgr extends MgrBase {
} catch (SolrException | IOException | SolrServerException e) {
logger.error("Error during solrQuery=" + solrQuery, e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -234,11 +229,11 @@ public class AuditMgr extends MgrBase {
solrQuery.setParam("event", "/audit/logs/live/count");
try {
Date[] timeRange = ManageStartEndTime.getStartEndTime();
- String startDate = dateUtil.convertGivenDateFormatToSolrDateFormat(timeRange[0]);
- String endDate = dateUtil.convertGivenDateFormatToSolrDateFormat(timeRange[1]);
+ String startDate = DateUtil.convertGivenDateFormatToSolrDateFormat(timeRange[0]);
+ String endDate = DateUtil.convertGivenDateFormatToSolrDateFormat(timeRange[1]);
- queryGenerator.setMainQuery(solrQuery, null);
- queryGenerator.setFacetRange(solrQuery, LogSearchConstants.AUDIT_EVTTIME, startDate, endDate, "+2MINUTE");
+ SolrUtil.setMainQuery(solrQuery, null);
+ SolrUtil.setFacetRange(solrQuery, LogSearchConstants.AUDIT_EVTTIME, startDate, endDate, "+2MINUTE");
List<RangeFacet.Count> listCount;
QueryResponse response = auditSolrDao.process(solrQuery);
@@ -270,7 +265,7 @@ public class AuditMgr extends MgrBase {
} catch (SolrException | SolrServerException | ParseException
| IOException e) {
logger.error("Error during solrQuery=" + solrQuery, e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -279,8 +274,8 @@ public class AuditMgr extends MgrBase {
String jsonUserQuery =
"{Users:{type:terms, field:reqUser, facet:{ Repo:{ type:terms, field:repo, facet:{eventCount:\"sum(event_count)\"}}}}}";
SolrQuery solrQuery = queryGenerator.commonAuditFilterQuery(searchCriteria);
- queryGenerator.setJSONFacet(solrQuery, jsonUserQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setJSONFacet(solrQuery, jsonUserQuery);
+ SolrUtil.setRowCount(solrQuery, 0);
try {
VBarDataList vBarDataList = new VBarDataList();
QueryResponse queryResponse = auditSolrDao.process(solrQuery);
@@ -302,12 +297,12 @@ public class AuditMgr extends MgrBase {
if (jsonFacetResponse.toString().equals("{count=0}")) {
return convertObjToString(vBarDataList);
}
- vBarDataList = bizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
+ vBarDataList = BizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
return convertObjToString(vBarDataList);
} catch (SolrServerException | SolrException | IOException e) {
logger.error("Error during solrQuery=" + e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -316,8 +311,8 @@ public class AuditMgr extends MgrBase {
String jsonUserQuery =
"{Users:{type:terms,field:resource,facet:{Repo:{type:terms,field:repo,facet:{eventCount:\"sum(event_count)\"}}}}}";
SolrQuery solrQuery = queryGenerator.commonAuditFilterQuery(searchCriteria);
- queryGenerator.setJSONFacet(solrQuery, jsonUserQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setJSONFacet(solrQuery, jsonUserQuery);
+ SolrUtil.setRowCount(solrQuery, 0);
try {
VBarDataList vBarDataList = new VBarDataList();
QueryResponse queryResponse = auditSolrDao.process(solrQuery);
@@ -333,12 +328,12 @@ public class AuditMgr extends MgrBase {
@SuppressWarnings("unchecked")
SimpleOrderedMap<Object> jsonFacetResponse = (SimpleOrderedMap<Object>) namedList.get("facets");
- vBarDataList = bizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
+ vBarDataList = BizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
return convertObjToString(vBarDataList);
} catch (SolrServerException | SolrException | IOException e) {
logger.error("Error during solrQuery=" + solrQuery, e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
@@ -354,14 +349,14 @@ public class AuditMgr extends MgrBase {
VBarDataList dataList = new VBarDataList();
List<VBarGraphData> histogramData = new ArrayList<VBarGraphData>();
- queryGenerator.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
+ SolrUtil.setFacetSort(solrQuery, LogSearchConstants.FACET_INDEX);
String jsonHistogramQuery = queryGenerator.buildJSONFacetTermTimeRangeQuery(LogSearchConstants.AUDIT_REQUEST_USER,
LogSearchConstants.AUDIT_EVTTIME, from, to, unit).replace("\\", "");
try {
- queryGenerator.setJSONFacet(solrQuery, jsonHistogramQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setJSONFacet(solrQuery, jsonHistogramQuery);
+ SolrUtil.setRowCount(solrQuery, 0);
QueryResponse response = auditSolrDao.process(solrQuery);
if (response == null){
return convertObjToString(dataList);
@@ -378,19 +373,19 @@ public class AuditMgr extends MgrBase {
} catch (SolrException | IOException | SolrServerException e) {
logger.error("Error during solrQuery=" + solrQuery, e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
public String getAuditLogsSchemaFieldsName() {
- String excludeArray[] = PropertiesUtil.getPropertyStringList("logsearch.solr.audit.logs.exclude.columnlist");
+ String excludeArray[] = PropertiesHelper.getPropertyStringList("logsearch.solr.audit.logs.exclude.columnlist");
List<String> fieldNames = new ArrayList<String>();
HashMap<String, String> uiFieldColumnMapping = new HashMap<String, String>();
- ConfigUtil.getSchemaFieldsName(excludeArray, fieldNames,auditSolrDao);
+ ConfigHelper.getSchemaFieldsName(excludeArray, fieldNames,auditSolrDao);
for (String fieldName : fieldNames) {
- String uiField = ConfigUtil.auditLogsColumnMapping.get(fieldName + LogSearchConstants.SOLR_SUFFIX);
+ String uiField = ConfigHelper.auditLogsColumnMapping.get(fieldName + LogSearchConstants.SOLR_SUFFIX);
if (uiField == null) {
uiFieldColumnMapping.put(fieldName, fieldName);
} else {
@@ -398,7 +393,7 @@ public class AuditMgr extends MgrBase {
}
}
- uiFieldColumnMapping = bizUtil.sortHashMapByValues(uiFieldColumnMapping);
+ uiFieldColumnMapping = BizUtil.sortHashMapByValues(uiFieldColumnMapping);
return convertObjToString(uiFieldColumnMapping);
}
@@ -431,7 +426,7 @@ public class AuditMgr extends MgrBase {
ArrayList<Object> levelBuckets = (ArrayList<Object>) ((NamedList<Object>) level.get(innerField)).get("buckets");
for (Object temp1 : levelBuckets) {
SimpleOrderedMap<Object> countValue = (SimpleOrderedMap<Object>) temp1;
- String value = dateUtil.convertDateWithMillisecondsToSolrDate((Date) countValue.getVal(0));
+ String value = DateUtil.convertDateWithMillisecondsToSolrDate((Date) countValue.getVal(0));
String count = "" + countValue.getVal(1);
VNameValue vNameValue = new VNameValue();
@@ -455,8 +450,8 @@ public class AuditMgr extends MgrBase {
startTime = startTime == null ? "" : startTime;
endTime = endTime == null ? "" : "_" + endTime;
- queryGenerator.setJSONFacet(solrQuery, jsonUserQuery);
- queryGenerator.setRowCount(solrQuery, 0);
+ SolrUtil.setJSONFacet(solrQuery, jsonUserQuery);
+ SolrUtil.setRowCount(solrQuery, 0);
String dataFormat = (String) searchCriteria.getParamValue("format");
FileOutputStream fis = null;
@@ -465,21 +460,21 @@ public class AuditMgr extends MgrBase {
if(queryResponse == null){
VResponse response = new VResponse();
response.setMsgDesc("Query was not able to execute "+solrQuery);
- throw restErrorUtil.createRESTException(response);
+ throw RESTErrorUtil.createRESTException(response);
}
NamedList<Object> namedList = queryResponse.getResponse();
if (namedList == null) {
VResponse response = new VResponse();
response.setMsgDesc("Query was not able to execute "+solrQuery);
- throw restErrorUtil.createRESTException(response);
+ throw RESTErrorUtil.createRESTException(response);
}
VBarDataList vBarUserDataList = new VBarDataList();
VBarDataList vBarResourceDataList = new VBarDataList();
SimpleOrderedMap<Object> jsonFacetResponse = (SimpleOrderedMap<Object>) namedList.get("facets");
- vBarUserDataList = bizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
- vBarResourceDataList = bizUtil.buildSummaryForTopCounts(jsonFacetResponse,"y","x");
+ vBarUserDataList = BizUtil.buildSummaryForTopCounts(jsonFacetResponse,"Repo","Users");
+ vBarResourceDataList = BizUtil.buildSummaryForTopCounts(jsonFacetResponse,"y","x");
String data = "";
String summary = "";
if ("text".equals(dataFormat)) {
@@ -570,7 +565,7 @@ public class AuditMgr extends MgrBase {
} catch (SolrServerException | SolrException | IOException e) {
logger.error("Error during solrQuery=" + e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
} finally {
if (fis != null) {
try {
@@ -599,7 +594,7 @@ public class AuditMgr extends MgrBase {
SolrQuery serivceLoadQuery = queryGenerator.commonAuditFilterQuery(searchCriteria);
try {
- queryGenerator.setFacetField(serivceLoadQuery, LogSearchConstants.AUDIT_COMPONENT);
+ SolrUtil.setFacetField(serivceLoadQuery, LogSearchConstants.AUDIT_COMPONENT);
QueryResponse serviceLoadResponse = auditSolrDao.process(serivceLoadQuery);
if (serviceLoadResponse == null){
return convertObjToString(dataList);
@@ -629,7 +624,7 @@ public class AuditMgr extends MgrBase {
} catch (SolrException | SolrServerException | IOException e) {
logger.error("Error during solrQuery=" + e);
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/0afbca7f/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/LogFileMgr.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/LogFileMgr.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/LogFileMgr.java
index 8badb61..e227c6c 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/LogFileMgr.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/manager/LogFileMgr.java
@@ -28,6 +28,8 @@ import org.apache.ambari.logsearch.common.SearchCriteria;
import org.apache.ambari.logsearch.dao.AuditSolrDao;
import org.apache.ambari.logsearch.dao.ServiceLogsSolrDao;
import org.apache.ambari.logsearch.dao.SolrDaoBase;
+import org.apache.ambari.logsearch.util.RESTErrorUtil;
+import org.apache.ambari.logsearch.util.SolrUtil;
import org.apache.ambari.logsearch.view.VLogFile;
import org.apache.ambari.logsearch.view.VLogFileList;
import org.apache.ambari.logsearch.view.VSolrLogList;
@@ -61,8 +63,8 @@ public class LogFileMgr extends MgrBase {
String host = (String) searchCriteria.getParamValue("host");
int minCount = 1;// to remove zero count facet
SolrQuery solrQuery = new SolrQuery();
- queryGenerator.setMainQuery(solrQuery, null);
- queryGenerator.setFacetFieldWithMincount(solrQuery, LogSearchConstants.SOLR_PATH, minCount);
+ SolrUtil.setMainQuery(solrQuery, null);
+ SolrUtil.setFacetFieldWithMincount(solrQuery, LogSearchConstants.SOLR_PATH, minCount);
// adding filter
queryGenerator.setSingleIncludeFilter(solrQuery, LogSearchConstants.SOLR_COMPONENT, componentName);
queryGenerator.setSingleIncludeFilter(solrQuery, LogSearchConstants.SOLR_HOST, host);
@@ -77,7 +79,7 @@ public class LogFileMgr extends MgrBase {
} else if (logType.equalsIgnoreCase(LogType.AUDIT.name())) {
daoMgr = auditSolrDao;
} else {
- throw restErrorUtil.createRESTException(logType + " is not a valid logType", MessageEnums.INVALID_INPUT_DATA);
+ throw RESTErrorUtil.createRESTException(logType + " is not a valid logType", MessageEnums.INVALID_INPUT_DATA);
}
QueryResponse queryResponse = daoMgr.process(solrQuery);
if (queryResponse.getFacetField(LogSearchConstants.SOLR_PATH) != null) {
@@ -96,7 +98,7 @@ public class LogFileMgr extends MgrBase {
}
} catch (SolrException | SolrServerException | IOException e) {
logger.error("Error in solr query :" + e.getLocalizedMessage() + "\n Query :" + solrQuery.toQueryString(), e.getCause());
- throw restErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException(MessageEnums.SOLR_ERROR.getMessage().getMessage(), MessageEnums.ERROR_SYSTEM);
}
logFileList.setLogFiles(logFiles);
String jsonStr = "";
@@ -111,31 +113,31 @@ public class LogFileMgr extends MgrBase {
String component = (String) searchCriteria.getParamValue("component");
String tailSize = (String) searchCriteria.getParamValue("tailSize");
if (StringUtils.isBlank(host)) {
- throw restErrorUtil.createRESTException("missing Host Name", MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException("missing Host Name", MessageEnums.ERROR_SYSTEM);
}
tailSize = (StringUtils.isBlank(tailSize)) ? "10" : tailSize;
SolrQuery logFileTailQuery = new SolrQuery();
try {
int tail = Integer.parseInt(tailSize);
tail = tail > 100 ? 100 : tail;
- queryGenerator.setMainQuery(logFileTailQuery, null);
+ SolrUtil.setMainQuery(logFileTailQuery, null);
queryGenerator.setSingleIncludeFilter(logFileTailQuery, LogSearchConstants.SOLR_HOST, host);
if (!StringUtils.isBlank(logFile)) {
- queryGenerator.setSingleIncludeFilter(logFileTailQuery, LogSearchConstants.SOLR_PATH, solrUtil.makeSolrSearchString(logFile));
+ queryGenerator.setSingleIncludeFilter(logFileTailQuery, LogSearchConstants.SOLR_PATH, SolrUtil.makeSolrSearchString(logFile));
} else if (!StringUtils.isBlank(component)) {
queryGenerator.setSingleIncludeFilter(logFileTailQuery, LogSearchConstants.SOLR_COMPONENT, component);
} else {
- throw restErrorUtil.createRESTException("component or logfile parameter must be present", MessageEnums.ERROR_SYSTEM);
+ throw RESTErrorUtil.createRESTException("component or logfile parameter must be present", MessageEnums.ERROR_SYSTEM);
}
- queryGenerator.setRowCount(logFileTailQuery, tail);
+ SolrUtil.setRowCount(logFileTailQuery, tail);
queryGenerator.setSortOrderDefaultServiceLog(logFileTailQuery, new SearchCriteria());
VSolrLogList solrLogList = getLogAsPaginationProvided(logFileTailQuery, serviceLogsSolrDao);
return convertObjToString(solrLogList);
} catch (NumberFormatException ne) {
- throw restErrorUtil.createRESTException(ne.getMessage(),
+ throw RESTErrorUtil.createRESTException(ne.getMessage(),
MessageEnums.ERROR_SYSTEM);
}