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/04/25 17:14:38 UTC
[3/9] ambari git commit: AMBARI-16034. Incremental changes to
LogSearch to bring it up to date in the trunk (Dharmesh Makwana via oleewere)
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/BizUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/BizUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/BizUtil.java
index 348ca4a..8dd0fb9 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/BizUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/BizUtil.java
@@ -37,7 +37,6 @@ import org.apache.ambari.logsearch.view.VBarGraphData;
import org.apache.ambari.logsearch.view.VHost;
import org.apache.ambari.logsearch.view.VNameValue;
import org.apache.ambari.logsearch.view.VSummary;
-import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
@@ -51,108 +50,141 @@ public class BizUtil {
@Autowired
RESTErrorUtil restErrorUtil;
+
+ @Autowired
+ StringUtil stringUtil;
public String convertObjectToNormalText(SolrDocumentList docList) {
String textToSave = "";
HashMap<String, String> blankFieldsMap = new HashMap<String, String>();
+ if(docList == null){
+ return "no data";
+ }
if (docList.isEmpty()) {
return "no data";
}
SolrDocument docForBlankCaculation = docList.get(0);
+ if(docForBlankCaculation == null){
+ return "no data";
+ }
Collection<String> fieldsForBlankCaculation = docForBlankCaculation
.getFieldNames();
int maxLengthOfField = 0;
- for (String field : fieldsForBlankCaculation) {
- if (field.length() > maxLengthOfField)
+ if(fieldsForBlankCaculation == null){
+ return "no data";
+ }
+ for (String field : fieldsForBlankCaculation) {
+ if (!stringUtil.isEmpty(field) && field.length() > maxLengthOfField){
maxLengthOfField = field.length();
+ }
}
for (String field : fieldsForBlankCaculation) {
+ if(!stringUtil.isEmpty(field)){
blankFieldsMap
.put(field,
addBlanksToString(
maxLengthOfField - field.length(), field));
- }
+ }
+ }
for (SolrDocument doc : docList) {
+ if (doc != null) {
+ StringBuffer textTowrite = new StringBuffer();
- StringBuffer textTowrite = new StringBuffer();
-
- if (doc.getFieldValue(LogSearchConstants.LOGTIME) != null) {
- textTowrite.append(doc
- .getFieldValue(LogSearchConstants.LOGTIME).toString()
- + " ");
- }
- if (doc.getFieldValue(LogSearchConstants.SOLR_LEVEL) != null) {
- textTowrite.append(
- doc.getFieldValue(LogSearchConstants.SOLR_LEVEL)
- .toString()).append(" ");
- }
- if (doc.getFieldValue(LogSearchConstants.SOLR_THREAD_NAME) != null) {
- textTowrite.append(
- doc.getFieldValue(LogSearchConstants.SOLR_THREAD_NAME)
- .toString().trim()).append(" ");
- }
- if (doc.getFieldValue(LogSearchConstants.SOLR_LOGGER_NAME) != null) {
- textTowrite.append(
- doc.getFieldValue(LogSearchConstants.SOLR_LOGGER_NAME)
- .toString().trim()).append(" ");
- }
- if (doc.getFieldValue(LogSearchConstants.SOLR_FILE) != null
- && doc.getFieldValue(LogSearchConstants.SOLR_LINE_NUMBER) != null) {
- textTowrite
- .append(doc.getFieldValue(LogSearchConstants.SOLR_FILE)
- .toString())
- .append(":")
- .append(doc.getFieldValue(
- LogSearchConstants.SOLR_LINE_NUMBER).toString())
- .append(" ");
- }
- if (doc.getFieldValue(LogSearchConstants.SOLR_LOG_MESSAGE) != null) {
- textTowrite.append("- ").append(
- doc.getFieldValue(LogSearchConstants.SOLR_LOG_MESSAGE)
- .toString());
- }
- textTowrite.append("\n");
- if (textTowrite != null)
+ if (doc.getFieldValue(LogSearchConstants.LOGTIME) != null) {
+ textTowrite.append(doc.getFieldValue(LogSearchConstants.LOGTIME)
+ .toString() + " ");
+ }
+ if (doc.getFieldValue(LogSearchConstants.SOLR_LEVEL) != null) {
+ textTowrite.append(
+ doc.getFieldValue(LogSearchConstants.SOLR_LEVEL).toString())
+ .append(" ");
+ }
+ if (doc.getFieldValue(LogSearchConstants.SOLR_THREAD_NAME) != null) {
+ textTowrite.append(
+ doc.getFieldValue(LogSearchConstants.SOLR_THREAD_NAME).toString()
+ .trim()).append(" ");
+ }
+ if (doc.getFieldValue(LogSearchConstants.SOLR_LOGGER_NAME) != null) {
+ textTowrite.append(
+ doc.getFieldValue(LogSearchConstants.SOLR_LOGGER_NAME).toString()
+ .trim()).append(" ");
+ }
+ if (doc.getFieldValue(LogSearchConstants.SOLR_FILE) != null
+ && doc.getFieldValue(LogSearchConstants.SOLR_LINE_NUMBER) != null) {
+ textTowrite
+ .append(
+ doc.getFieldValue(LogSearchConstants.SOLR_FILE).toString())
+ .append(":")
+ .append(
+ doc.getFieldValue(LogSearchConstants.SOLR_LINE_NUMBER)
+ .toString()).append(" ");
+ }
+ if (doc.getFieldValue(LogSearchConstants.SOLR_LOG_MESSAGE) != null) {
+ textTowrite.append("- ")
+ .append(
+ doc.getFieldValue(LogSearchConstants.SOLR_LOG_MESSAGE)
+ .toString());
+ }
+ textTowrite.append("\n");
textToSave += textTowrite.toString();
+ }
}
return textToSave;
}
public VSummary buildSummaryForLogFile(SolrDocumentList docList) {
VSummary vsummary = new VSummary();
+ if(docList == null || docList.isEmpty()){
+ return vsummary;
+ }
int numLogs = 0;
List<VHost> vHosts = new ArrayList<VHost>();
vsummary.setHosts(vHosts);
String levels = "";
for (SolrDocument doc : docList) {
- // adding Host and Component appropriately
- String hostname = (String) doc.getFieldValue("host");
- String comp = (String) doc.getFieldValue("type");
- String level = (String) doc.getFieldValue("level");
- boolean newHost = true;
- for (VHost host : vHosts) {
- if (host.getName().equals(hostname)) {
- newHost = false;
- host.getComponents().add(comp);
- break;
+ if (doc != null) {
+ // adding Host and Component appropriately
+ String hostname = (String) doc.getFieldValue("host");
+ String comp = (String) doc.getFieldValue("type");
+ String level = (String) doc.getFieldValue("level");
+ if (stringUtil.isEmpty(level)) {
+ level = "";
}
+ boolean newHost = true;
+ for (VHost host : vHosts) {
+ if (host != null && host.getName().equals(hostname)) {
+ newHost = false;
+ if (stringUtil.isEmpty(comp)) {
+ Set<String> compList = host.getComponents();
+ if (compList != null) {
+ compList.add(comp);
+ }
+ }
+ break;
+ }
+ }
+ if (newHost) {
+ VHost vHost = new VHost();
+ if (!stringUtil.isEmpty(hostname)) {
+ vHost.setName(hostname);
+ }
+ Set<String> component = new LinkedHashSet<String>();
+ if (stringUtil.isEmpty(comp)) {
+ component.add(comp);
+ }
+ vHost.setComponents(component);
+ vHosts.add(vHost);
+ }
+ // getting levels
+ if (!levels.contains(level)) {
+ levels = levels + ", " + level;
+ }
+ numLogs += 1;
}
- if (newHost) {
- VHost vHost = new VHost();
- vHost.setName(hostname);
- Set<String> component = new LinkedHashSet<String>();
- component.add(comp);
- vHost.setComponents(component);
- vHosts.add(vHost);
- }
- // getting levels
- if (!levels.contains(level))
- levels = levels + ", " + level;
- numLogs += 1;
- }
+ }
levels = levels.replaceFirst(", ", "");
vsummary.setLevels(levels);
vsummary.setNumberLogs("" + numLogs);
@@ -160,16 +192,19 @@ public class BizUtil {
}
public String addBlanksToString(int count, String field) {
- String temp = field;
- for (int i = 0; i < count; i++) {
- temp = temp + " ";
+ if (stringUtil.isEmpty(field)) {
+ return field;
+ }
+ if (count > 0) {
+ return String.format("%-" + count + "s", field);
}
- return temp;
+ return field;
+
}
@SuppressWarnings({"unchecked", "rawtypes"})
public VBarDataList buildSummaryForTopCounts(
- SimpleOrderedMap<Object> jsonFacetResponse) {
+ SimpleOrderedMap<Object> jsonFacetResponse,String innerJsonKey,String outerJsonKey) {
VBarDataList vBarDataList = new VBarDataList();
@@ -178,7 +213,7 @@ public class BizUtil {
logger.info("Solr document list in null");
return vBarDataList;
}
- List<Object> userList = jsonFacetResponse.getAll("Users");
+ List<Object> userList = jsonFacetResponse.getAll(outerJsonKey);
if (userList.isEmpty()) {
return vBarDataList;
}
@@ -190,93 +225,51 @@ public class BizUtil {
}
List<SimpleOrderedMap> userUsageList = (List<SimpleOrderedMap>) userMap
.get("buckets");
- for (SimpleOrderedMap usageMap : userUsageList) {
- VBarGraphData vBarGraphData = new VBarGraphData();
- String userName = (String) usageMap.get("val");
- vBarGraphData.setName(userName);
- SimpleOrderedMap repoMap = (SimpleOrderedMap) usageMap.get("Repo");
- List<VNameValue> componetCountList = new ArrayList<VNameValue>();
- List<SimpleOrderedMap> repoUsageList = (List<SimpleOrderedMap>) repoMap
- .get("buckets");
- for (SimpleOrderedMap repoUsageMap : repoUsageList) {
- VNameValue componetCount = new VNameValue();
- if (repoUsageMap.get("val") != null)
- componetCount.setName(repoUsageMap.get("val").toString());
- String eventCount = "";
- if (repoUsageMap.get("eventCount") != null)
- eventCount = repoUsageMap.get("eventCount").toString();
- eventCount = eventCount.replace(".0", "");
- eventCount = eventCount.replace(".00", "");
-
- componetCount.setValue(eventCount);
- componetCountList.add(componetCount);
- }
- vBarGraphData.setDataCounts(componetCountList);
- dataList.add(vBarGraphData);
-
- }
- vBarDataList.setGraphData(dataList);
- logger.info("getting graph data");
-
- return vBarDataList;
- }
-
- @SuppressWarnings({"unchecked", "rawtypes"})
- public VBarDataList buildSummaryForResourceCounts(
- SimpleOrderedMap<Object> jsonFacetResponse) {
-
- VBarDataList vBarDataList = new VBarDataList();
-
- Collection<VBarGraphData> dataList = new ArrayList<VBarGraphData>();
- if (jsonFacetResponse == null) {
- logger.info("Solr document list in null");
+ if(userUsageList == null){
return vBarDataList;
}
- List<Object> userList = jsonFacetResponse.getAll("x");
- if (userList.isEmpty()) {
- return vBarDataList;
- }
- SimpleOrderedMap<Map<String, Object>> userMap = (SimpleOrderedMap<Map<String, Object>>) userList
- .get(0);
- if (userMap == null) {
- logger.info("No top user details found");
- return vBarDataList;
- }
- List<SimpleOrderedMap> userUsageList = (List<SimpleOrderedMap>) userMap
- .get("buckets");
for (SimpleOrderedMap usageMap : userUsageList) {
- VBarGraphData vBarGraphData = new VBarGraphData();
- String userName = (String) usageMap.get("val");
- vBarGraphData.setName(userName);
- SimpleOrderedMap repoMap = (SimpleOrderedMap) usageMap.get("y");
- List<VNameValue> componetCountList = new ArrayList<VNameValue>();
- List<SimpleOrderedMap> repoUsageList = (List<SimpleOrderedMap>) repoMap
- .get("buckets");
- for (SimpleOrderedMap repoUsageMap : repoUsageList) {
- VNameValue componetCount = new VNameValue();
- if (repoUsageMap.get("val") != null)
- componetCount.setName(repoUsageMap.get("val").toString());
- String eventCount = "";
- if (repoUsageMap.get("eventCount") != null)
- eventCount = repoUsageMap.get("eventCount").toString();
- eventCount = eventCount.replace(".0", "");
- eventCount = eventCount.replace(".00", "");
-
- componetCount.setValue(eventCount);
- componetCountList.add(componetCount);
- }
- vBarGraphData.setDataCounts(componetCountList);
- dataList.add(vBarGraphData);
+ if (usageMap != null) {
+ VBarGraphData vBarGraphData = new VBarGraphData();
+ String userName = (String) usageMap.get("val");
+ if (!stringUtil.isEmpty(userName)) {
+ vBarGraphData.setName(userName);
+ }
+ SimpleOrderedMap repoMap = (SimpleOrderedMap) usageMap.get(innerJsonKey);
+ List<VNameValue> componetCountList = new ArrayList<VNameValue>();
+ List<SimpleOrderedMap> repoUsageList = (List<SimpleOrderedMap>) repoMap
+ .get("buckets");
+ if (repoMap != null) {
+ for (SimpleOrderedMap repoUsageMap : repoUsageList) {
+ VNameValue componetCount = new VNameValue();
+ if (repoUsageMap.get("val") != null) {
+ componetCount.setName(repoUsageMap.get("val").toString());
+ }
+ String eventCount = "";
+ if (repoUsageMap.get("eventCount") != null) {
+ eventCount = repoUsageMap.get("eventCount").toString();
+ }
+ eventCount = eventCount.replace(".0", "");
+ eventCount = eventCount.replace(".00", "");
- }
+ componetCount.setValue(eventCount);
+ componetCountList.add(componetCount);
+ }
+ vBarGraphData.setDataCounts(componetCountList);
+ dataList.add(vBarGraphData);
+ }
+ }}
vBarDataList.setGraphData(dataList);
logger.info("getting graph data");
return vBarDataList;
}
-
- public HashMap<String, String> sortHashMapByValuesD(
+
+ public HashMap<String, String> sortHashMapByValues(
HashMap<String, String> passedMap) {
+ if(passedMap == null ){
+ return passedMap;
+ }
HashMap<String, String> sortedMap = new LinkedHashMap<String, String>();
List<String> mapValues = new ArrayList<String>(passedMap.values());
HashMap<String, String> invertedKeyValue = new HashMap<String, String>();
@@ -291,7 +284,6 @@ public class BizUtil {
@SuppressWarnings("rawtypes")
Map.Entry pair = (Map.Entry) it.next();
invertedKeyValue.put("" + pair.getValue(), "" + pair.getKey());
- it.remove();
}
for (String valueOfKey : mapValues) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/ConfigUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/ConfigUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/ConfigUtil.java
index 036d5d1..36dcc96 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/ConfigUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/ConfigUtil.java
@@ -55,14 +55,16 @@ public class ConfigUtil {
if (columnMappingArray != null && columnMappingArray.length > 0) {
for (String columnMapping : columnMappingArray) {
String mapping[] = columnMapping.split(":");
- String solrField = mapping[0];
- String uiField = mapping[1];
- String modifiedUIField = getModifiedUIField(uiField);
- columnMappingMap.put(
- solrField + LogSearchConstants.SOLR_SUFFIX,
- modifiedUIField);
- columnMappingMap.put(modifiedUIField
- + LogSearchConstants.UI_SUFFIX, solrField);
+ if (mapping.length > 1) {
+ String solrField = mapping[0];
+ String uiField = mapping[1];
+
+ String modifiedUIField = getModifiedUIField(uiField);
+ columnMappingMap.put(solrField + LogSearchConstants.SOLR_SUFFIX,
+ modifiedUIField);
+ columnMappingMap.put(modifiedUIField + LogSearchConstants.UI_SUFFIX,
+ solrField);
+ }
}
}
}
@@ -71,9 +73,9 @@ public class ConfigUtil {
String modifiedUIField = "";
String temp = serviceLogsColumnMapping.get(uiField
+ LogSearchConstants.UI_SUFFIX);
- if (temp == null)
+ if (temp == null){
return uiField;
- else {
+ }else {
String lastChar = uiField.substring(uiField.length() - 1,
uiField.length());
int k = 1;
@@ -118,6 +120,10 @@ public class ConfigUtil {
try {
JSONObject jsonObject = new JSONObject(responseString);
JSONArray jsonArrayList = jsonObject.getJSONArray("fields");
+
+ if(jsonArrayList == null){
+ return;
+ }
for (int i = 0; i < jsonArrayList.length(); i++) {
JSONObject explrObject = jsonArrayList.getJSONObject(i);
@@ -167,8 +173,9 @@ public class ConfigUtil {
private static boolean isExclude(String name, String excludeArray[]) {
if (excludeArray != null && excludeArray.length > 0) {
for (String exclude : excludeArray) {
- if (name.equals(exclude))
+ if (name.equals(exclude)){
return true;
+ }
}
}
return false;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/DateUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/DateUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/DateUtil.java
index 77dd536..7425aaa 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/DateUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/DateUtil.java
@@ -46,29 +46,34 @@ public class DateUtil {
}
- public String addOffsetToDate(String date, Long utcOffset,
- String dateFormate) {
- if (date == null || date.equals("")) {
+ public String addOffsetToDate(String date, Long utcOffset, String dateFormat) {
+ if (stringUtil.isEmpty(date)) {
+ logger.debug("input date is empty or null.");
return null;
}
if (utcOffset == null) {
+ logger
+ .debug("Utc offset is null, Return input date without adding offset.");
+ return date;
+ }
+ if (stringUtil.isEmpty(dateFormat)) {
+ logger
+ .debug("dateFormat is null or empty, Return input date without adding offset.");
return date;
}
String retDate = "";
-
try {
String modifiedDate = date;
if (date.contains(".")) {
modifiedDate = date.replace(".", ",");
}
- SimpleDateFormat formatter = new SimpleDateFormat(dateFormate, Locale.ENGLISH);
- Date startDate = (Date) formatter.parse(modifiedDate);
- long toWithOffset = getTimeWithOffset(startDate, utcOffset,
- dateFormate);
+ SimpleDateFormat formatter = new SimpleDateFormat(dateFormat,
+ Locale.ENGLISH);
+ Date startDate = formatter.parse(modifiedDate);
+ long toWithOffset = getTimeWithOffset(startDate, utcOffset, dateFormat);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(toWithOffset);
retDate = formatter.format(calendar.getTime());
-
} catch (Exception e) {
logger.error(e);
}
@@ -90,7 +95,6 @@ public class DateUtil {
GregorianCalendar utc = new GregorianCalendar(gmtTimeZone);
utc.setTimeInMillis(epoh);
utc.add(Calendar.MILLISECOND, -offset);
-
return utc.getTime();
} catch (Exception ex) {
return null;
@@ -124,6 +128,14 @@ public class DateUtil {
return time;
}
+
+ public Date getTodayFromDate() {
+ Calendar c = new GregorianCalendar();
+ c.set(Calendar.HOUR_OF_DAY, 0);
+ c.set(Calendar.MINUTE, 0);
+ c.set(Calendar.SECOND, 0);
+ return c.getTime();
+ }
public Date addHoursToDate(Date date, int hours) {
GregorianCalendar greorianCalendar = new GregorianCalendar();
@@ -168,6 +180,9 @@ public class DateUtil {
}
public String convertDateWithMillisecondsToSolrDate(Date date) {
+ if (date == null) {
+ return "";
+ }
SimpleDateFormat formatter = new SimpleDateFormat(
LogSearchConstants.SOLR_DATE_FORMAT_PREFIX_Z, Locale.ENGLISH);
TimeZone timeZone = TimeZone.getTimeZone("GMT");
@@ -190,12 +205,10 @@ public class DateUtil {
}
public Date convertStringToDate(String dateString) {
-
SimpleDateFormat formatter = new SimpleDateFormat(
LogSearchConstants.SOLR_DATE_FORMAT_PREFIX_Z, Locale.ENGLISH);
TimeZone timeZone = TimeZone.getTimeZone("GMT");
formatter.setTimeZone(timeZone);
-
try {
return formatter.parse(dateString);
} catch (ParseException e) {
@@ -203,4 +216,21 @@ public class DateUtil {
}
return null;
}
+
+ public boolean isDateValid(String value) {
+ if(stringUtil.isEmpty(value)){
+ return false;
+ }
+ Date date = null;
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat(LogSearchConstants.SOLR_DATE_FORMAT_PREFIX_Z);
+ date = sdf.parse(value);
+ if (!value.equals(sdf.format(date))) {
+ date = null;
+ }
+ } catch (Exception ex) {
+ //do nothing
+ }
+ return date != null;
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
index 7981cb1..ab52b06 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/FileUtil.java
@@ -29,7 +29,6 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.ambari.logsearch.common.MessageEnums;
-import org.apache.ambari.logsearch.manager.UserConfigMgr;
import org.apache.ambari.logsearch.view.VHost;
import org.apache.ambari.logsearch.view.VSummary;
import org.apache.log4j.Logger;
@@ -58,7 +57,7 @@ public class FileUtil {
+ vsummary.getTo() + "\n";
List<VHost> hosts = vsummary.getHosts();
- String blankCharacterForHost = " ";
+ String blankCharacterForHost = String.format("%-8s", "");
int numberHost = 0;
for (VHost host : hosts) {
numberHost += 1;
@@ -66,24 +65,27 @@ public class FileUtil {
String c = "";
Set<String> comp = host.getComponents();
boolean zonetar = true;
- for (String component : comp) {
- if (zonetar) {
- c = component;
- zonetar = false;
- } else {
- c = c + ", " + component;
+ if (comp != null) {
+ for (String component : comp) {
+ if (zonetar) {
+ c = component;
+ zonetar = false;
+ } else {
+ c = c + ", " + component;
+ }
}
}
- if (numberHost > 9)
- blankCharacterForHost = " ";
- else if (numberHost > 99)
- blankCharacterForHost = " ";
- else if (numberHost > 999)
- blankCharacterForHost = " ";
- else if (numberHost > 9999)
- blankCharacterForHost = " ";
- else if (numberHost > 99999)
- blankCharacterForHost = " ";
+ if (numberHost > 9){
+ blankCharacterForHost = String.format("%-7s", blankCharacterForHost);
+ }else if (numberHost > 99){
+ blankCharacterForHost = String.format("%-6s", blankCharacterForHost);
+ }else if (numberHost > 999){
+ blankCharacterForHost = String.format("%-5s", blankCharacterForHost);
+ }else if (numberHost > 9999){
+ blankCharacterForHost = String.format("%-4s", blankCharacterForHost);
+ }else if (numberHost > 99999){
+ blankCharacterForHost = String.format("%-3s", blankCharacterForHost);
+ }
if (numberHost == 1) {
mainExportedFile = mainExportedFile + "Host"
+ blankCharacterForHost + " : " + h + " [" + c
@@ -95,9 +97,9 @@ public class FileUtil {
}
}
- mainExportedFile = mainExportedFile + "Levels : "
+ mainExportedFile = mainExportedFile + "Levels"+String.format("%-9s", blankCharacterForHost)+": "
+ vsummary.getLevels() + "\n";
- mainExportedFile = mainExportedFile + "Format : "
+ mainExportedFile = mainExportedFile + "Format"+String.format("%-9s", blankCharacterForHost)+": "
+ vsummary.getFormat() + "\n";
mainExportedFile = mainExportedFile + "\n";
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
index 417a0b1..8535039 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/JSONUtil.java
@@ -131,6 +131,9 @@ public class JSONUtil {
@SuppressWarnings("unchecked")
public List<HashMap<String, Object>> jsonToMapObjectList(String jsonStr) {
+ if (stringUtil.isEmpty(jsonStr)) {
+ return null;
+ }
ObjectMapper mapper = new ObjectMapper();
try {
Object tempObject = mapper.readValue(jsonStr,
@@ -211,7 +214,7 @@ public class JSONUtil {
* @param outputFile
* @param beautify
*/
- public void writeJSONInFile(String jsonStr, File outputFile,
+ public synchronized void writeJSONInFile(String jsonStr, File outputFile,
boolean beautify) {
FileWriter fileWriter = null;
if (outputFile == null) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/QueryBase.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/QueryBase.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/QueryBase.java
index 4f65cf6..d1e0a86 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/QueryBase.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/QueryBase.java
@@ -19,22 +19,27 @@
package org.apache.ambari.logsearch.util;
+import org.apache.ambari.logsearch.common.LogSearchConstants;
import org.apache.solr.client.solrj.SolrQuery;
+import org.springframework.beans.factory.annotation.Autowired;
public class QueryBase {
+
+ @Autowired
+ StringUtil stringUtil;
//Solr Facet Methods
public void setFacetField(SolrQuery solrQuery, String facetField) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("facet.field", facetField);
+ solrQuery.set(LogSearchConstants.FACET_FIELD, facetField);
setFacetLimit(solrQuery, -1);
}
public void setJSONFacet(SolrQuery solrQuery, String jsonQuery) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("json.facet", jsonQuery);
+ solrQuery.set(LogSearchConstants.FACET_JSON_FIELD, jsonQuery);
setFacetLimit(solrQuery, -1);
}
@@ -47,8 +52,8 @@ public class QueryBase {
String... hirarchy) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("facet.pivot", hirarchy);
- solrQuery.set("facet.pivot.mincount", mincount);
+ solrQuery.set(LogSearchConstants.FACET_PIVOT, hirarchy);
+ solrQuery.set(LogSearchConstants.FACET_PIVOT_MINCOUNT, mincount);
setFacetLimit(solrQuery, -1);
}
@@ -56,11 +61,11 @@ public class QueryBase {
String from, String to, String unit) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("facet.date", facetField);
- solrQuery.set("facet.date.start", from);
- solrQuery.set("facet.date.end", to);
- solrQuery.set("facet.date.gap", unit);
- solrQuery.set("facet.mincount", 0);
+ solrQuery.set(LogSearchConstants.FACET_DATE, facetField);
+ solrQuery.set(LogSearchConstants.FACET_DATE_START, from);
+ solrQuery.set(LogSearchConstants.FACET_DATE_END, to);
+ solrQuery.set(LogSearchConstants.FACET_DATE_GAP, unit);
+ solrQuery.set(LogSearchConstants.FACET_MINCOUNT, 0);
setFacetLimit(solrQuery, -1);
}
@@ -68,11 +73,11 @@ public class QueryBase {
String from, String to, String unit) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("facet.range", facetField);
- solrQuery.set("facet.range.start", from);
- solrQuery.set("facet.range.end", to);
- solrQuery.set("facet.range.gap", unit);
- solrQuery.set("facet.mincount", 0);
+ solrQuery.set(LogSearchConstants.FACET_RANGE, facetField);
+ solrQuery.set(LogSearchConstants.FACET_RANGE_START, from);
+ solrQuery.set(LogSearchConstants.FACET_RANGE_END, to);
+ solrQuery.set(LogSearchConstants.FACET_RANGE_GAP, unit);
+ solrQuery.set(LogSearchConstants.FACET_MINCOUNT, 0);
setFacetLimit(solrQuery, -1);
}
@@ -82,26 +87,28 @@ public class QueryBase {
//Solr Group Mehtods
public void setGroupField(SolrQuery solrQuery, String groupField, int rows) {
- solrQuery.set("group", true);
- solrQuery.set("group.field", groupField);
- solrQuery.set("group.main", true);
+ solrQuery.set(LogSearchConstants.FACET_GROUP, true);
+ solrQuery.set(LogSearchConstants.FACET_GROUP_FIELD, groupField);
+ solrQuery.set(LogSearchConstants.FACET_GROUP_MAIN, true);
setRowCount(solrQuery, rows);
}
//Main Query
public void setMainQuery(SolrQuery solrQuery, String query) {
String defalultQuery = "*:*";
- if (query == null || query.isEmpty())
+ if (stringUtil.isEmpty(query)){
solrQuery.setQuery(defalultQuery);
- else
+ }else{
solrQuery.setQuery(query);
+ }
}
public void setStart(SolrQuery solrQuery, int start) {
- if (start > 0) {
+ int defaultStart = 0;
+ if (start > defaultStart) {
solrQuery.setStart(start);
} else {
- solrQuery.setStart(0);
+ solrQuery.setStart(defaultStart);
}
}
@@ -111,17 +118,21 @@ public class QueryBase {
solrQuery.setRows(rows);
} else {
solrQuery.setRows(0);
- solrQuery.remove("sort");
+ solrQuery.remove(LogSearchConstants.SORT);
}
}
//Solr Facet Methods
- public void setFacetField(SolrQuery solrQuery, String facetField, int minCount) {
+ public void setFacetFieldWithMincount(SolrQuery solrQuery, String facetField, int minCount) {
solrQuery.setFacet(true);
setRowCount(solrQuery, 0);
- solrQuery.set("facet.field", facetField);
- solrQuery.set("facet.mincount", minCount);
+ solrQuery.set(LogSearchConstants.FACET_FIELD, facetField);
+ solrQuery.set(LogSearchConstants.FACET_MINCOUNT, minCount);
setFacetLimit(solrQuery, -1);
}
+
+ public void setFl(SolrQuery solrQuery,String field){
+ solrQuery.set(LogSearchConstants.FL, field);
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/RESTErrorUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/RESTErrorUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/RESTErrorUtil.java
index a3cb855..e64f742 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/RESTErrorUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/RESTErrorUtil.java
@@ -34,9 +34,7 @@ import org.springframework.stereotype.Component;
@Component
public class RESTErrorUtil {
- static final Logger logger = Logger.getLogger("org.apache.ambari.logsearch");
-
- public static final String TRUE = "true";
+ private static Logger logger = Logger.getLogger(RESTErrorUtil.class);
public WebApplicationException createRESTException(VResponse response) {
return createRESTException(response, HttpServletResponse.SC_BAD_REQUEST);
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
index 6fa513d..21b09d3 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/SolrUtil.java
@@ -22,12 +22,17 @@ package org.apache.ambari.logsearch.util;
import java.util.Collection;
import java.util.Locale;
+import org.apache.ambari.logsearch.common.LogSearchConstants;
import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class SolrUtil {
static final Logger logger = Logger.getLogger("org.apache.ambari.logsearch");
+
+ @Autowired
+ StringUtil stringUtil;
public String setField(String fieldName, String value) {
if (value == null || value.trim().length() == 0) {
@@ -79,107 +84,199 @@ public class SolrUtil {
}
/**
- * @param fuzzyStr
+ * @param wildCard
* @param string
* @param searchList
* @return
*/
- public String orList(String fieldName, String[] valueList, String fuzzyStr) {
+ public String orList(String fieldName, String[] valueList, String wildCard) {
if (valueList == null || valueList.length == 0) {
return "";
}
- String expr = "";
+
+ if(stringUtil.isEmpty(wildCard)){
+ wildCard = "";
+ }
+
+ StringBuilder expr = new StringBuilder();
int count = -1;
for (String value : valueList) {
count++;
if (count > 0) {
- expr += " OR ";
+ expr.append(" OR ");
}
- expr += fieldName + ":*" + value + "*";
+
+ expr.append( fieldName + ":"+ wildCard + value + wildCard);
}
if (valueList.length == 0) {
- return expr;
+ return expr.toString();
} else {
return "(" + expr + ")";
}
}
-
+
/**
- * @param fuzzyStr
+ * @param wildCard
* @param string
* @param searchList
* @return
*/
- public String orList(String fieldName, String[] valueList) {
+ public String andList(String fieldName, String[] valueList, String wildCard) {
if (valueList == null || valueList.length == 0) {
return "";
}
- String expr = "";
+
+ if(stringUtil.isEmpty(wildCard)){
+ wildCard = "";
+ }
+
+ StringBuilder expr = new StringBuilder();
int count = -1;
for (String value : valueList) {
count++;
if (count > 0) {
- expr += " OR ";
+ expr.append(" AND ");
}
- expr += fieldName + ":" + value;
+
+ expr.append( fieldName + ":"+ wildCard + value + wildCard);
}
if (valueList.length == 0) {
- return expr;
+ return expr.toString();
} else {
return "(" + expr + ")";
}
}
-
-
/**
- * @param fuzzyStr
- * @param string
- * @param searchList
+ * Copied from Solr ClientUtils.escapeQueryChars and removed escaping *
+ *
+ * @param s
* @return
*/
- public String andList(String fieldName, String[] valueList, String fuzzyStr) {
- if (valueList == null || valueList.length == 0) {
- return "";
+ public String escapeQueryChars(String s) {
+ StringBuilder sb = new StringBuilder();
+ int prev = 0;
+ if (s != null) {
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ int ic = (int)c;
+ if( ic == 10 ) {
+ if( prev != 13) {
+ //Let's insert \r
+ sb.append('\\');
+ sb.append((char)13);
+ }
+ }
+ // Note: Remove || c == '*'
+ // These characters are part of the query syntax and must be escaped
+ if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '('
+ || c == ')' || c == ':' || c == '^' || c == '[' || c == ']'
+ || c == '\"' || c == '{' || c == '}' || c == '~' || c == '?'
+ || c == '|' || c == '&' || c == ';' || c == '/'
+ || Character.isWhitespace(c)) {
+ sb.append('\\');
+ }
+ sb.append(c);
+ }
}
- String expr = "";
- int count = -1;
- for (String value : valueList) {
- count++;
- if (count > 0) {
- expr += " AND ";
+ return sb.toString();
+ }
+
+ public String escapeForWhiteSpaceTokenizer(String search) {
+ if (search == null) {
+ return null;
+ }
+ String newString = search.trim();
+ String newSearch = escapeQueryChars(newString);
+ boolean isSingleWord = true;
+ for (int i = 0; i < search.length(); i++) {
+ if (Character.isWhitespace(search.charAt(i))) {
+ isSingleWord = false;
}
- expr += fieldName + ":*" + value + "*";
}
- if (valueList.length == 0) {
- return expr;
- } else {
- return "(" + expr + ")";
+ if (!isSingleWord) {
+ newSearch = "\"" + newSearch + "\"";
}
+ return newSearch;
+ }
+
+ public String escapeForStandardTokenizer(String search) {
+ if (search == null) {
+ return null;
+ }
+ String newString = search.trim();
+ String newSearch = escapeQueryChars(newString);
+ boolean isSingleWord = true;
+ for (int i = 0; i < search.length(); i++) {
+ if (Character.isWhitespace(search.charAt(i))) {
+ isSingleWord = false;
+ }
+ }
+ if (!isSingleWord) {
+ newSearch = "\"" + newSearch + "\"";
+ }
+
+ return newSearch;
+ }
+
+ public String escapeForKeyTokenizer(String search) {
+ if (search.startsWith("*") && search.endsWith("*")
+ && !stringUtil.isEmpty(search)) {
+ // Remove the * from both the sides
+ if (search.length() > 1) {
+ search = search.substring(1, search.length() - 1);
+ }else{
+ //search string have only *
+ search="";
+ }
+ }
+ // Escape the string
+ search = escapeQueryChars(search);
+
+ // Add the *
+ return "*" + search + "*";
+ }
+
+ /**
+ * This is a special case scenario to handle log_message for wild card
+ * scenarios
+ *
+ * @param search
+ * @return
+ */
+ public String escapeForLogMessage(String field, String search) {
+ if (search.startsWith("*") && search.endsWith("*")) {
+ field = LogSearchConstants.SOLR_KEY_LOG_MESSAGE;
+ search = escapeForKeyTokenizer(search);
+ } else {
+ // Use whitespace index
+ field = LogSearchConstants.SOLR_LOG_MESSAGE;
+ search = escapeForWhiteSpaceTokenizer(search);
+ }
+ return field + ":" + search;
}
public String makeSolrSearchString(String search) {
String newString = search.trim();
String newSearch = newString.replaceAll(
- "(?=[]\\[+&|!(){}^~*=$@%?:.\\\\])", "\\\\");
+ "(?=[]\\[+&|!(){},:\"^~/=$@%?:.\\\\])", "\\\\");
newSearch = newSearch.replace("\n", "*");
newSearch = newSearch.replace("\t", "*");
newSearch = newSearch.replace("\r", "*");
- newSearch = newSearch.replace(" ", "\\ ");
newSearch = newSearch.replace("**", "*");
newSearch = newSearch.replace("***", "*");
return "*" + newSearch + "*";
}
-
+
public String makeSolrSearchStringWithoutAsterisk(String search) {
String newString = search.trim();
String newSearch = newString.replaceAll(
- "(?=[]\\[+&|!(){}^\"~=$@%?:.\\\\])", "\\\\");
+ "(?=[]\\[+&|!(){}^\"~=/$@%?:.\\\\])", "\\\\");
newSearch = newSearch.replace("\n", "*");
newSearch = newSearch.replace("\t", "*");
newSearch = newSearch.replace("\r", "*");
@@ -190,13 +287,13 @@ public class SolrUtil {
}
public String makeSearcableString(String search) {
- if(search == null || search.isEmpty())
+ if (search == null || search.isEmpty()){
return "";
+ }
String newSearch = search.replaceAll("[\\t\\n\\r]", " ");
- newSearch = newSearch.replaceAll(
- "(?=[]\\[+&|!(){}^~*=$/@%?:.\\\\-])", "\\\\");
+ newSearch = newSearch.replaceAll("(?=[]\\[+&|!(){}^~*=$/@%?:.\\\\-])",
+ "\\\\");
return newSearch.replace(" ", "\\ ");
}
-
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/StringUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/StringUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/StringUtil.java
index 9a21e6a..de83e7e 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/StringUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/StringUtil.java
@@ -20,16 +20,12 @@
package org.apache.ambari.logsearch.util;
import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class StringUtil {
- static Logger logger = Logger.getLogger(StringUtil.class);
-
- @Autowired
- RESTErrorUtil restErrorUtil;
+ private static Logger logger = Logger.getLogger(StringUtil.class);
public boolean isEmpty(String str) {
return str == null || str.trim().length() == 0;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/XMLPropertiesUtil.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/XMLPropertiesUtil.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/XMLPropertiesUtil.java
index ea041dc..ff80e73 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/XMLPropertiesUtil.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/util/XMLPropertiesUtil.java
@@ -41,45 +41,44 @@ public class XMLPropertiesUtil extends DefaultPropertiesPersister {
@Override
public void loadFromXml(Properties properties, InputStream inputStream)
- throws IOException {
+ throws IOException {
try {
DocumentBuilderFactory xmlDocumentBuilderFactory = DocumentBuilderFactory
- .newInstance();
+ .newInstance();
xmlDocumentBuilderFactory.setIgnoringComments(true);
xmlDocumentBuilderFactory.setNamespaceAware(true);
DocumentBuilder xmlDocumentBuilder = xmlDocumentBuilderFactory
- .newDocumentBuilder();
+ .newDocumentBuilder();
Document xmlDocument = xmlDocumentBuilder.parse(inputStream);
- xmlDocument.getDocumentElement().normalize();
-
- NodeList nList = xmlDocument.getElementsByTagName("property");
-
- 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").item(0) != null) {
- propertyName = eElement.getElementsByTagName("name")
- .item(0).getTextContent().trim();
- }
- if (eElement.getElementsByTagName("value").item(0) != null) {
- propertyValue = eElement.getElementsByTagName("value")
- .item(0).getTextContent().trim();
+ 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);
+ }
+ }
}
-
- properties.put(propertyName, propertyValue);
-
}
- // logger.info("ranger site properties loaded successfully.");
}
} catch (Exception e) {
- logger.error("Error loading : ", e);
+ logger.error("Error loading xml properties ", e);
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VBarDataList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VBarDataList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VBarDataList.java
index 9e88bd5..b13946c 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VBarDataList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VBarDataList.java
@@ -29,7 +29,11 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class VBarDataList {
- Collection<VBarGraphData> graphData = new ArrayList<VBarGraphData>();
+ protected Collection<VBarGraphData> graphData;
+
+ public VBarDataList() {
+ graphData = new ArrayList<VBarGraphData>();
+ }
public Collection<VBarGraphData> getGraphData() {
return graphData;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VCountList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VCountList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VCountList.java
index ed04db7..f105478 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VCountList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VCountList.java
@@ -37,10 +37,11 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
public class VCountList extends VList {
private static final long serialVersionUID = 1L;
- List<VCount> vCounts = new ArrayList<VCount>();
+ protected List<VCount> vCounts;
public VCountList() {
super();
+ vCounts = new ArrayList<VCount>();
}
public VCountList(List<VCount> logList) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VGroupList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VGroupList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VGroupList.java
index 25f44fc..5e6c3fa 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VGroupList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VGroupList.java
@@ -35,10 +35,11 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
public class VGroupList extends VList {
private static final long serialVersionUID = 1L;
- SolrDocumentList groupList = new SolrDocumentList();
+ protected SolrDocumentList groupList;
public VGroupList() {
super();
+ groupList = new SolrDocumentList();
}
public VGroupList(SolrDocumentList logList) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VHost.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VHost.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VHost.java
index b157adc..da2fbdd 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VHost.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VHost.java
@@ -22,8 +22,8 @@ package org.apache.ambari.logsearch.view;
import java.util.Set;
public class VHost {
- String name;
- Set<String> components;
+ protected String name;
+ protected Set<String> components;
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValue.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValue.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValue.java
index d8bdbfb..adbd6e0 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValue.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValue.java
@@ -80,10 +80,11 @@ public class VNameValue implements java.io.Serializable {
* Value to set member attribute <b>value</b>
*/
public void setValue(String value) {
- if(value.contains(".") && (value.contains("e") || value.contains("E")))
+ if(value.contains(".") && (value.contains("e") || value.contains("E"))){
this.value=getExponentialValueReplaced(value);
- else
+ }else{
this.value = value;
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValueList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValueList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValueList.java
index dc5c86c..e95249d 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValueList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNameValueList.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
public class VNameValueList extends VList {
private static final long serialVersionUID = 1L;
- List<VNameValue> vNameValues = new ArrayList<VNameValue>();
+ protected List<VNameValue> vNameValues = new ArrayList<VNameValue>();
public VNameValueList() {
super();
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNodeList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNodeList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNodeList.java
index 0cd10a2..78f32ce 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNodeList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VNodeList.java
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
public class VNodeList extends VList {
private static final long serialVersionUID = 1L;
- List<VNode> vNodeList = new ArrayList<VNode>();
+ protected List<VNode> vNodeList = new ArrayList<VNode>();
public List<VNode> getvNodeList() {
return vNodeList;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSolrLogList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSolrLogList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSolrLogList.java
index 193b522..55cc089 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSolrLogList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSolrLogList.java
@@ -35,10 +35,11 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
public class VSolrLogList extends VList {
private static final long serialVersionUID = 1L;
- SolrDocumentList logList = new SolrDocumentList();
+ protected SolrDocumentList logList;
public VSolrLogList() {
super();
+ logList = new SolrDocumentList();
}
public VSolrLogList(SolrDocumentList logList) {
@@ -52,8 +53,9 @@ public class VSolrLogList extends VList {
@Override
public int getListSize() {
- if (logList != null)
+ if (logList != null){
return logList.size();
+ }
return 0;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummary.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummary.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummary.java
index 92b40b8..9aa696c 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummary.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummary.java
@@ -22,14 +22,14 @@ import java.util.List;
public class VSummary {
- List<VHost> hosts;
- String levels;
- String format;
- String numberLogs;
- String from;
- String to;
- String includeString;
- String excludeString;
+ protected List<VHost> hosts;
+ protected String levels;
+ protected String format;
+ protected String numberLogs;
+ protected String from;
+ protected String to;
+ protected String includeString;
+ protected String excludeString;
public VSummary(){
includeString = "-";
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCount.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCount.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCount.java
index ad1ff5c..b8606d0 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCount.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCount.java
@@ -23,13 +23,13 @@ import java.util.List;
public class VSummaryCount {
- String level;
+ protected String level;
- List<String> cricticalMsg;
+ protected List<String> cricticalMsg;
- List<String> compName;
+ protected List<String> compName;
- List<Long> countMsg;
+ protected List<Long> countMsg;
public String getLevel() {
return level;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCountList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCountList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCountList.java
index 3d8e262..fcab0b7 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCountList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VSummaryCountList.java
@@ -24,7 +24,7 @@ import java.util.Collection;
public class VSummaryCountList {
- Collection<VSummaryCount> countList = new ArrayList<VSummaryCount>();
+ protected Collection<VSummaryCount> countList = new ArrayList<VSummaryCount>();
public Collection<VSummaryCount> getCountList() {
return countList;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfig.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfig.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfig.java
index 075df65..55ec1c0 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfig.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfig.java
@@ -29,11 +29,11 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class VUserConfig {
- String id;
- String userName;
- String filterName;
- String values;
+ protected String id;
+ protected String userName;
+ protected String filterName;
+ protected String values;
List<String> shareNameList;
String rowType;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfigList.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfigList.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfigList.java
index 3fc9d0d..f6d1662 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfigList.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/view/VUserConfigList.java
@@ -34,8 +34,12 @@ import org.codehaus.jackson.map.annotate.JsonSerialize;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class VUserConfigList extends VList {
- String name;
- Collection<VUserConfig> userConfigList;
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ protected String name;
+ protected Collection<VUserConfig> userConfigList;
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
index c90f96d..9fe82ba 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/authenticate/LogsearchLogoutSuccessHandler.java
@@ -35,7 +35,7 @@ public class LogsearchLogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler
@Override
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
- logger.debug("AtlasLogoutSuccessHandler ::: onLogoutSuccess");
+ logger.debug("LogsearchLogoutSuccessHandler ::: onLogoutSuccess");
// super.onLogoutSuccess(request, response, authentication);
response.sendRedirect("/login.jsp");
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/listeners/SpringEventListener.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/listeners/SpringEventListener.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/listeners/SpringEventListener.java
index ef6a410..fc6a594 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/listeners/SpringEventListener.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/listeners/SpringEventListener.java
@@ -27,6 +27,6 @@ public class SpringEventListener implements ApplicationListener<AbstractAuthenti
@Override
public void onApplicationEvent(AbstractAuthenticationEvent event) {
- logger.info(" On Application onApplicationEvent SpringEventListener");
+ logger.trace(" Inside onApplicationEvent SpringEventListener");
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAbstractAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAbstractAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAbstractAuthenticationProvider.java
index cc04821..157fdfc 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAbstractAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAbstractAuthenticationProvider.java
@@ -36,9 +36,7 @@ public abstract class LogsearchAbstractAuthenticationProvider implements Authent
protected enum AUTH_METHOD {
LDAP, FILE, SIMPLE
- }
-
- ;
+ };
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
index 453db61..f29d08f 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchAuthenticationProvider.java
@@ -127,11 +127,11 @@ public class LogsearchAuthenticationProvider extends
* @return
*/
public Authentication doAuth(Authentication authentication, AUTH_METHOD authMethod) {
- if (authMethod.equals(AUTH_METHOD.LDAP) && ldapAuthenticationProvider.isEnable()) {
+ if (authMethod.equals(AUTH_METHOD.LDAP)) {
authentication = ldapAuthenticationProvider.authenticate(authentication);
- } else if (authMethod.equals(AUTH_METHOD.FILE) && fileAuthenticationProvider.isEnable()) {
+ } else if (authMethod.equals(AUTH_METHOD.FILE)) {
authentication = fileAuthenticationProvider.authenticate(authentication);
- } else if (authMethod.equals(AUTH_METHOD.SIMPLE) && simpleAuthenticationProvider.isEnable()) {
+ } else if (authMethod.equals(AUTH_METHOD.SIMPLE)) {
authentication = simpleAuthenticationProvider.authenticate(authentication);
} else {
logger.error("Invalid authentication method :" + authMethod.name());
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
index 91cc556..a5ff295 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchFileAuthenticationProvider.java
@@ -50,6 +50,10 @@ public class LogsearchFileAuthenticationProvider extends LogsearchAbstractAuthen
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
+ if (!this.isEnable()) {
+ logger.debug("File auth is disabled.");
+ return authentication;
+ }
String username = authentication.getName();
String password = (String) authentication.getCredentials();
if (stringUtil.isEmpty(username)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
index 9d9f7e4..2212a5a 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchLdapAuthenticationProvider.java
@@ -53,6 +53,10 @@ public class LogsearchLdapAuthenticationProvider extends
@Override
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
+ if (!this.isEnable()) {
+ logger.debug("Ldap auth is disabled");
+ return authentication;
+ }
try {
LdapAuthenticationProvider authProvider = loadLdapAuthenticationProvider();
if (authProvider != null) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
index 88e41d2..4dfc30a 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/web/security/LogsearchSimpleAuthenticationProvider.java
@@ -39,6 +39,10 @@ public class LogsearchSimpleAuthenticationProvider extends LogsearchAbstractAuth
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
+ if (!this.isEnable()) {
+ logger.debug("Simple auth is disabled");
+ return authentication;
+ }
String username = authentication.getName();
String password = (String) authentication.getCredentials();
username = StringEscapeUtils.unescapeHtml(username);
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/resources/default.properties
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/default.properties b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/default.properties
index 7ce120e..8400cad 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/default.properties
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/default.properties
@@ -35,6 +35,7 @@ servicelog.column.mapping=bundle_id:Bundle Id,thread_name:Thread,log_emessage:me
auditlog.column.mapping=access:Access Type,reqUser:User,enforcer:Access Enfocer,ip:Client IP
#login method
+#Note: Simple will be supported only if both file and ldap is disabled.
logsearch.auth.file.enable=true
logsearch.auth.ldap.enable=false
logsearch.auth.simple.enable=false
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/log4j.xml
index 02207df..ad96558 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/log4j.xml
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/log4j.xml
@@ -18,7 +18,7 @@
</layout>
</appender>
- <appender name="rolling_file" class="org.apache.log4j.RollingFileAppender">
+ <!-- <appender name="rolling_file" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="logs/logsearch-app.log" />
<param name="Threshold" value="info" />
<param name="append" value="true" />
@@ -51,7 +51,40 @@
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
</layout>
</appender>
+ -->
+<!-- logsearch appender config for the all above appender -->
+
+ <appender name="rolling_file_json"
+ class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
+ <param name="file" value="logs/logsearch-app.json" />
+ <param name="Threshold" value="info" />
+ <param name="append" value="true" />
+ <param name="maxFileSize" value="10MB" />
+ <param name="maxBackupIndex" value="10" />
+ <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
+</appender>
+
+ <appender name="audit_rolling_file_json"
+ class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
+ <param name="file" value="logs/logsearch-audit.json" />
+ <param name="Threshold" value="info" />
+ <param name="append" value="true" />
+ <param name="maxFileSize" value="10MB" />
+ <param name="maxBackupIndex" value="10" />
+ <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
+ </appender>
+
+ <appender name="performance_analyzer_json"
+ class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender">
+ <param name="file" value="logs/logsearch-performance.json" />
+ <param name="Threshold" value="info" />
+ <param name="append" value="true" />
+ <param name="maxFileSize" value="10MB" />
+ <param name="maxBackupIndex" value="10" />
+ <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" />
+ </appender>
+
<!-- Logs to suppress BEGIN -->
<category name="org.apache.solr.common.cloud.ZkStateReader" additivity="false">
<priority value="error" />
@@ -62,24 +95,28 @@
<logger name="org.apache.ambari.logsearch.audit"
additivity="true">
<priority value="info" />
- <appender-ref ref="audit_rolling_file" />
+ <!-- <appender-ref ref="audit_rolling_file" />-->
+ <appender-ref ref="audit_rolling_file_json" />
</logger>
<logger name="org.apache.ambari.logsearch.performance"
additivity="false">
<priority value="info" />
- <appender-ref ref="performance_analyzer" />
+ <!-- <appender-ref ref="performance_analyzer" />-->
+ <appender-ref ref="performance_analyzer_json" />
</logger>
<logger name="org.apache.ambari.logsearch" additivity="false">
<priority value="info" />
<!-- <appender-ref ref="console" /> -->
- <appender-ref ref="rolling_file" />
+ <!-- <appender-ref ref="rolling_file" />-->
+ <appender-ref ref="rolling_file_json" />
</logger>
<root>
<level value="warn" />
<!-- <appender-ref ref="console" /> -->
- <appender-ref ref="rolling_file" />
+ <!--<appender-ref ref="rolling_file" />-->
+ <appender-ref ref="rolling_file_json" />
</root>
</log4j:configuration>
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties
index 44f3bfd..b5b0b23 100755
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+#solr.url=http://host:port/solr
solr.url=
#Solr Core
@@ -26,11 +27,18 @@ solr.service_logs.replication_factor=1
#If set, metrics will be sent to Ambari
#metrics.collector.hosts=example.com
metrics.collector.hosts=
-
-#Audit log solr url
auditlog.solr.url=
-#auditlog.solr.core.logs=ranger_audits
+#auditlog.solr.core.logs=collection_name
auditlog.solr.core.logs=ranger_audits
solr.audit_logs.split_interval_mins=none
solr.audit_logs.shards=1
solr.audit_logs.replication_factor=1
+
+#Logfeeder Settings
+logfeeder.include.default.level=fatal,error,warn
+
+#Authentication settings
+#Note: Simple will be supported only if both file and ldap is disabled.
+logsearch.auth.file.enable=true
+logsearch.auth.ldap.enable=false
+logsearch.auth.simple.enable=false
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties.j2 b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties.j2
index ffe9e0c..82457b7 100755
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties.j2
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/resources/logsearch.properties.j2
@@ -31,3 +31,8 @@ solr.audit_logs.split_interval_mins={{audit_logs_collection_splits_interval_mins
solr.audit_logs.shards={{logsearch_numshards}}
solr.audit_logs.replication_factor={{logsearch_repfactor}}
+#Authentication settings
+#Note: Simple will be supported only if both file and ldap is disabled.
+logsearch.auth.file.enable={{logsearch_auth_file_enable}}
+logsearch.auth.ldap.enable={{logsearch_auth_ldap_enable}}
+logsearch.auth.simple.enable={{logsearch_auth_simple_enable}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/scripts/run.sh
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/scripts/run.sh b/ambari-logsearch/ambari-logsearch-portal/src/main/scripts/run.sh
index 256b227..99bc3df 100755
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/scripts/run.sh
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/scripts/run.sh
@@ -73,6 +73,11 @@ fi
if [ -z "$LOGSEARCH_CONF_DIR" ]; then
LOGSEARCH_CONF_DIR="/etc/logsearch/conf"
+ if [ ! -d $LOGSEARCH_CONF_DIR ]; then
+ if [ -d $script_dir/classes ]; then
+ LOGSEARCH_CONF_DIR=$script_dir/classes
+ fi
+ fi
echo "LOGSEARCH_CONF_DIR not found. Use default: $LOGSEARCH_CONF_DIR"
fi
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
index 58f751b..88b6c22 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
@@ -123,14 +123,14 @@
</script>
<!-- <script type="text/javascript" src="libs/other/d3/d3.min.js"></script> -->
-<div class="btn-group contextMenuBody" style="display:none;position:absolute;z-index:9999;">
+<div class="btn-group contextMenuBody dropup" style="display:none;position:absolute;z-index:9999;">
<button type="button" class="btn btn-info btn-circle btn-app-sm btn-context dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-info"></i>
</button>
<ul class="dropdown-menu">
<li><a data-id="I" href="javascript:void(0);">Include</a></li>
- <li><a data-id="E" href="javascript:void(0);">Exclude</a></li>
- <li><a data-id="IA" href="javascript:void(0);">*Include*</a></li>
+ <li><a data-id="E" href="javascript:void(0);">Exclude</a></li>
+ <li><a data-id="IA" href="javascript:void(0);">*Include*</a></li>
<li><a data-id="EA" href="javascript:void(0);">*Exclude*</a></li>
<li role="separator" class="divider"></li>
<li><a data-id="F" href="javascript:void(0);">Find</a></li>
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
index 8048ee2..5d55689 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/Utils.js
@@ -389,33 +389,53 @@ define(['require',
options = _.isUndefined(options) ? Opt : options;
$.msg(options);
};
-
+ var errorShown = false;
Utils.defaultErrorHandler = function(model, error) {
- if (error.status == 404) {
- // App.rContent.show(new vError({
- // status : error.status
- // }));
- } else if (error.status == 401) {
-
- window.location = 'login.jsp'+window.location.search;
- // App.rContent.show(new vError({
- // status : error.status
- // }));
-
- }else if (error.status == 419) {
- window.location = 'login.jsp'+window.location.search;
-
- }else if (error.status == "0") {
- var diffTime = (new Date().getTime() - prevNetworkErrorTime);
- if (diffTime > 3000) {
- prevNetworkErrorTime = new Date().getTime();
- Utils.notifyError({
- content : "Network Connection Failure : "+
- "It seems you are not connected to the internet. Please check your internet connection and try again"
- })
-
- }
- }
+ if (error.status == 500) {
+ try {
+ if (!errorShown) {
+ errorShown = true;
+ Utils.notifyError({
+ content: "Some issue on server, Please try again later."
+ });
+ setTimeout(function() {
+ errorShown = false;
+ }, 3000);
+ }
+ } catch (e) {}
+ }
+ else if (error.status == 400) {
+ try {
+ if (!errorShown) {
+ errorShown = true;
+ Utils.notifyError({
+ content: JSON.parse(error.responseText).msgDesc
+ });
+ setTimeout(function() {
+ errorShown = false;
+ }, 3000);
+ }
+ } catch (e) {}
+ } else if (error.status == 401) {
+ window.location = 'login.jsp' + window.location.search;
+ // App.rContent.show(new vError({
+ // status : error.status
+ // }));
+
+ } else if (error.status == 419) {
+ window.location = 'login.jsp' + window.location.search;
+
+ } else if (error.status == "0") {
+ var diffTime = (new Date().getTime() - prevNetworkErrorTime);
+ if (diffTime > 3000) {
+ prevNetworkErrorTime = new Date().getTime();
+ Utils.notifyError({
+ content: "Network Connection Failure : " +
+ "It seems you are not connected to the internet. Please check your internet connection and try again"
+ })
+
+ }
+ }
// require(['views/common/ErrorView','App'],function(vError,App){
// });
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
index 0603d5f..ba21b65 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/utils/ViewUtils.js
@@ -91,8 +91,11 @@ define(['require',
if (params.host_name) {
this.defaultParams['host_name'] = params.host_name;
}
- if (params.components_name) {
- this.defaultParams['components_name'] = params.components_name;
+ if (params.component_name) {
+ this.defaultParams['component_name'] = params.component_name;
+ }
+ if (params.file_name) {
+ this.defaultParams['file_name'] = params.file_name;
}
if (startDateString && endDateString) {
if (params.timezone) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
index 6785f4f..3916bff 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/Header.js
@@ -118,7 +118,7 @@ define(['require',
require(['views/filter/CreateLogfeederFilterView'],function(CreateLogfeederFilter){
var view = new CreateLogfeederFilter({});
var options = {
- title: "Create Filter",
+ title: "Logfeeder Filter",
content: view,
viewType: 'Filter',
resizable: false,
@@ -154,7 +154,7 @@ define(['require',
width: 650,
height: 350,
beforeClose: function(event, ui) {
- that.onDialogClosed();
+ //that.onDialogClosed();
}
},options);
@@ -166,6 +166,9 @@ define(['require',
// dialog.trigger("toggle:okBtn",false);
});
}
+ options.content.on("closeDialog",function(){
+ that.onDialogClosed();
+ });
dialog.open();
});
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/888faf26/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
index 5b4229a..de5296c 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/scripts/views/common/TableLayout.js
@@ -70,7 +70,7 @@ define(['require',
// the number of page handles to show. The sliding window
// will automatically show the next set of page handles when
// you click next at the end of a window.
- windowSize: 5, // Default is 10
+ windowSize: 10, // Default is 10
// Used to multiple windowSize to yield a number of pages to slide,
// in the case the number is 5