This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository coselmar. See http://git.codelutin.com/coselmar.git commit 97d27e102407cb13f8debed51e0d626ff5db454e Author: Yannick Martel <martel@©odelutin.com> Date: Wed Jan 14 15:43:15 2015 +0100 start review of user search --- .../persistence/entity/CoselmarUserTopiaDao.java | 8 ++------ .../java/fr/ifremer/coselmar/beans/UserSearchBean.java | 10 +++++----- .../ifremer/coselmar/services/v1/UsersWebService.java | 17 ++++------------- coselmar-rest/src/main/resources/mapping | 2 +- .../src/main/webapp/js/coselmar-user-services.js | 3 +-- 5 files changed, 13 insertions(+), 27 deletions(-) diff --git a/coselmar-persistence/src/main/java/fr/ifremer/coselmar/persistence/entity/CoselmarUserTopiaDao.java b/coselmar-persistence/src/main/java/fr/ifremer/coselmar/persistence/entity/CoselmarUserTopiaDao.java index ddf63ca..efa1174 100644 --- a/coselmar-persistence/src/main/java/fr/ifremer/coselmar/persistence/entity/CoselmarUserTopiaDao.java +++ b/coselmar-persistence/src/main/java/fr/ifremer/coselmar/persistence/entity/CoselmarUserTopiaDao.java @@ -119,7 +119,7 @@ public class CoselmarUserTopiaDao extends AbstractCoselmarUserTopiaDao<CoselmarU * @return Users thats contains in a property at least all given keywords * */ - public List<CoselmarUser> findAllByExample(CoselmarUser example, boolean onlyActive, SearchRequestBean searchRequest) { + public List<CoselmarUser> findAllByExample(CoselmarUser example, boolean activeAndInactive, SearchRequestBean searchRequest) { StringBuilder hqlBuilder = new StringBuilder("FROM " + CoselmarUser.class.getName() + " CU"); hqlBuilder.append(" WHERE 1=1 "); // Just because next clause will begin with operator @@ -127,14 +127,10 @@ public class CoselmarUserTopiaDao extends AbstractCoselmarUserTopiaDao<CoselmarU Map<String, Object> args = new HashMap<>(); // only active ? - if (onlyActive) { + if (!activeAndInactive) { String activeCondition = DaoUtils.andAttributeEquals("CU", CoselmarUser.PROPERTY_ACTIVE, args, true); hqlBuilder.append(activeCondition); - } else { - String activeCondition = DaoUtils.andAttributeEquals("CU", CoselmarUser.PROPERTY_ACTIVE, args, example.isActive()); - hqlBuilder.append(activeCondition); - } // Search on FirstName ? diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/UserSearchBean.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/UserSearchBean.java index 0c5026d..e4d1eb9 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/UserSearchBean.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/UserSearchBean.java @@ -36,7 +36,7 @@ public class UserSearchBean extends UserBean { protected Integer limit; protected Integer page; protected List<String> fullTextSearch; - protected boolean onlyActive; + protected boolean activeAndInactive; public UserSearchBean(String id, String firstName, String name, String mail, String phoneNumber, String role, String qualification, String organization, boolean active) { super(id, firstName, name, mail, phoneNumber, role, qualification, organization, active); @@ -66,11 +66,11 @@ public class UserSearchBean extends UserBean { this.fullTextSearch = fullTextSearch; } - public boolean isOnlyActive() { - return onlyActive; + public boolean isActiveAndInactive() { + return activeAndInactive; } - public void setOnlyActive(boolean onlyActive) { - this.onlyActive = onlyActive; + public void setActiveAndInactive(boolean activeAndInactive) { + this.activeAndInactive = activeAndInactive; } } diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/UsersWebService.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/UsersWebService.java index e95711e..dcfcdcf 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/UsersWebService.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/UsersWebService.java @@ -27,7 +27,6 @@ package fr.ifremer.coselmar.services.v1; import java.io.StringWriter; import java.security.InvalidParameterException; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.Map; @@ -94,13 +93,10 @@ public class UsersWebService extends CoselmarWebServiceSupport { return userBean; } - public List<UserBean> getUsers(String searchKeyword, UserSearchBean search, boolean onlyActive) { + public List<UserBean> getUsers(UserSearchBean search) { List<CoselmarUser> userList; - if (StringUtils.isNotBlank(searchKeyword)) { - userList = getCoselmarUserDao().findAllLikeKeywords(Arrays.asList(searchKeyword), onlyActive); - - } else if (search != null) { + if (search != null) { // Search default parameter if not given SearchRequestBean requestBean = new SearchRequestBean(); requestBean.setLimit(search.getLimit()); @@ -109,15 +105,10 @@ public class UsersWebService extends CoselmarWebServiceSupport { CoselmarUser example = BeanEntityConverter.fromBean(search); - userList = getCoselmarUserDao().findAllByExample(example, search.isOnlyActive(), requestBean); + userList = getCoselmarUserDao().findAllByExample(example, search.isActiveAndInactive(), requestBean); } else { - if (onlyActive) { - userList = getCoselmarUserDao().forActiveEquals(true).findAll(); - - } else { - userList = getCoselmarUserDao().findAll(); - } + userList = getCoselmarUserDao().findAll(); } diff --git a/coselmar-rest/src/main/resources/mapping b/coselmar-rest/src/main/resources/mapping index b74e068..1a93585 100644 --- a/coselmar-rest/src/main/resources/mapping +++ b/coselmar-rest/src/main/resources/mapping @@ -41,7 +41,7 @@ DELETE /v1/documents/{documentId} DocumentsWebService.deleteDocume # Users Api -GET /v1/users UsersWebService.getUsers onlyActive=true +GET /v1/users UsersWebService.getUsers GET /v1/users/{userId} UsersWebService.getUser POST /v1/users/login UsersWebService.login POST /v1/users/{userId} UsersWebService.modifyUser diff --git a/coselmar-ui/src/main/webapp/js/coselmar-user-services.js b/coselmar-ui/src/main/webapp/js/coselmar-user-services.js index 437bff1..b0b61fd 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-user-services.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-user-services.js @@ -70,8 +70,7 @@ function User(resource, config){ this.getUsers = function(searchKeywords, showDisable, successFunction){ // Load all users - - var userResource = resource(baseURL, {'searchKeywords' : searchKeywords, 'onlyActive' : !showDisable}); + var userResource = resource(baseURL, {'search' : {'fullTextSearch' : searchKeywords, 'activeAndInactive': showDisable}}); userResource.query(successFunction); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.