Repository: ambari
Updated Branches:
  refs/heads/trunk 25bfb9ec6 -> 651310663


AMBARI-20623. Cleanup swagger rest api doc for Log Search (oleewere)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/65131066
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/65131066
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/65131066

Branch: refs/heads/trunk
Commit: 651310663d99ea8513d105f5af707097c31b9fa4
Parents: 25bfb9e
Author: oleewere <[email protected]>
Authored: Thu Mar 30 21:47:36 2017 +0200
Committer: oleewere <[email protected]>
Committed: Thu Mar 30 21:47:58 2017 +0200

----------------------------------------------------------------------
 .../FieldAuditLogRequestQueryConverter.java     |  1 -
 .../TopFieldAuditLogRequestQueryConverter.java  | 54 +++++++++++++++++
 .../logsearch/manager/AuditLogsManager.java     |  3 +-
 .../request/impl/FieldAuditLogRequest.java      | 17 +-----
 .../request/impl/TopFieldAuditLogRequest.java   | 40 +++++++++++++
 .../logsearch/rest/AuditLogsResource.java       |  4 +-
 .../logsearch/rest/UserConfigResource.java      |  2 +-
 .../FieldAuditLogRequestQueryConverterTest.java |  3 +-
 ...pFieldAuditLogRequestQueryConverterTest.java | 61 ++++++++++++++++++++
 .../main/webapp/scripts/views/common/Header.js  |  6 +-
 10 files changed, 165 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverter.java
