You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Qiang Zhang (JIRA)" <ji...@apache.org> on 2017/03/07 01:11:33 UTC

[jira] [Comment Edited] (RANGER-1419) Do some code improvement in Java method XTrxLogService.searchXTrxLogs

    [ https://issues.apache.org/jira/browse/RANGER-1419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893980#comment-15893980 ] 

Qiang Zhang edited comment on RANGER-1419 at 3/7/17 1:11 AM:
-------------------------------------------------------------

Review Requet:
https://reviews.apache.org/r/57272/

Solution patch, please see attachment:
[patch|https://issues.apache.org/jira/secure/attachment/12856404/0001-RANGER-1419-Do-some-code-improvement-in-Java-method-.patch]



was (Author: zhangqiang2):
Review Requet:
https://reviews.apache.org/r/57272/

Solution patch, please see attachment:
[patch|https://issues.apache.org/jira/secure/attachment/12855808/0001-RANGER-1419-Do-some-code-improvement-in-Java-method-.patch]


> Do some code improvement in Java method XTrxLogService.searchXTrxLogs
> ---------------------------------------------------------------------
>
>                 Key: RANGER-1419
>                 URL: https://issues.apache.org/jira/browse/RANGER-1419
>             Project: Ranger
>          Issue Type: Improvement
>          Components: admin
>            Reporter: Qiang Zhang
>            Assignee: Qiang Zhang
>            Priority: Minor
>              Labels: patch
>         Attachments: 0001-RANGER-1419-Do-some-code-improvement-in-Java-method-.patch, AduitAdminSearch.jpg
>
>   Original Estimate: 0.2h
>  Remaining Estimate: 0.2h
>
> In method searchXTrxLogs of class \security-admin\src\main\java\org\apache\ranger\service\XTrxLogService.java,
> there is some code can be improved:
> 1.When search type is SearchField.SEARCH_TYPE.PARTIAL, stringPredicate generated twice which first is redundant.
> {code}
> if(attr != null){
> 	stringPredicate = criteriaBuilder.equal(rootEntityType.get(attr), paramValue);
> 	if (searchField.getSearchType().equals(SearchField.SEARCH_TYPE.PARTIAL)) {
> 		String val = "%" + paramValue + "%";
> 		stringPredicate = criteriaBuilder.like(rootEntityType.get(attr), val);
> 	}
> 	predicate = criteriaBuilder.and(predicate, stringPredicate);
> }	
> {code}
> 2."datePredicate = criteriaBuilder.equal(...)" is repeated, the first is redundant and duplicated code.
> {code}
> if (searchField.getCustomCondition() == null) {							
> 	datePredicate = criteriaBuilder.equal(rootEntityType.get(attr), fieldValue);
> 	if (searchField.getSearchType().equals(SearchField.SEARCH_TYPE.LESS_THAN)) {
> 		datePredicate = criteriaBuilder.lessThan(rootEntityType.get(attr), fieldValue);
> 	} else if (searchField.getSearchType().equals(SearchField.SEARCH_TYPE.LESS_EQUAL_THAN)) {
> 		datePredicate = criteriaBuilder.lessThanOrEqualTo(rootEntityType.get(attr), fieldValue);
> 	} else if (searchField.getSearchType().equals(SearchField.SEARCH_TYPE.GREATER_THAN)) {
> 		datePredicate = criteriaBuilder.greaterThan(rootEntityType.get(attr), fieldValue);
> 	} else if (searchField.getSearchType().equals(SearchField.SEARCH_TYPE.GREATER_EQUAL_THAN)) {
> 		datePredicate = criteriaBuilder.greaterThanOrEqualTo(rootEntityType.get(attr), fieldValue);
> 	} else {
> 		datePredicate = criteriaBuilder.equal(rootEntityType.get(attr), fieldValue);
> 	}
> 	predicate = criteriaBuilder.and(predicate, datePredicate);
> }
> {code}
> 3.The following code is repated in Java method XTrxLogService.searchXTrxLogsCount, it can be refactored to a method. 
> {code}for(String key : paramList.keySet()){...}{code}
> 4.Do some other code improvement in Java method XTrxLogService.searchXTrxLogs and related code.
> Such as equal usage and local variable, etc.
> 5.XTrxLogService.searchXTrxLogs is used in Audit Admin WebPage, 
> please refer screenshot [AduitAdminSearch.jpg|https://issues.apache.org/jira/secure/attachment/12855809/AduitAdminSearch.jpg] for more detail,
> so it can be tested easily.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)