/** * Convenience method. Adds the given property to the user's properties */ public void setUserProperty(String prop, String value) { getUserProperties().put(prop, value); }
/** * Convenience method. Removes the given property from the user's properties */ public void removeUserProperty(String prop) { if (getUserProperties() != null && userProperties.containsKey(prop)) { userProperties.remove(prop); } }
/** * Get prop property from this user's properties. If prop is not found in properties, return * empty string * * @param prop * @return property value */ public String getUserProperty(String prop) { if (getUserProperties() != null && userProperties.containsKey(prop)) { return userProperties.get(prop); } return ""; }
/** * Get prop property from this user's properties. If prop is not found in properties, return * <code>defaultValue</code> * * @param prop * @param defaultValue * @return property value * @see #getUserProperty(java.lang.String) */ public String getUserProperty(String prop, String defaultValue) { if (getUserProperties() != null && userProperties.containsKey(prop)) { return userProperties.get(prop); } return defaultValue; }
@Override public User saveUserProperties(Map<String, String> properties) { User user = Context.getAuthenticatedUser(); if (user == null) { throw new APIException("no.authenticated.user.found", (Object[]) null); } user.getUserProperties().clear(); for (Map.Entry<String, String> entry : properties.entrySet()) { user.setUserProperty(entry.getKey(), entry.getValue()); } return dao.saveUser(user, null); }
/** * Become a different user. (You should only be able to do this as a superuser.) * * @param systemId * @throws ContextAuthenticationException * @should change locale when become another user */ public static void becomeUser(String systemId) throws ContextAuthenticationException { log.info("systemId: {}", systemId); User user = getUserContext().becomeUser(systemId); // if assuming identity procedure finished successfully, we should change context locale parameter Locale locale = null; if (user.getUserProperties().containsKey(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCALE)) { String localeString = user.getUserProperty(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCALE); locale = LocaleUtility.fromSpecification(localeString); } // when locale parameter is not valid or does not exist if (locale == null) { locale = LocaleUtility.getDefaultLocale(); } Context.setLocale(locale); }
userToBecome.getAllRoles().size(); if (userToBecome.getUserProperties() != null) { userToBecome.getUserProperties().size();
candidateUser.getUserProperties().size(); candidateUser.getPrivileges().size();
@Test public void saveUserProperty_shouldAddNewPropertyToExistingUserProperties() { executeDataSet(XML_FILENAME); // retrieve a user who has UserProperties User user = userService.getUser(5511); // Authenticate the test user so that Context.getAuthenticatedUser() method returns above user Context.authenticate(user.getUsername(), "testUser1234"); final int numberOfUserProperties = user.getUserProperties().size(); assertEquals(1, user.getUserProperties().size()); final String USER_PROPERTY_KEY = "test-key"; final String USER_PROPERTY_VALUE = "test-value"; User updatedUser = userService.saveUserProperty(USER_PROPERTY_KEY, USER_PROPERTY_VALUE); assertNotNull(updatedUser.getUserProperty(USER_PROPERTY_KEY)); assertEquals(USER_PROPERTY_VALUE, updatedUser.getUserProperty(USER_PROPERTY_KEY)); //make sure that properties count is incremented by one assertEquals((numberOfUserProperties + 1), updatedUser.getUserProperties().size()); }
@Test public void saveUserProperties_shouldRemoveAllExistingPropertiesAndAssignNewProperties() { executeDataSet(XML_FILENAME); // retrieve a user who has UserProperties User user = userService.getUser(5511); assertEquals(1, user.getUserProperties().size()); // Authenticate the test user so that Context.getAuthenticatedUser() method returns above user Context.authenticate(user.getUsername(), "testUser1234"); final String USER_PROPERTY_KEY_1 = "test-key1"; final String USER_PROPERTY_VALUE_1 = "test-value1"; final String USER_PROPERTY_KEY_2 = "test-key2"; final String USER_PROPERTY_VALUE_2 = "test-value2"; Map<String, String> propertiesMap = new HashMap<>(); propertiesMap.put(USER_PROPERTY_KEY_1, USER_PROPERTY_VALUE_1); propertiesMap.put(USER_PROPERTY_KEY_2, USER_PROPERTY_VALUE_2); propertiesMap = Collections.unmodifiableMap(propertiesMap); User updatedUser = userService.saveUserProperties(propertiesMap); //we should have only the new properties assertEquals(2, updatedUser.getUserProperties().size()); //Verify that the new properties were saved assertEquals(USER_PROPERTY_VALUE_1, updatedUser.getUserProperty(USER_PROPERTY_KEY_1)); assertEquals(USER_PROPERTY_VALUE_2, updatedUser.getUserProperty(USER_PROPERTY_KEY_2)); }
/** * @see LocationUtility#getUserDefaultLocation() */ @Test public void getUserDefaultLocation_shouldReturnTheUserSpecifiedLocationIfAnyIsSet() { //sanity check Assert.assertNull(LocationUtility.getUserDefaultLocation()); User user = Context.getAuthenticatedUser(); Map<String, String> properties = user.getUserProperties(); properties.put(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCATION, "2"); user.setUserProperties(properties); Context.getUserService().saveUser(user); Context.refreshAuthenticatedUser(); Assert.assertEquals("Xanadu", LocationUtility.getUserDefaultLocation().getName()); } }
@Override public void validateDefaultRepresentation() throws Exception { super.validateDefaultRepresentation(); assertPropEquals("username", getObject().getUser().getUsername()); assertPropEquals("systemId", getObject().getUser().getSystemId()); assertPropEquals("userProperties", getObject().getUser().getUserProperties()); assertPropPresent("person"); assertPropPresent("privileges"); assertPropPresent("roles"); assertPropEquals("retired", getObject().getUser().getRetired()); }
@Override public void validateDefaultRepresentation() throws Exception { super.validateDefaultRepresentation(); assertPropEquals("username", getObject().getUser().getUsername()); assertPropEquals("systemId", getObject().getUser().getSystemId()); assertPropEquals("userProperties", getObject().getUser().getUserProperties()); assertPropPresent("person"); assertPropPresent("privileges"); assertPropPresent("roles"); assertPropEquals("retired", getObject().getUser().getRetired()); }
@Override public void validateFullRepresentation() throws Exception { super.validateFullRepresentation(); assertPropEquals("username", getObject().getUser().getUsername()); assertPropEquals("systemId", getObject().getUser().getSystemId()); assertPropEquals("userProperties", getObject().getUser().getUserProperties()); assertPropPresent("person"); assertPropPresent("privileges"); assertPropPresent("roles"); assertPropPresent("allRoles"); assertPropEquals("proficientLocales", getObject().getUser().getProficientLocales()); assertPropEquals("retired", getObject().getUser().getRetired()); }
@Override public void validateFullRepresentation() throws Exception { super.validateFullRepresentation(); assertPropEquals("username", getObject().getUser().getUsername()); assertPropEquals("systemId", getObject().getUser().getSystemId()); assertPropEquals("userProperties", getObject().getUser().getUserProperties()); assertPropPresent("person"); assertPropPresent("privileges"); assertPropPresent("roles"); assertPropPresent("allRoles"); assertPropEquals("proficientLocales", getObject().getUser().getProficientLocales()); assertPropEquals("secretQuestion", getObject().getUser().getSecretQuestion()); assertPropEquals("retired", getObject().getUser().getRetired()); }