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);