From 889d4a73ff2c27833ff712c7f9f5f4bd70d925e7 Mon Sep 17 00:00:00 2001 From: Mattias Hellborg Arthursson Date: Fri, 8 Nov 2013 11:11:57 +0100 Subject: [PATCH] Added filtering capability on user page. --- .../samples/useradmin/domain/UserRepo.java | 2 +- .../samples/useradmin/service/UserService.java | 5 +++++ .../samples/useradmin/web/UserController.java | 12 +++++++++--- .../src/main/webapp/WEB-INF/jsp/header.jsp | 3 ++- .../src/main/webapp/WEB-INF/jsp/listUsers.jsp | 18 +++++++++++++++++- .../src/main/webapp/resources/css/default.css | 4 ++++ 6 files changed, 38 insertions(+), 6 deletions(-) diff --git a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/domain/UserRepo.java b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/domain/UserRepo.java index 1c47239f..d46fbb16 100644 --- a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/domain/UserRepo.java +++ b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/domain/UserRepo.java @@ -25,5 +25,5 @@ import java.util.List; */ public interface UserRepo extends LdapRepository { User findByEmployeeNumber(int employeeNumber); - List findByLastName(String lastName); + List findByFullNameContains(String name); } diff --git a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/service/UserService.java b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/service/UserService.java index de373596..068ff424 100644 --- a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/service/UserService.java +++ b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/service/UserService.java @@ -31,6 +31,7 @@ import org.springframework.ldap.support.LdapUtils; import javax.naming.Name; import javax.naming.ldap.LdapName; import java.util.Collection; +import java.util.List; import java.util.Set; /** @@ -186,4 +187,8 @@ public class UserService implements BaseLdapNameAware { groupRepo.save(group); } } + + public List searchByNameName(String lastName) { + return userRepo.findByFullNameContains(lastName); + } } diff --git a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/web/UserController.java b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/web/UserController.java index 11cede21..e0d82a06 100644 --- a/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/web/UserController.java +++ b/samples/user-admin/src/main/java/org/springframework/ldap/samples/useradmin/web/UserController.java @@ -24,8 +24,10 @@ import org.springframework.ldap.samples.useradmin.domain.User; import org.springframework.ldap.samples.useradmin.service.UserService; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; @@ -49,8 +51,12 @@ public class UserController { private DepartmentRepo departmentRepo; @RequestMapping(value = {"/", "/users"}, method = GET) - public String index(ModelMap map) { - map.put("users", userService.findAll()); + public String index(ModelMap map, @RequestParam(required = false) String name) { + if(StringUtils.hasText(name)) { + map.put("users", userService.searchByNameName(name)); + } else { + map.put("users", userService.findAll()); + } return "listUsers"; } @@ -74,7 +80,7 @@ public class UserController { } private void populateDepartments(ModelMap map) throws JsonProcessingException { - Map> departmentMap = departmentRepo.getDepartmentMap(); + Map> departmentMap = departmentRepo.getDepartmentMap(); ObjectMapper objectMapper = new ObjectMapper(); String departmentsAsJson = objectMapper.writeValueAsString(departmentMap); map.put("departments", departmentsAsJson); diff --git a/samples/user-admin/src/main/webapp/WEB-INF/jsp/header.jsp b/samples/user-admin/src/main/webapp/WEB-INF/jsp/header.jsp index 0b503bf3..14558d8e 100644 --- a/samples/user-admin/src/main/webapp/WEB-INF/jsp/header.jsp +++ b/samples/user-admin/src/main/webapp/WEB-INF/jsp/header.jsp @@ -1,6 +1,7 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + Spring LDAP User Admin @@ -29,7 +30,7 @@ - Spring LDAP User Admin + Spring LDAP