http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/SearchField.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/SearchField.java 
b/security-admin/src/main/java/com/xasecure/common/SearchField.java
deleted file mode 100644
index 03f0315..0000000
--- a/security-admin/src/main/java/com/xasecure/common/SearchField.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public class SearchField {
-       public enum DATA_TYPE {
-               INTEGER, STRING, INT_LIST, STR_LIST, BOOLEAN, DATE
-       };
-
-       public enum SEARCH_TYPE {
-               FULL, PARTIAL, LESS_THAN, LESS_EQUAL_THAN, GREATER_THAN, 
GREATER_EQUAL_THAN
-       };
-
-       private String clientFieldName;
-       private String fieldName;
-       private DATA_TYPE dataType;
-       private SEARCH_TYPE searchType;
-       private String regEx;
-       private String enumName;
-       private int maxValue;
-       private List<String> joinTables;
-       private String joinCriteria;
-       private String customCondition;
-
-       /**
-        * default constructor
-        */
-       public SearchField(String clientFieldName, String fieldName,
-                       DATA_TYPE dtype, SEARCH_TYPE stype, String joinTables,
-                       String joinCriteria) {
-               this.clientFieldName = clientFieldName;
-               this.fieldName = fieldName;
-               dataType = dtype;
-               searchType = stype;
-
-               setJoinTables(joinTables);
-               this.joinCriteria = joinCriteria;
-       }
-
-       /**
-        * constructor
-        */
-       public SearchField(String clientFieldName, String fieldName,
-                       DATA_TYPE dtype, SEARCH_TYPE stype) {
-               this.clientFieldName = clientFieldName;
-               this.fieldName = fieldName;
-               dataType = dtype;
-               searchType = stype;
-       }
-
-       /**
-        * constructor
-        */
-       public SearchField(String clientFieldName, String fieldName) {
-               this.clientFieldName = clientFieldName;
-               this.fieldName = fieldName;
-               dataType = DATA_TYPE.STRING;
-               searchType = SEARCH_TYPE.FULL;
-       }
-
-       static public SearchField createString(String clientFieldName,
-                       String fieldName, SEARCH_TYPE stype, String regEx) {
-               SearchField searchField = new SearchField(clientFieldName, 
fieldName,
-                               DATA_TYPE.STRING, stype);
-               searchField.setRegEx(regEx);
-               return searchField;
-       }
-
-       static public SearchField createLong(String clientFieldName,
-                       String fieldName) {
-               SearchField searchField = new SearchField(clientFieldName, 
fieldName,
-                               DATA_TYPE.INTEGER, SEARCH_TYPE.FULL);
-               return searchField;
-       }
-
-       static public SearchField createEnum(String clientFieldName,
-                       String fieldName, String enumName, int maxValue) {
-               SearchField searchField = new SearchField(clientFieldName, 
fieldName,
-                               DATA_TYPE.INT_LIST, SEARCH_TYPE.FULL);
-               searchField.setEnumName(enumName);
-               searchField.setMaxValue(maxValue);
-               return searchField;
-       }
-
-       public String getClientFieldName() {
-               return clientFieldName;
-       }
-
-       public String getFieldName() {
-               return fieldName;
-       }
-
-       public void setFieldName(String fieldName) {
-               this.fieldName = fieldName;
-       }
-
-       public DATA_TYPE getDataType() {
-               return dataType;
-       }
-
-       public void setDataType(DATA_TYPE dataType) {
-               this.dataType = dataType;
-       }
-
-       public SEARCH_TYPE getSearchType() {
-               return searchType;
-       }
-
-       /**
-        * @param regEx
-        *            the regEx to set
-        */
-       public void setRegEx(String regEx) {
-               this.regEx = regEx;
-       }
-
-       /**
-        * @param enumName
-        *            the enumName to set
-        */
-       public void setEnumName(String enumName) {
-               this.enumName = enumName;
-       }
-
-       /**
-        * @param maxValue
-        *            the maxValue to set
-        */
-       public void setMaxValue(int maxValue) {
-               this.maxValue = maxValue;
-       }
-
-       /**
-        * @return the joinTables
-        */
-       public List<String> getJoinTables() {
-               return joinTables;
-       }
-
-       /**
-        * @param joinTables
-        *            the joinTables to set
-        */
-       public void setJoinTables(List<String> joinTables) {
-               this.joinTables = joinTables;
-       }
-
-       /**
-        * @param joinTables
-        *            the joinTables to set (comma separated)
-        */
-       public void setJoinTables(String joinTables) {
-               if (joinTables != null) {
-                       if (this.joinTables == null) {
-                               this.joinTables = new ArrayList<String>();
-                       }
-
-                       for (String table : joinTables.split(",")) {
-                               if (table == null) {
-                                       continue;
-                               }
-                               table = table.trim();
-
-                               if (!table.isEmpty() && 
!this.joinTables.contains(table)) {
-                                       this.joinTables.add(table);
-                               }
-                       }
-
-               }
-       }
-
-       /**
-        * @return the joinCriteria
-        */
-       public String getJoinCriteria() {
-               return joinCriteria;
-       }
-
-       /**
-        * @param joinCriteria
-        *            the joinCriteria to set
-        */
-       public void setJoinCriteria(String joinCriteria) {
-               this.joinCriteria = joinCriteria;
-       }
-
-       /**
-        * @return the customCondition
-        */
-       public String getCustomCondition() {
-               return customCondition;
-       }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/SearchGroup.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/SearchGroup.java 
b/security-admin/src/main/java/com/xasecure/common/SearchGroup.java
deleted file mode 100644
index 7702eba..0000000
--- a/security-admin/src/main/java/com/xasecure/common/SearchGroup.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.persistence.Query;
-
-public class SearchGroup {
-       public enum CONDITION {
-               AND, OR
-       }
-
-       CONDITION condition = CONDITION.AND;
-
-       List<SearchValue> values = new ArrayList<SearchValue>();
-       List<SearchGroup> searchGroups = new ArrayList<SearchGroup>();
-
-       /**
-        * @param condition
-        */
-       public SearchGroup(CONDITION condition) {
-               this.condition = condition;
-       }
-
-       public String getWhereClause(String prefix) {
-               if ((values == null || values.size() == 0)
-                               && (searchGroups == null || searchGroups.size() 
== 0)) {
-                       return "";
-               }
-               int count = -1;
-               int innerCount = 0;
-               StringBuilder whereClause = new StringBuilder("(");
-               for (SearchValue value : values) {
-                       count++;
-                       if (count > 0) {
-                               if (condition.equals(CONDITION.AND)) {
-                                       whereClause.append(" AND ");
-                               } else {
-                                       whereClause.append(" OR ");
-                               }
-                       }
-                       SearchField searchField = value.getSearchField();
-                       if (value.isList()) {
-                               whereClause.append(" (");
-                               int listCount = value.getValueList().size();
-                               for (int i = 0; i < listCount; i++) {
-                                       if (i > 0) {
-                                               whereClause.append(" OR ");
-                                       }
-                                       whereClause
-                                                       
.append(searchField.getFieldName())
-                                                       .append(" = :")
-                                                       
.append(searchField.getClientFieldName() + "_"
-                                                                       + 
prefix + "_" + count + "_" + innerCount);
-                                       innerCount++;
-                               }
-                               whereClause.append(") ");
-                       } else {
-                               whereClause
-                                               
.append(searchField.getFieldName())
-                                               .append(" = :")
-                                               
.append(searchField.getClientFieldName() + "_" + prefix
-                                                               + "_" + count);
-                       }
-               }
-
-               for (SearchGroup searchGroup : searchGroups) {
-                       count++;
-                       if (count > 0) {
-                               if (condition.equals(CONDITION.AND)) {
-                                       whereClause.append(" AND ");
-                               } else {
-                                       whereClause.append(" OR ");
-                               }
-                       }
-                       whereClause.append(" ")
-                                       
.append(searchGroup.getWhereClause(prefix + "_" + count))
-                                       .append(" ");
-               }
-               whereClause.append(") ");
-               return whereClause.toString();
-       }
-
-       /**
-        * @param query
-        */
-       public void resolveValues(Query query, String prefix) {
-               if ((values == null || values.size() == 0)
-                               && (searchGroups == null || searchGroups.size() 
== 0)) {
-                       return;
-               }
-
-               int count = -1;
-               int innerCount = 0;
-               for (SearchValue value : values) {
-                       count++;
-                       SearchField searchField = value.getSearchField();
-                       if (value.isList()) {
-                               int listCount = value.getValueList().size();
-                               for (int i = 0; i < listCount; i++) {
-                                       String paramName = 
searchField.getClientFieldName() + "_"
-                                                       + prefix + "_" + count 
+ "_" + innerCount;
-                                       query.setParameter(paramName, 
value.getValueList().get(i));
-                                       innerCount++;
-                               }
-                       } else {
-                               String paramName = 
searchField.getClientFieldName() + "_"
-                                               + prefix + "_" + count;
-                               query.setParameter(paramName, value.getValue());
-                       }
-               }
-
-               for (SearchGroup searchGroup : searchGroups) {
-                       count++;
-                       searchGroup.resolveValues(query, prefix + "_" + count);
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/SearchUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/SearchUtil.java 
b/security-admin/src/main/java/com/xasecure/common/SearchUtil.java
deleted file mode 100644
index d097a06..0000000
--- a/security-admin/src/main/java/com/xasecure/common/SearchUtil.java
+++ /dev/null
@@ -1,819 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-
-@Component
-public class SearchUtil {
-       final static Logger logger = Logger.getLogger(SearchUtil.class);
-
-       @Autowired
-       RESTErrorUtil restErrorUtil;
-
-       @Autowired
-       XAConfigUtil configUtil;
-
-       // @Autowired
-       // AKADomainObjectSecurityHandler securityHandler;
-
-       @Autowired
-       StringUtil stringUtil;
-
-       int minInListLength = 20;
-       String defaultDateFormat="MM/dd/yyyy";
-
-       public SearchUtil() {
-               minInListLength = PropertiesUtil.getIntProperty(
-                               "xa.db.min_inlist", minInListLength);
-               defaultDateFormat = PropertiesUtil.getProperty(
-                               "xa.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");
-               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
-        * @return
-        */
-       public SearchCriteria extractCommonCriterias(HttpServletRequest request,
-                       List<SortField> sortFields) {
-               SearchCriteria searchCriteria = new SearchCriteria();
-
-               int startIndex = restErrorUtil.parseInt(
-                               request.getParameter("startIndex"), 0,
-                               "Invalid value for parameter startIndex",
-                               MessageEnums.INVALID_INPUT_DATA, null, 
"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);
-
-               // is count needed
-               searchCriteria.setGetCount(restErrorUtil.parseBoolean(
-                               request.getParameter("getCount"), true));
-
-               searchCriteria.setOwnerId(restErrorUtil.parseLong(
-                               request.getParameter("ownerId"), null));
-               searchCriteria.setGetChildren(restErrorUtil.parseBoolean(
-                               request.getParameter("getChildren"), false));
-
-               String sortBy = restErrorUtil.validateString(
-                               request.getParameter("sortBy"), 
StringUtil.VALIDATION_ALPHA,
-                               "Invalid value for parameter sortBy",
-                               MessageEnums.INVALID_INPUT_DATA, null, 
"sortBy");
-
-               boolean sortSet = false;
-               if (!stringUtil.isEmpty(sortBy)) {
-                       for (SortField sortField : sortFields) {
-                               if 
(sortField.getParamName().equalsIgnoreCase(sortBy)) {
-                                       
searchCriteria.setSortBy(sortField.getParamName());
-                                       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;
-       }
-
-       
-
-       public Long extractLong(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName) {
-               String[] values = getParamMultiValues(request, paramName, 
paramName);
-               if (values != null && values.length > 1) {
-                       List<Long> multiValues = extractLongList(request, 
searchCriteria,
-                                       paramName, userFriendlyParamName, 
paramName);
-                       if (multiValues != null && multiValues.size() > 0) {
-                               return multiValues.get(0);
-                       } else {
-                               return null;
-                       }
-               } else {
-                       Long value = restErrorUtil.parseLong(
-                                       request.getParameter(paramName), 
"Invalid value for "
-                                                       + userFriendlyParamName,
-                                       MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-                       if (value != null) {
-                               searchCriteria.getParamList().put(paramName, 
value);
-                       }
-                       return value;
-               }
-       }
-
-       public Integer extractInt(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName) {
-               Integer value = 
restErrorUtil.parseInt(request.getParameter(paramName),
-                               "Invalid value for " + userFriendlyParamName,
-                               MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-               if (value != null) {
-                       searchCriteria.getParamList().put(paramName, value);
-               }
-               return value;
-       }
-
-       /**
-        * 
-        * @param request
-        * @param searchCriteria
-        * @param paramName
-        * @param userFriendlyParamName
-        * @param dateFormat
-        * @return
-        */
-       public Date extractDate(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String dateFormat) {
-               Date value = null;
-               if (dateFormat == null || dateFormat.isEmpty()) {
-                       dateFormat = defaultDateFormat;
-               }
-               value = restErrorUtil.parseDate(request.getParameter(paramName),
-                               "Invalid value for" + userFriendlyParamName,
-                               MessageEnums.INVALID_INPUT_DATA, null, 
paramName, dateFormat);
-               if (value != null) {
-                       searchCriteria.getParamList().put(paramName, value);
-               }
-
-               return value;
-       }
-
-       public String extractString(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String regEx) {
-               String value = request.getParameter(paramName);
-               if (!stringUtil.isEmpty(value)) {
-                       value = value.trim();
-                       // TODO need to handle this in more generic way
-                       //              so as to take care of all possible 
special
-                       //              characters.
-                       if(value.contains("%")){
-                               value = value.replaceAll("%", "\\\\%");
-                       }
-                       if (!stringUtil.isEmpty(regEx)) {
-                               restErrorUtil.validateString(value, regEx, 
"Invalid value for "
-                                               + userFriendlyParamName,
-                                               
MessageEnums.INVALID_INPUT_DATA, null, paramName);
-                       }
-                       searchCriteria.getParamList().put(paramName, value);
-               }
-               return value;
-       }
-
-       public List<Integer> extractEnum(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String listName, int 
maxValue) {
-
-               ArrayList<Integer> valueList = new ArrayList<Integer>();
-               String[] values = getParamMultiValues(request, paramName, 
listName);
-               for (int i = 0; values != null && i < values.length; i++) {
-                       Integer value = restErrorUtil.parseInt(values[i],
-                                       "Invalid value for " + 
userFriendlyParamName,
-                                       MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-
-                       restErrorUtil.validateMinMax(value, 0, maxValue,
-                                       "Invalid value for " + 
userFriendlyParamName, null,
-                                       paramName);
-                       valueList.add(value);
-               }
-               if (valueList.size() > 0) {
-                       searchCriteria.getParamList().put(listName, valueList);
-               }
-               return valueList;
-       }
-
-       /**
-        * @param request
-        * @param paramName
-        * @param listName
-        * @return
-        */
-       String[] getParamMultiValues(HttpServletRequest request, String 
paramName,
-                       String listName) {
-               String[] values = request.getParameterValues(paramName);
-               if (values == null || values.length == 0) {
-                       values = request.getParameterValues(paramName + "[]");
-                       if (listName != null && (values == null || 
values.length == 0)) {
-                               values = request.getParameterValues(listName);
-                               if (values == null || values.length == 0) {
-                                       // Let's try after appending []
-                                       values = 
request.getParameterValues(listName + "[]");
-                               }
-                       }
-               }
-               return values;
-       }
-
-       public List<String> extractStringList(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String listName,
-                       String[] validValues, String regEx) {
-               ArrayList<String> valueList = new ArrayList<String>();
-               String[] values = getParamMultiValues(request, paramName, 
listName);
-
-               for (int i = 0; values != null && i < values.length; i++) {
-                       if (!stringUtil.isEmpty(regEx)) {
-                               restErrorUtil.validateString(values[i], regEx,
-                                               "Invalid value for " + 
userFriendlyParamName,
-                                               
MessageEnums.INVALID_INPUT_DATA, null, paramName);
-                       }
-                       valueList.add(values[i]);
-               }
-               searchCriteria.getParamList().put(listName, valueList);
-               return valueList;
-       }
-
-       public List<Long> extractLongList(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String listName) {
-               ArrayList<Long> valueList = new ArrayList<Long>();
-               String[] values = getParamMultiValues(request, paramName, 
listName);
-
-               for (int i = 0; values != null && i < values.length; i++) {
-                       Long value = restErrorUtil.parseLong(
-                                       values[i], "Invalid value for "
-                                                       + userFriendlyParamName,
-                                       MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-                       valueList.add(value);
-               }
-               searchCriteria.getParamList().put(listName, valueList);
-               return valueList;
-       }
-
-       public void updateQueryPageSize(Query query, SearchCriteria 
searchCriteria) {
-               // Set max records
-               int pageSize = validatePageSize(searchCriteria.getMaxRows());
-
-               query.setMaxResults(pageSize);
-
-               // Set hint for max records
-               query.setHint("eclipselink.jdbc.max-rows", "" + pageSize);
-
-       }
-
-       public int validatePageSize(int inputPageSize) {
-               int pageSize = inputPageSize;
-
-               if (pageSize < 1) {
-                       // Use default max Records
-                       pageSize = configUtil.getDefaultMaxRows();
-               }
-               return pageSize;
-       }
-
-       /**
-        * @param searchCriteria
-        * @param sortFields
-        * @return
-        */
-       public String constructSortClause(SearchCriteria searchCriteria,
-                       List<SortField> sortFields) {
-               String sortBy = searchCriteria.getSortBy();
-               String querySortBy = null;
-               if (!stringUtil.isEmpty(sortBy)) {
-                       sortBy = sortBy.trim();
-                       for (SortField sortField : sortFields) {
-                               if 
(sortBy.equalsIgnoreCase(sortField.getParamName())) {
-                                       querySortBy = sortField.getFieldName();
-                                       // Override the sortBy using the 
normalized value
-                                       
searchCriteria.setSortBy(sortField.getParamName());
-                                       break;
-                               }
-                       }
-               }
-
-               if (querySortBy == null) {
-                       for (SortField sortField : sortFields) {
-                               if (sortField.isDefault()) {
-                                       querySortBy = sortField.getFieldName();
-                                       // Override the sortBy using the 
default value
-                                       
searchCriteria.setSortBy(sortField.getParamName());
-                                       
searchCriteria.setSortType(sortField.getDefaultOrder()
-                                                       .name());
-                                       break;
-                               }
-                       }
-               }
-
-               if (querySortBy != null) {
-                       // Add sort type
-                       String sortType = searchCriteria.getSortType();
-                       String querySortType = "asc";
-                       if (sortType != null) {
-                               if (sortType.equalsIgnoreCase("asc")
-                                               || 
sortType.equalsIgnoreCase("desc")) {
-                                       querySortType = sortType;
-                               } else {
-                                       logger.error("Invalid sortType. 
sortType=" + sortType);
-                               }
-                       }
-                       // Override the sortType using the final value
-                       if(querySortType!=null){
-                               
searchCriteria.setSortType(querySortType.toLowerCase());
-                       }
-                       String sortClause = " ORDER BY " + querySortBy + " "
-                                       + querySortType;
-
-                       return sortClause;
-               }
-               return null;
-       }
-
-       protected StringBuilder buildWhereClause(SearchCriteria searchCriteria,
-                       List<SearchField> searchFields) {
-               return buildWhereClause(searchCriteria, searchFields, false, 
false);
-       }
-
-       @SuppressWarnings("unchecked")
-       protected StringBuilder buildWhereClause(SearchCriteria searchCriteria,
-                       List<SearchField> searchFields, boolean isNativeQuery,
-                       boolean excludeWhereKeyword) {
-
-               Map<String, Object> paramList = searchCriteria.getParamList();
-
-               StringBuilder whereClause = new 
StringBuilder(excludeWhereKeyword ? ""
-                               : "WHERE 1 = 1 ");
-
-               List<String> joinTableList = new ArrayList<String>();
-
-               String addedByFieldName = isNativeQuery ? "added_by_id"
-                               : "addedByUserId";
-
-               Number ownerId = searchCriteria.getOwnerId();
-               if (ownerId != null) {
-                       whereClause.append(" and obj.").append(addedByFieldName)
-                                       .append(" = :ownerId");
-               }
-
-               // Let's handle search groups first
-               int groupCount = -1;
-               for (SearchGroup searchGroup : 
searchCriteria.getSearchGroups()) {
-                       groupCount++;
-                       whereClause.append(" and ").append(
-                                       searchGroup.getWhereClause("" + 
groupCount));
-//                     searchGroup.getJoinTableList(joinTableList, 
searchGroup);
-               }
-               
-       
-
-               for (SearchField searchField : searchFields) {
-                       int startWhereLen = whereClause.length();
-
-                       if (searchField.getFieldName() == null
-                                       && searchField.getCustomCondition() == 
null) { // this field
-                               // is used
-                               // only for
-                               // binding!
-                               continue;
-                       }
-
-                       Object paramValue = 
paramList.get(searchField.getClientFieldName());
-                       boolean isListValue = false;
-                       if (paramValue != null && paramValue instanceof 
Collection) {
-                               isListValue = true;
-                       }
-
-                       if (searchCriteria.getNullParamList().contains(
-                                       searchField.getClientFieldName())) {
-                               whereClause.append(" and 
").append(searchField.getFieldName())
-                                               .append(" is null");
-                       } else if 
(searchCriteria.getNotNullParamList().contains(
-                                       searchField.getClientFieldName())) {
-                               whereClause.append(" and 
").append(searchField.getFieldName())
-                                               .append(" is not null");
-
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.INT_LIST
-                                       || isListValue
-                                       && searchField.getDataType() == 
SearchField.DATA_TYPE.INTEGER) {
-                               Collection<Number> intValueList = null;
-                               if (paramValue != null
-                                               && (paramValue instanceof 
Integer || paramValue instanceof Long)) {
-                                       intValueList = new ArrayList<Number>();
-                                       intValueList.add((Number) paramValue);
-                               } else {
-                                       intValueList = (Collection<Number>) 
paramValue;
-                               }
-
-                               if (intValueList != null && intValueList.size() 
> 0) {
-                                       if (searchField.getCustomCondition() == 
null) {
-                                               if (intValueList.size() <= 
minInListLength) {
-                                                       whereClause.append(" 
and ");
-                                                       if (intValueList.size() 
> 1) {
-                                                               
whereClause.append(" ( ");
-                                                       }
-                                                       for (int count = 0; 
count < intValueList.size(); count++) {
-                                                               if (count > 0) {
-                                                                       
whereClause.append(" or ");
-                                                               }
-                                                               whereClause
-                                                                               
.append(searchField.getFieldName())
-                                                                               
.append(" = :")
-                                                                               
.append(searchField
-                                                                               
                .getClientFieldName()
-                                                                               
                + "_"
-                                                                               
                + count);
-                                                       }
-
-                                                       if (intValueList.size() 
> 1) {
-                                                               
whereClause.append(" ) ");
-                                                       }
-
-                                               } else {
-                                                       whereClause.append(" 
and ")
-                                                                       
.append(searchField.getFieldName())
-                                                                       
.append(" in ( :")
-                                                                       
.append(searchField.getClientFieldName())
-                                                                       
.append(")");
-                                               }
-                                       } else {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getCustomCondition());
-                                       }
-                               }
-
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.STR_LIST) {
-                               if (paramValue != null
-                                               && (((Collection) 
paramValue).size()) >=1) {
-                                       whereClause.append(" and ")
-                                                       
.append(searchField.getFieldName())
-                                                       .append(" in ( :")
-                                                       
.append(searchField.getClientFieldName())
-                                                       .append(")");
-                               }
-                       }
-                       else if (searchField.getDataType() == 
SearchField.DATA_TYPE.INTEGER) {
-                               Number intFieldValue = (Number) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (intFieldValue != null) {
-                                       if (searchField.getCustomCondition() == 
null) {
-                                               whereClause.append(" and ")
-                                                               
.append(searchField.getFieldName())
-                                                               .append("=:")
-                                                               
.append(searchField.getClientFieldName());
-                                       } else {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getCustomCondition());
-                                       }
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.STRING) {
-                               String strFieldValue = (String) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (strFieldValue != null) {
-                                       if (searchField.getCustomCondition() == 
null) {
-                                               whereClause.append(" and 
").append("LOWER(")
-                                                               
.append(searchField.getFieldName()).append(")");
-                                               if (searchField.getSearchType() 
== SearchField.SEARCH_TYPE.FULL) {
-                                                       whereClause.append("= 
:").append(
-                                                                       
searchField.getClientFieldName());
-                                               } else {
-                                                       
whereClause.append("like :").append(
-                                                                       
searchField.getClientFieldName());
-                                               }
-                                       } else {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getCustomCondition());
-                                       }
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.BOOLEAN) {
-                               Boolean boolFieldValue = (Boolean) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (boolFieldValue != null) {
-                                       if (searchField.getCustomCondition() == 
null) {
-                                               whereClause.append(" and ")
-                                                               
.append(searchField.getFieldName())
-                                                               .append("=:")
-                                                               
.append(searchField.getClientFieldName());
-                                       } else {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getCustomCondition());
-                                       }
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.DATE) {
-                               Date fieldValue = (Date) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (fieldValue != null) {
-                                       if (searchField.getCustomCondition() == 
null) {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getFieldName());
-                                               if 
(searchField.getSearchType().equals(
-                                                               
SearchField.SEARCH_TYPE.LESS_THAN)) {
-                                                       whereClause.append("< 
:");
-                                               } else if 
(searchField.getSearchType().equals(
-                                                               
SearchField.SEARCH_TYPE.LESS_EQUAL_THAN)) {
-                                                       whereClause.append("<= 
:");
-                                               } else if 
(searchField.getSearchType().equals(
-                                                               
SearchField.SEARCH_TYPE.GREATER_THAN)) {
-                                                       whereClause.append("> 
:");
-                                               } else if 
(searchField.getSearchType().equals(
-                                                               
SearchField.SEARCH_TYPE.GREATER_EQUAL_THAN)) {
-                                                       whereClause.append(">= 
:");
-                                               }
-                                               
whereClause.append(searchField.getClientFieldName());
-                                       } else {
-                                               whereClause.append(" and 
").append(
-                                                               
searchField.getCustomCondition());
-                                       }
-                               }
-
-                       }
-
-                       if (whereClause.length() > startWhereLen
-                                       && searchField.getJoinTables() != null) 
{
-                               for (String table : 
searchField.getJoinTables()) {
-                                       if (!joinTableList.contains(table)) {
-                                               joinTableList.add(table);
-                                       }
-                               }
-
-                               whereClause.append(" and (")
-                                               
.append(searchField.getJoinCriteria()).append(")");
-                       }
-               } // for
-
-               for (String joinTable : joinTableList) {
-                       whereClause.insert(0, ", " + joinTable + " ");
-               }
-
-               return whereClause;
-       }
-
-       protected void addOrderByClause(StringBuilder queryClause, String 
sortClause) {
-               if (sortClause != null) {
-                       queryClause.append(sortClause);
-               }
-       }
-
-       @SuppressWarnings("unchecked")
-       protected void resolveQueryParams(Query query, SearchCriteria 
searchCriteria,
-                       List<SearchField> searchFields) {
-
-               Map<String, Object> paramList = searchCriteria.getParamList();
-
-               Number ownerId = searchCriteria.getOwnerId();
-               if (ownerId != null) {
-                       query.setParameter("ownerId", ownerId);
-               }
-
-               // Let's handle search groups first
-               int groupCount = -1;
-               for (SearchGroup searchGroup : 
searchCriteria.getSearchGroups()) {
-                       groupCount++;
-                       searchGroup.resolveValues(query, "" + groupCount);
-               }
-
-               for (SearchField searchField : searchFields) {
-                       Object paramValue = 
paramList.get(searchField.getClientFieldName());
-                       boolean isListValue = false;
-                       if (paramValue != null && paramValue instanceof 
Collection) {
-                               isListValue = true;
-                       }
-
-                       if (searchCriteria.getNullParamList().contains(
-                                       searchField.getClientFieldName())
-                                       || 
searchCriteria.getNotNullParamList().contains(
-                                                       
searchField.getClientFieldName())) {
-                               // Already addressed while building where clause
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.INT_LIST
-                                       || isListValue
-                                       && searchField.getDataType() == 
SearchField.DATA_TYPE.INTEGER) {
-                               Collection<Number> intValueList = null;
-                               if (paramValue != null
-                                               && (paramValue instanceof 
Integer || paramValue instanceof Long)) {
-                                       intValueList = new ArrayList<Number>();
-                                       intValueList.add((Number) paramValue);
-                               } else {
-                                       intValueList = (Collection<Number>) 
paramValue;
-                               }
-
-                               if (intValueList != null && intValueList.size() 
> 0
-                                               && intValueList.size() <= 
minInListLength) {
-                                       int count = -1;
-                                       for (Number value : intValueList) {
-                                               count++;
-                                               
query.setParameter(searchField.getClientFieldName()
-                                                               + "_" + count, 
value);
-
-                                       }
-
-                               } else if (intValueList != null && 
intValueList.size() > 1) {
-                                       
query.setParameter(searchField.getClientFieldName(),
-                                                       intValueList);
-                               }
-
-                       }else if (searchField.getDataType() == 
SearchField.DATA_TYPE.STR_LIST) {
-                               if (paramValue != null
-                                               && (((Collection) 
paramValue).size()) >=1) {
-                                       
query.setParameter(searchField.getClientFieldName(),
-                                                       paramValue);
-                               }                       
-                       }
-                       else if (searchField.getDataType() == 
SearchField.DATA_TYPE.INTEGER) {
-                               Number intFieldValue = (Number) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (intFieldValue != null) {
-                                       
query.setParameter(searchField.getClientFieldName(),
-                                                       intFieldValue);
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.STRING) {
-                               String strFieldValue = (String) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (strFieldValue != null) {
-                                       if (searchField.getSearchType() == 
SearchField.SEARCH_TYPE.FULL) {
-                                               
query.setParameter(searchField.getClientFieldName(),
-                                                               
strFieldValue.trim().toLowerCase());
-                                       } else {
-                                               
query.setParameter(searchField.getClientFieldName(),
-                                                               "%" + 
strFieldValue.trim().toLowerCase() + "%");
-                                       }
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.BOOLEAN) {
-                               Boolean boolFieldValue = (Boolean) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (boolFieldValue != null) {
-                                       
query.setParameter(searchField.getClientFieldName(),
-                                                       boolFieldValue);
-                               }
-                       } else if (searchField.getDataType() == 
SearchField.DATA_TYPE.DATE) {
-                               Date fieldValue = (Date) 
paramList.get(searchField
-                                               .getClientFieldName());
-                               if (fieldValue != null) {
-                                       
query.setParameter(searchField.getClientFieldName(),
-                                                       fieldValue);
-                               }
-                       }
-
-               } // for
-       }
-
-       public Query createSearchQuery(EntityManager em, String queryStr, 
String sortClause,
-                       SearchCriteria searchCriteria, List<SearchField> 
searchFields,
-                       int objectClassType, boolean hasAttributes, boolean 
isCountQuery) {
-
-               // [1] Build where clause
-               StringBuilder queryClause = buildWhereClause(searchCriteria,
-                               searchFields);
-
-               // [2] Add domain-object-security clause if needed
-               // if (objectClassType != -1
-               // && !ContextUtil.getCurrentUserSession().isUserAdmin()) {
-               // addDomainObjectSecuirtyClause(queryClause, hasAttributes);
-               // }
-
-               // [2] Add order by clause
-               addOrderByClause(queryClause, sortClause);
-
-               // [3] Create Query Object
-               Query query = em.createQuery(
-                               queryStr + queryClause);
-
-               // [4] Resolve query parameters with values
-               resolveQueryParams(query, searchCriteria, searchFields);
-
-               // [5] Resolve domain-object-security parameters
-               // if (objectClassType != -1 &&
-               // !securityHandler.hasModeratorPermission()) {
-               // resolveDomainObjectSecuirtyParams(query, objectClassType);
-               // }
-
-               if (!isCountQuery) {
-                       query.setFirstResult(searchCriteria.getStartIndex());
-                       updateQueryPageSize(query, searchCriteria);
-               }
-
-               return query;
-       }
-
-       public Query createSearchQuery(EntityManager em, String queryStr, 
String sortClause,
-                       SearchCriteria searchCriteria, List<SearchField> 
searchFields,
-                       boolean isCountQuery) {
-               return createSearchQuery(em, queryStr, sortClause, 
searchCriteria,
-                               searchFields, -1, false, isCountQuery);
-       }
-       
-       public List<Integer> extractIntList(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName, String listName) {
-               ArrayList<Integer> valueList = new ArrayList<Integer>();
-               String[] values = getParamMultiValues(request, paramName, 
listName);
-
-               for (int i = 0; values != null && i < values.length; i++) {
-                       Integer value = restErrorUtil.parseInt(
-                                       values[i], "Invalid value for "
-                                                       + userFriendlyParamName,
-                                       MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-                       valueList.add(value);
-               }
-               searchCriteria.getParamList().put(listName, valueList);
-               return valueList;
-       }               
-
-       public Boolean extractBoolean(HttpServletRequest request,
-                       SearchCriteria searchCriteria, String paramName,
-                       String userFriendlyParamName) {
-               Boolean value = restErrorUtil.parseBoolean(
-                               request.getParameter(paramName), "Invalid value 
for "
-                                               + userFriendlyParamName,
-                               MessageEnums.INVALID_INPUT_DATA, null, 
paramName);
-               if (value != null) {
-                       searchCriteria.getParamList().put(paramName, value);
-               }
-               return value;
-       }
-       
-}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/SearchValue.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/SearchValue.java 
b/security-admin/src/main/java/com/xasecure/common/SearchValue.java
deleted file mode 100644
index 611d8bf..0000000
--- a/security-admin/src/main/java/com/xasecure/common/SearchValue.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.util.List;
-
-import org.apache.log4j.Logger;
-
-/**
- * 
- *
- */
-public class SearchValue {
-    static final Logger logger = Logger.getLogger(SearchValue.class);
-
-    SearchField searchField;
-    Object value = null;
-    List<?> valueList = null;
-    boolean isNull = false;
-
-   /**
-     * @return the value
-     */
-    public Object getValue() {
-       if (value != null) {
-           return value;
-       }
-       if (valueList.size() == 1) {
-           return valueList.get(0);
-       }
-       logger.error("getValue() called for null.", new Throwable());
-       return value;
-    }
-
-    
-
-    /**
-     * @return the valueList
-     */
-    public List<?> getValueList() {
-       return valueList;
-    }
-
-    /**
-     * @return the searchField
-     */
-    public SearchField getSearchField() {
-       return searchField;
-    }
-
-   
-
-
-    public boolean isList() {
-       return valueList != null && valueList.size() > 1;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/SortField.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/SortField.java 
b/security-admin/src/main/java/com/xasecure/common/SortField.java
deleted file mode 100644
index 5e8aaf5..0000000
--- a/security-admin/src/main/java/com/xasecure/common/SortField.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-/**
- *
- *
- */
-public class SortField {
-    public enum SORT_ORDER {
-       ASC, DESC
-    };
-
-    String paramName;
-    String fieldName;
-    boolean isDefault = false;
-    SORT_ORDER defaultOrder = SORT_ORDER.ASC;
-
-    /**
-     * @param string
-     * @param string2
-     */
-    public SortField(String paramName, String fieldName) {
-       this.paramName = paramName;
-       this.fieldName = fieldName;
-       isDefault = false;
-    }
-
-    /**
-     * @param paramName
-     * @param fieldName
-     * @param isDefault
-     */
-    public SortField(String paramName, String fieldName, boolean isDefault,
-           SORT_ORDER defaultOrder) {
-       this.paramName = paramName;
-       this.fieldName = fieldName;
-       this.isDefault = isDefault;
-       this.defaultOrder = defaultOrder;
-    }
-
-    /**
-     * @return the paramName
-     */
-    public String getParamName() {
-       return paramName;
-    }
-
-    
-
-    /**
-     * @return the fieldName
-     */
-    public String getFieldName() {
-       return fieldName;
-    }
-
-    
-
-    /**
-     * @return the isDefault
-     */
-    public boolean isDefault() {
-       return isDefault;
-    }
-
-    
-
-    /**
-     * @return the defaultOrder
-     */
-    public SORT_ORDER getDefaultOrder() {
-        return defaultOrder;
-    }
-
-    
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/StringUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/common/StringUtil.java 
b/security-admin/src/main/java/com/xasecure/common/StringUtil.java
deleted file mode 100644
index 458bce9..0000000
--- a/security-admin/src/main/java/com/xasecure/common/StringUtil.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-@Component
-public class StringUtil implements Serializable {
-       static final Logger logger = Logger.getLogger(StringUtil.class);
-
-       static final public int MIN_PASSWORD_LENGTH = 8;
-
-       static final public String VALIDATION_NAME = "[\\w\\ \\-\\']*";
-       static final public String VALIDATION_TEXT = "[a-zA-Z0-9\\ 
\"!@#$%^&amp;*()-_=+;:'&quot;|~`&lt;&gt;?/{}\\.\\,\\-\\?<>]*";
-       // Only for Student loginId
-       static final public String VALIDATION_LOGINID = 
"[a-z,A-Z][\\w\\-\\_]*[a-z,A-Z,0-9]";
-
-       static final public String VALIDATION_ALPHA = "[a-z,A-Z]*";
-       static final public String VALIDATION_IP_ADDRESS = "[\\d\\.\\%\\:]*";
-       static final public String WILDCARD_ASTERISK = "*";
-
-       static HashMap<String, Pattern> compiledRegEx = new HashMap<String, 
Pattern>();
-
-       String[] invalidNames = null;
-
-       /**
-     *
-     */
-       private static final long serialVersionUID = -2102399594424760213L;
-
-       public StringUtil() {
-               // Default constructor
-               invalidNames = 
PropertiesUtil.getPropertyStringList("xa.names.invalid");
-       }
-
-       /**
-        * Checks if the string is null or empty string.
-        * 
-        * @param str
-        * @return true if it is empty string or null
-        */
-       public boolean isEmpty(String str) {
-               if (str == null || str.trim().length() == 0) {
-                       return true;
-               }
-               return false;
-       }
-
-       public boolean isEmptyOrWildcardAsterisk(String str) {
-               return isEmpty(str) || str.equals(WILDCARD_ASTERISK);
-       }
-
-       public boolean equals(String str1, String str2) {
-               if (str1 == str2) {
-                       return true;
-               }
-
-               if (str1 == null || str2 == null) {
-                       return false;
-               }
-
-               return str1.equals(str2);
-       }
-
-       public String toCamelCaseAllWords(String str) {
-               if (str == null) {
-                       return null;
-               }
-               str = str.trim().toLowerCase();
-               StringBuffer result = new StringBuffer(str.length());
-               boolean makeUpper = true;
-               boolean lastCharSpace = true;
-               for (int c = 0; c < str.length(); c++) {
-                       char ch = str.charAt(c);
-                       if (lastCharSpace && ch == ' ') {
-                               continue;
-                       }
-
-                       if (makeUpper) {
-                               result.append(str.substring(c, c + 
1).toUpperCase());
-                               makeUpper = false;
-                       } else {
-                               result.append(ch);
-                       }
-                       if (ch == ' ') {
-                               lastCharSpace = true;
-                               makeUpper = true;
-                       } else {
-                               lastCharSpace = false;
-                       }
-
-               }
-               return result.toString();
-       }
-
-       public boolean validatePassword(String password, String[] 
invalidValues) {
-               // For now let's make sure we have minimum 8 characters
-               if (password == null) {
-                       return false;
-               }
-               password = password.trim();
-               if (password.length() < MIN_PASSWORD_LENGTH) {
-                       return false;
-               }
-
-               boolean hasAlpha = false;
-               boolean hasNum = false;
-               for (int i = 0; i < password.length(); i++) {
-                       char ch = password.charAt(i);
-
-                       if (Character.isDigit(ch)) {
-                               hasNum = true;
-                       } else if (Character.isLetter(ch)) {
-                               hasAlpha = true;
-                       }
-               }
-
-               if (!hasAlpha || !hasNum) {
-                       return false;
-               }
-
-               for (int i = 0; invalidValues != null && i < 
invalidValues.length; i++) {
-                       if (password.equalsIgnoreCase(invalidValues[i])) {
-                               return false;
-                       }
-               }
-               return true;
-       }
-
-       public boolean validateEmail(String emailAddress) {
-               if (emailAddress == null || emailAddress.trim().length() > 128) 
{
-                       return false;
-               }
-               emailAddress = emailAddress.trim();
-               String expression = 
"^[\\w]([\\-\\.\\w])+[\\w]+@[\\w]+[\\w\\-]+[\\w]*\\.([\\w]+[\\w\\-]+[\\w]*(\\.[a-z][a-z|0-9]*)?)$";
-               return regExPatternMatch(expression, emailAddress);
-
-       }
-
-       public boolean regExPatternMatch(String expression, String inputStr) {
-               Pattern pattern = compiledRegEx.get(expression);
-               if (pattern == null) {
-                       pattern = Pattern.compile(expression, 
Pattern.CASE_INSENSITIVE);
-                       compiledRegEx.put(expression, pattern);
-               }
-
-               Matcher matcher = pattern.matcher(inputStr);
-               return matcher.matches();
-       }
-
-       public boolean validateString(String regExStr, String str) {
-               try {
-                       return regExPatternMatch(regExStr, str);
-               } catch (Throwable t) {
-                       logger.info("Error validating string. str=" + str, t);
-                       return false;
-               }
-       }
-
-       public String normalizeEmail(String email) {
-               // Make email address as lower case
-               if (email != null) {
-                       return email.trim().toLowerCase();
-               }
-               return null;
-       }
-
-       public String[] split(String value) {
-               return split(value, ",");
-       }
-
-       public String[] split(String value, String delimiter) {
-               if (value != null) {
-                       value = value.startsWith(delimiter) ? 
value.substring(1) : value;
-                       String[] splitValues = value.split(delimiter);
-                       String[] returnValues = new String[splitValues.length];
-                       int c = -1;
-                       for (int i = 0; i < splitValues.length; i++) {
-                               String str = splitValues[i].trim();
-                               if (str.length() > 0) {
-                                       c++;
-                                       returnValues[c] = str;
-                               }
-                       }
-                       return returnValues;
-               } else {
-                       return new String[0];
-               }
-       }
-
-       public static String trim(String str) {
-               return str != null ? str.trim() : null;
-       }
-
-       /**
-        * @param firstName
-        * @return
-        */
-       public boolean isValidName(String name) {
-               if (name == null || name.trim().length() < 1) {
-                       return false;
-               }
-               for (String invalidName : invalidNames) {
-                       if (name.toUpperCase().trim()
-                                       
.startsWith(invalidName.toUpperCase().trim())) {
-                               return false;
-                       }
-               }
-               return validateString(VALIDATION_NAME, name);
-       }
-
-       /**
-        * Checks if the list is null or empty list.
-        * 
-        * @param list
-        * @return true if it is empty list or null
-        */
-       public boolean isEmpty(List<?> list) {
-               if (list == null || list.size() == 0) {
-                       return true;
-               }
-               return false;
-       }
-       
-       /**
-        * Returns a valid user name from the passed string
-        * @param str
-        * @return
-        */
-       public String getValidUserName(String str) {
-               return str.indexOf("/") >= 0 ? 
-                                str.substring(0,str.indexOf("/"))
-                               :       str.indexOf("@") >= 0 ? 
-                                               
str.substring(0,str.indexOf("@")) 
-                                               : str; 
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/TimedEventUtil.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/com/xasecure/common/TimedEventUtil.java 
b/security-admin/src/main/java/com/xasecure/common/TimedEventUtil.java
deleted file mode 100644
index a81469a..0000000
--- a/security-admin/src/main/java/com/xasecure/common/TimedEventUtil.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-@Component
-public class TimedEventUtil{
-
-       static final Logger logger = Logger.getLogger(TimedEventUtil.class);
-
-       public static void runWithTimeout(final Runnable runnable, long 
timeout, TimeUnit timeUnit) throws Exception {
-               timedTask(new Callable<Object>() {
-                       @Override
-                       public Object call() throws Exception {
-                               runnable.run();
-                               return null;
-                       }
-               }, timeout, timeUnit);
-       }
-
-       public static <T> T timedTask(Callable<T> callableObj, long timeout, 
-                       TimeUnit timeUnit) throws Exception{
-               
-               return callableObj.call();
-               
-               /*
-               final ExecutorService executor = 
Executors.newSingleThreadExecutor();
-               final Future<T> future = executor.submit(callableObj);
-               executor.shutdownNow();
-
-               try {
-                       return future.get(timeout, timeUnit);
-               } catch (TimeoutException | InterruptedException | 
ExecutionException e) {
-                       if(logger.isDebugEnabled()){
-                               logger.debug("Error executing task", e);
-                       }
-                       Throwable t = e.getCause();
-                       if (t instanceof Error) {
-                               throw (Error) t;
-                       } else if (t instanceof Exception) {
-                               throw (Exception) e;
-                       } else {
-                               throw new IllegalStateException(t);
-                       }
-               }
-               */
-               
-       }
-       
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/common/UserSessionBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/com/xasecure/common/UserSessionBase.java 
b/security-admin/src/main/java/com/xasecure/common/UserSessionBase.java
deleted file mode 100644
index 5b9a942..0000000
--- a/security-admin/src/main/java/com/xasecure/common/UserSessionBase.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * 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 com.xasecure.common;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import com.xasecure.entity.XXAuthSession;
-import com.xasecure.entity.XXPortalUser;
-
-public class UserSessionBase implements Serializable {
-
-       private static final long serialVersionUID = 1L;
-
-       XXPortalUser xXPortalUser;
-       XXAuthSession xXAuthSession;
-       private boolean userAdmin;
-       private int authProvider = XAConstants.USER_APP;
-       private List<String> userRoleList = new ArrayList<String>();
-       int clientTimeOffsetInMinute = 0;
-       public Long getUserId() {
-               if (xXPortalUser != null) {
-                       return xXPortalUser.getId();
-               }
-               return null;
-       }
-
-       public String getLoginId() {
-               if (xXPortalUser != null) {
-                       return xXPortalUser.getLoginId();
-               }
-               return null;
-       }
-
-       public Long getSessionId() {
-               if (xXAuthSession != null) {
-                       return xXAuthSession.getId();
-               }
-               return null;
-       }
-
-       
-
-       public boolean isUserAdmin() {
-               return userAdmin;
-       }
-
-       
-
-       
-       public void setUserAdmin(boolean userAdmin) {
-               this.userAdmin = userAdmin;
-       }
-
-       public XXPortalUser getXXPortalUser() {
-               return xXPortalUser;
-       }
-
-       public String getUserName() {
-               if (xXPortalUser != null) {
-                       return xXPortalUser.getFirstName() + " " + 
xXPortalUser.getLastName();
-               }
-               return null;
-       }
-
-       public void setXXAuthSession(XXAuthSession gjAuthSession) {
-               this.xXAuthSession = gjAuthSession;
-       }
-
-       public void setXXPortalUser(XXPortalUser gjUser) {
-               this.xXPortalUser = gjUser;
-       }
-
-       public void setAuthProvider(int userSource) {
-               this.authProvider = userSource;
-       }
-
-       public void setUserRoleList(List<String> strRoleList) {
-               this.userRoleList = strRoleList;
-       }
-
-       public int getAuthProvider() {
-               return this.authProvider;
-       }
-
-       public int getClientTimeOffsetInMinute() {
-               return clientTimeOffsetInMinute;
-       }
-
-       public void setClientTimeOffsetInMinute(int clientTimeOffsetInMinute) {
-               this.clientTimeOffsetInMinute = clientTimeOffsetInMinute;
-       }
-
-}

Reply via email to