index a4e613b..bf6a457 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverter.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverter.java
@@ -33,7 +33,6 @@ public class FieldAuditLogRequestQueryConverter extends 
AbstractLogRequestFacetQ
   @Override
   public void appendFacetOptions(FacetOptions facetOptions, 
FieldAuditLogRequest request) {
     facetOptions.addFacetOnPivot(request.getField(), AUDIT_COMPONENT);
-    facetOptions.setFacetLimit(request.getTop());
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverter.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverter.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverter.java
new file mode 100644
index 0000000..9985a18
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverter.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ambari.logsearch.converter;
+
+import org.apache.ambari.logsearch.common.LogType;
+import org.apache.ambari.logsearch.model.request.impl.TopFieldAuditLogRequest;
+import org.springframework.data.solr.core.query.FacetOptions;
+
+import javax.inject.Named;
+
+import static 
org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_COMPONENT;
+import static 
org.apache.ambari.logsearch.solr.SolrConstants.AuditLogConstants.AUDIT_EVTTIME;
+
+@Named
+public class TopFieldAuditLogRequestQueryConverter extends 
AbstractLogRequestFacetQueryConverter<TopFieldAuditLogRequest> {
+
+  @Override
+  public void appendFacetOptions(FacetOptions facetOptions, 
TopFieldAuditLogRequest request) {
+    facetOptions.addFacetOnPivot(request.getField(), AUDIT_COMPONENT);
+    facetOptions.setFacetLimit(request.getTop());
+  }
+
+  @Override
+  public FacetOptions.FacetSort getFacetSort() {
+    return FacetOptions.FacetSort.COUNT;
+  }
+
+  @Override
+  public String getDateTimeField() {
+    return AUDIT_EVTTIME;
+  }
+
+  @Override
+  public LogType getLogType() {
+    return LogType.AUDIT;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
index 49465d5..25e3271 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/manager/AuditLogsManager.java
@@ -47,6 +47,7 @@ import 
org.apache.ambari.logsearch.model.request.impl.AuditComponentRequest;
 import org.apache.ambari.logsearch.model.request.impl.AuditLogRequest;
 import org.apache.ambari.logsearch.model.request.impl.AuditServiceLoadRequest;
 import org.apache.ambari.logsearch.model.request.impl.FieldAuditLogRequest;
+import org.apache.ambari.logsearch.model.request.impl.TopFieldAuditLogRequest;
 import org.apache.ambari.logsearch.model.request.impl.UserExportRequest;
 import org.apache.ambari.logsearch.model.response.AuditLogResponse;
 import org.apache.ambari.logsearch.model.response.BarGraphDataListResponse;
@@ -134,7 +135,7 @@ public class AuditLogsManager extends 
ManagerBase<SolrAuditLogData, AuditLogResp
     return 
responseDataGenerator.generateBarGraphDataResponseWithRanges(response, 
SolrConstants.AuditLogConstants.AUDIT_COMPONENT, true);
   }
 
-  public BarGraphDataListResponse topResources(FieldAuditLogRequest request) {
+  public BarGraphDataListResponse topResources(TopFieldAuditLogRequest 
request) {
     SimpleFacetQuery facetQuery = conversionService.convert(request, 
SimpleFacetQuery.class);
     QueryResponse queryResponse = auditSolrDao.process(facetQuery);
     return 
responseDataGenerator.generateSecondLevelBarGraphDataResponse(queryResponse, 0);

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/FieldAuditLogRequest.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/FieldAuditLogRequest.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/FieldAuditLogRequest.java
index 0bdcddf..2abc69f 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/FieldAuditLogRequest.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/FieldAuditLogRequest.java
@@ -20,19 +20,14 @@ package org.apache.ambari.logsearch.model.request.impl;
 
 import org.apache.ambari.logsearch.common.LogSearchConstants;
 import org.apache.ambari.logsearch.model.request.FieldParamDefinition;
-import org.apache.ambari.logsearch.model.request.TopParamDefinition;
 
-import javax.ws.rs.PathParam;
 import javax.ws.rs.QueryParam;
 
-public class FieldAuditLogRequest extends BaseLogRequest implements 
FieldParamDefinition, TopParamDefinition {
+public class FieldAuditLogRequest extends BaseLogRequest implements 
FieldParamDefinition {
 
   @QueryParam(LogSearchConstants.REQUEST_PARAM_FIELD)
   private String field;
 
-  @PathParam(LogSearchConstants.REQUEST_PARAM_TOP)
-  private Integer top;
-
   @Override
   public String getField() {
     return field;
@@ -42,14 +37,4 @@ public class FieldAuditLogRequest extends BaseLogRequest 
implements FieldParamDe
   public void setField(String field) {
     this.field = field;
   }
-
-  @Override
-  public Integer getTop() {
-    return top;
-  }
-
-  @Override
-  public void setTop(Integer top) {
-    this.top = top;
-  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/TopFieldAuditLogRequest.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/TopFieldAuditLogRequest.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/TopFieldAuditLogRequest.java
new file mode 100644
index 0000000..4dd7c3e
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/model/request/impl/TopFieldAuditLogRequest.java
@@ -0,0 +1,40 @@
+/*
+ * 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.model.request.impl;
+
+import org.apache.ambari.logsearch.common.LogSearchConstants;
+import org.apache.ambari.logsearch.model.request.TopParamDefinition;
+
+import javax.ws.rs.PathParam;
+
+public class TopFieldAuditLogRequest extends FieldAuditLogRequest implements 
TopParamDefinition {
+
+  @PathParam(LogSearchConstants.REQUEST_PARAM_TOP)
+  private Integer top;
+
+  @Override
+  public Integer getTop() {
+    return top;
+  }
+
+  @Override
+  public void setTop(Integer top) {
+    this.top = top;
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/AuditLogsResource.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/AuditLogsResource.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/AuditLogsResource.java
index 2013dc7..00bf07c 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/AuditLogsResource.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/AuditLogsResource.java
@@ -35,7 +35,7 @@ import org.apache.ambari.logsearch.common.StatusMessage;
 import org.apache.ambari.logsearch.model.request.impl.AuditBarGraphRequest;
 import org.apache.ambari.logsearch.model.request.impl.AuditComponentRequest;
 import org.apache.ambari.logsearch.model.request.impl.AuditServiceLoadRequest;
-import org.apache.ambari.logsearch.model.request.impl.FieldAuditLogRequest;
+import org.apache.ambari.logsearch.model.request.impl.TopFieldAuditLogRequest;
 import org.apache.ambari.logsearch.model.request.impl.UserExportRequest;
 import org.apache.ambari.logsearch.model.response.AuditLogResponse;
 import org.apache.ambari.logsearch.model.response.BarGraphDataListResponse;
@@ -97,7 +97,7 @@ public class AuditLogsResource {
   @Path("/resources/{top}")
   @Produces({"application/json"})
   @ApiOperation(GET_TOP_AUDIT_RESOURCES_OD)
-  public BarGraphDataListResponse getResources(@BeanParam FieldAuditLogRequest 
request) {
+  public BarGraphDataListResponse getResources(@BeanParam 
TopFieldAuditLogRequest request) {
     return auditLogsManager.topResources(request);
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/UserConfigResource.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/UserConfigResource.java
 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/UserConfigResource.java
index 19cfbed..41dda05 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/UserConfigResource.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/main/java/org/apache/ambari/logsearch/rest/UserConfigResource.java
@@ -82,7 +82,7 @@ public class UserConfigResource {
   }
 
   @PUT
-  @Path("/filters/{id}")
+  @Path("/filters")
   @Produces({"application/json"})
   @ApiOperation(UPDATE_USER_FILTER_OD)
   public LogFeederDataMap updateUserFilter(LogFeederDataMap request) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
 
b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
index 08541e1..5b83615 100644
--- 
a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/FieldAuditLogRequestQueryConverterTest.java
@@ -40,14 +40,13 @@ public class FieldAuditLogRequestQueryConverterTest extends 
AbstractRequestConve
     // GIVEN
     FieldAuditLogRequest request = new FieldAuditLogRequest();
     fillBaseLogRequestWithTestData(request);
-    request.setTop(10);
     request.setField("myfield");
     // WHEN
     SolrQuery query = new 
DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
     // THEN
     
assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage"
 +
       
"&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29&fq=-repo%3A%28hst_agent+system_message%29&fq=cluster%3Acl1&facet=true"
 +
-      "&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo",
+      "&facet.mincount=1&facet.limit=-1&facet.pivot=myfield%2Crepo",
       query.toQueryString());
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
 
b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
new file mode 100644
index 0000000..2be9080
--- /dev/null
+++ 
b/ambari-logsearch/ambari-logsearch-server/src/test/java/org/apache/ambari/logsearch/converter/TopFieldAuditLogRequestQueryConverterTest.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ambari.logsearch.converter;
+
+import org.apache.ambari.logsearch.model.request.impl.TopFieldAuditLogRequest;
+import org.apache.solr.client.solrj.SolrQuery;
+import org.junit.Before;
+import org.junit.Test;
+import org.springframework.data.solr.core.DefaultQueryParser;
+
+import static org.junit.Assert.assertEquals;
+
+public class TopFieldAuditLogRequestQueryConverterTest extends 
AbstractRequestConverterTest {
+
+  private TopFieldAuditLogRequestQueryConverter underTest;
+
+  @Before
+  public void setUp() {
+    underTest = new TopFieldAuditLogRequestQueryConverter();
+  }
+
+  @Test
+  public void testConvert() {
+    // GIVEN
+    TopFieldAuditLogRequest request = new TopFieldAuditLogRequest();
+    fillBaseLogRequestWithTestData(request);
+    request.setTop(10);
+    request.setField("myfield");
+    // WHEN
+    SolrQuery query = new 
DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
+    // THEN
+    
assertEquals("?q=*%3A*&rows=0&fq=evtTime%3A%5B2016-09-13T22%3A00%3A01.000Z+TO+2016-09-14T22%3A00%3A01.000Z%5D&fq=log_message%3Amyincludemessage"
 +
+        
"&fq=-log_message%3Amyexcludemessage&fq=repo%3A%28logsearch_app+secure_log%29&fq=-repo%3A%28hst_agent+system_message%29&fq=cluster%3Acl1&facet=true"
 +
+        "&facet.mincount=1&facet.limit=10&facet.pivot=myfield%2Crepo",
+      query.toQueryString());
+  }
+
+  @Test(expected = IllegalArgumentException.class) // TODO: later use @Valid 
on the fields to validate object
+  public void testConvertWithoutData() {
+    // GIVEN
+    TopFieldAuditLogRequest request = new TopFieldAuditLogRequest();
+    // WHEN
+    new DefaultQueryParser().doConstructSolrQuery(underTest.convert(request));
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/65131066/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Header.js
----------------------------------------------------------------------
diff --git 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Header.js
 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Header.js
index deb0e28..bbd57465 100644
--- 
a/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Header.js
+++ 
b/ambari-logsearch/ambari-logsearch-web/src/main/webapp/scripts/views/common/Header.js
@@ -232,11 +232,11 @@ define(['require',
                     //this.hostArray = content.ui.hostSelect2.val().split(',');
                     // this.levelArray = 
content.ui.levelSelect2.val().split(',');
 
-                    //this.filterList = { /*components : 
this.componentArray,*/hosts : this.hostArray/*, levels : this.levelArray */};
-
+                    //this.filterList = { /*components : 
this.componentArray,*/hosts : this.hostArray/*, levels : this.levelArray */}
                     content.model.set(content.setValues());
 
-                    content.model.save(content.model.attributes,{
+                    content.model.save(content.model.attributes, {
+                        url: Globals.baseURL + 'userconfig/filters',
                         success : function(model,response){
                             Utils.notifySuccess({
                                 content: "Filter has been saved."

Reply via email to