/** * @see org.openmrs.Attributable#findPossibleValues(java.lang.String) */ @Override public List<User> findPossibleValues(String searchText) { try { return Context.getUserService().getUsersByName(searchText, "", false); } catch (Exception e) { return Collections.emptyList(); } }
User user = null; List<User> users = us.getUsersByName(userFirstName, userLastName, false); if (users.size() == 1) { user = users.get(0); List<User> users = us.getUsersByName(userFirstName, userLastName, false); if (users.size() == 1) { user = users.get(0);
List<User> users = Context.getUserService().getUsersByName(givenName,familyName,true); if (users.size() == 1) { return users.get(0).getUserId();
@Test public void getUsersByName_shouldFetchVoidedUsersWhenincludeVoidedIsTrue() { User voidedUser = userService.getUser(501); // assertTrue(voidedUser.getVoided()); // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName] List<User> users = userService.getUsersByName("Bruno", "Otterbourg", true); assertTrue(users.contains(voidedUser)); }
@Test public void getUsersByName_shouldNotFetchAnyVoidedUsersWhenIncludeVoidedIsFalse() { User voidedUser = userService.getUser(501); // assertTrue(voidedUser.getVoided()); // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName and u.voided = false] List<User> users = userService.getUsersByName("Bruno", "Otterbourg", false); assertFalse(users.contains(voidedUser)); }
@Test @SkipBaseSetup public void getUsersByName_shouldFetchUsersExactlyMatchingTheGivenGivenNameAndFamilyName() throws SQLException { initializeInMemoryDatabase(); executeDataSet(XML_FILENAME); authenticate(); // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName and u.voided = false] List<User> users = userService.getUsersByName("Susy", "Kingman", false); assertEquals(1, users.size()); }
@Test @SkipBaseSetup public void getUsersByName_shouldNotFetchAnyDuplicateUsers() throws SQLException { initializeInMemoryDatabase(); executeDataSet(XML_FILENAME); authenticate(); // user with ID 4 has a preferred name "John Doe" and a not preferred name "John Doe." // If this method does not fetch any duplicate users, this user should only // appear once in the list of users that are returned with this method. // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName and u.voided = false] List<User> users = userService.getUsersByName("John", "Doe", false); assertEquals(1, users.size()); }
public class UserValidator implements Validator{ @Autowired private UserService userService; @Autowired private MessageSource messageSource; @Override public boolean supports(Class<?> clazz) { return User.class.equals(clazz); } @Override public void validate(Object target, Errors errors) { User user = (User)target; List<User> ul = userService.getUsersByName(user.getName()); if(ul.size() > 0){ String argName = i18n("info.name"); errors.reject("error.duplicate",new Object[]{argName}, null); } } private String i18n(String messageKey) { return messageSource.getMessage(messageKey, null, getLocale(); } }