You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by co...@apache.org on 2017/11/21 16:19:08 UTC
ranger git commit: Remove deprecated extractedCommonCriterias call
from the SearchUtil and fix the UserREST controller
Repository: ranger
Updated Branches:
refs/heads/master 8ab766846 -> 41e220381
Remove deprecated extractedCommonCriterias call from the SearchUtil and fix the UserREST controller
Change-Id: If23b8b5c3b21a46e29cc7fe744821bdeb1cdca22
Signed-off-by: Colm O hEigeartaigh <co...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/41e22038
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/41e22038
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/41e22038
Branch: refs/heads/master
Commit: 41e220381fecb3fcb184b0227152f4e77078ab1c
Parents: 8ab7668
Author: Zsombor Gegesy <gz...@gmail.com>
Authored: Fri Nov 17 15:31:00 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Tue Nov 21 16:01:27 2017 +0000
----------------------------------------------------------------------
.../org/apache/ranger/common/SearchUtil.java | 47 --------------------
.../java/org/apache/ranger/rest/UserREST.java | 18 +++++---
.../org/apache/ranger/rest/TestUserREST.java | 9 ++--
3 files changed, 17 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/41e22038/security-admin/src/main/java/org/apache/ranger/common/SearchUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/common/SearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/SearchUtil.java
index ad30733..2c918fd 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/SearchUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/SearchUtil.java
@@ -61,53 +61,6 @@ public class SearchUtil {
defaultDateFormat = PropertiesUtil.getProperty("ranger.ui.defaultDateformat", defaultDateFormat);
}
- @Deprecated
- public SearchCriteria extractCommonCriterias(HttpServletRequest request,
- String[] approvedSortByParams) {
- SearchCriteria searchCriteria = new SearchCriteria();
-
- int startIndex = restErrorUtil.parseInt(
- request.getParameter("startIndex"), 0,
- "Invalid value for parameter startIndex",
- MessageEnums.INVALID_INPUT_DATA, null, "startIndex");
- startIndex = startIndex < 0 ? 0 : startIndex;
- searchCriteria.setStartIndex(startIndex);
-
- int pageSize = restErrorUtil.parseInt(request.getParameter("pageSize"),
- configUtil.getDefaultMaxRows(),
- "Invalid value for parameter pageSize",
- MessageEnums.INVALID_INPUT_DATA, null, "pageSize");
- searchCriteria.setMaxRows(pageSize);
-
- String sortBy = restErrorUtil.validateString(
- request.getParameter("sortBy"), StringUtil.VALIDATION_ALPHA,
- "Invalid value for parameter sortBy",
- MessageEnums.INVALID_INPUT_DATA, null, "sortBy");
-
- boolean sortSet = false;
- for (int i = 0; approvedSortByParams != null
- && i < approvedSortByParams.length; i++) {
-
- if (approvedSortByParams[i].equalsIgnoreCase(sortBy)) {
- searchCriteria.setSortBy(approvedSortByParams[i]);
- String sortType = restErrorUtil.validateString(
- request.getParameter("sortType"),
- StringUtil.VALIDATION_ALPHA,
- "Invalid value for parameter sortType",
- MessageEnums.INVALID_INPUT_DATA, null, "sortType");
- searchCriteria.setSortType(sortType);
- sortSet = true;
- break;
- }
- }
- if (!sortSet && !stringUtil.isEmpty(sortBy)) {
- logger.info("Invalid or unsupported sortBy field passed. sortBy="
- + sortBy, new Throwable());
- }
-
- return searchCriteria;
- }
-
/**
* @param request
* @param sortFields
http://git-wip-us.apache.org/repos/asf/ranger/blob/41e22038/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
index 4bf1899..cf764a0 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/UserREST.java
@@ -19,6 +19,9 @@
package org.apache.ranger.rest;
+import java.util.Arrays;
+import java.util.List;
+
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -39,6 +42,7 @@ import org.apache.ranger.common.RangerConfigUtil;
import org.apache.ranger.common.RangerConstants;
import org.apache.ranger.common.SearchCriteria;
import org.apache.ranger.common.SearchUtil;
+import org.apache.ranger.common.SortField;
import org.apache.ranger.common.StringUtil;
import org.apache.ranger.common.annotation.RangerAnnotationClassName;
import org.apache.ranger.common.annotation.RangerAnnotationJSMgrName;
@@ -92,6 +96,14 @@ public class UserREST {
@Autowired
XUserMgr xUserMgr;
+ private final static List<SortField> SORT_FIELDS = Arrays.asList(
+ new SortField("requestDate", "requestDate"),
+ new SortField("approvedDate", "approvedDate"),
+ new SortField("activationDate", "activationDate"),
+ new SortField("emailAddress", "emailAddress"),
+ new SortField("firstName", "firstName"),
+ new SortField("lastName", "lastName")
+ );
/**
* Implements the traditional search functionalities for UserProfile
*
@@ -102,12 +114,8 @@ public class UserREST {
@Produces({ "application/xml", "application/json" })
@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.SEARCH_USERS + "\")")
public VXPortalUserList searchUsers(@Context HttpServletRequest request) {
- String[] approvedSortByParams = new String[] { "requestDate",
- "approvedDate", "activationDate", "emailAddress", "firstName",
- "lastName" };
- @SuppressWarnings("deprecation")
SearchCriteria searchCriteria = searchUtil.extractCommonCriterias(
- request, approvedSortByParams);
+ request, SORT_FIELDS);
// userId
searchUtil.extractLong(request, searchCriteria, "userId", "User Id");
http://git-wip-us.apache.org/repos/asf/ranger/blob/41e22038/security-admin/src/test/java/org/apache/ranger/rest/TestUserREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/test/java/org/apache/ranger/rest/TestUserREST.java b/security-admin/src/test/java/org/apache/ranger/rest/TestUserREST.java
index 373b6f3..3c3051b 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestUserREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestUserREST.java
@@ -32,6 +32,7 @@ import org.apache.ranger.common.RangerConfigUtil;
import org.apache.ranger.common.RangerConstants;
import org.apache.ranger.common.SearchCriteria;
import org.apache.ranger.common.SearchUtil;
+import org.apache.ranger.common.SortField;
import org.apache.ranger.common.StringUtil;
import org.apache.ranger.db.RangerDaoManager;
import org.apache.ranger.db.XXPortalUserDao;
@@ -50,6 +51,7 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.mockito.InjectMocks;
+import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
@@ -110,7 +112,6 @@ public class TestUserREST {
String loginId = "xyzId";
String emailId = "abc@Example.com";
- @SuppressWarnings("deprecation")
@Test
public void test1SearchUsers() {
SearchCriteria searchCriteria = new SearchCriteria();
@@ -119,10 +120,8 @@ public class TestUserREST {
List<Integer> status = new ArrayList<Integer>();
String publicScreenName = "nrp";
List<String> roles = new ArrayList<String>();
- String[] approvedSortByParams = new String[] { "requestDate", "approvedDate", "activationDate", "emailAddress",
- "firstName", "lastName" };
- Mockito.when(searchUtil.extractCommonCriterias(request, approvedSortByParams)).thenReturn(searchCriteria);
+ Mockito.when(searchUtil.extractCommonCriterias(Matchers.eq(request), Matchers.anyListOf(SortField.class))).thenReturn(searchCriteria);
Mockito.when(searchUtil.extractLong(request, searchCriteria, "userId", "User Id")).thenReturn(userId);
Mockito.when(searchUtil.extractString(request, searchCriteria, "loginId", "Login Id", null))
.thenReturn(loginId);
@@ -147,7 +146,7 @@ public class TestUserREST {
Assert.assertEquals(vXPUserExpList, vXPUserListAct);
Assert.assertEquals(vXPUserExpList.getPageSize(), vXPUserListAct.getPageSize());
- Mockito.verify(searchUtil).extractCommonCriterias(request, approvedSortByParams);
+ Mockito.verify(searchUtil).extractCommonCriterias(Matchers.eq(request), Matchers.anyListOf(SortField.class));
Mockito.verify(searchUtil).extractLong(request, searchCriteria, "userId", "User Id");
Mockito.verify(searchUtil).extractString(request, searchCriteria, "loginId", "Login Id", null);
Mockito.verify(searchUtil).extractString(request, searchCriteria, "emailAddress", "Email Address", null);