use of org.openmrs.User in project openmrs-core by openmrs.
the class CreateCoreUuids method getUUIDs.
// @Test
@SkipBaseSetup
public void getUUIDs() throws Exception {
Context.authenticate("admin", "test");
System.out.println("db: " + OpenmrsConstants.DATABASE_NAME);
Map<String, List<? extends OpenmrsMetadata>> coremetadatas = new LinkedHashMap<>();
coremetadatas.put("field_type", Context.getFormService().getAllFieldTypes(true));
coremetadatas.put("person_attribute_type", Context.getPersonService().getAllPersonAttributeTypes(true));
coremetadatas.put("encounter_type", Context.getEncounterService().getAllEncounterTypes(true));
coremetadatas.put("concept_datatype", Context.getConceptService().getAllConceptDatatypes(true));
coremetadatas.put("concept_class", Context.getConceptService().getAllConceptClasses(true));
coremetadatas.put("patient_identifier_type", Context.getPatientService().getAllPatientIdentifierTypes(true));
coremetadatas.put("location", Context.getLocationService().getAllLocations(true));
coremetadatas.put("hl7_source", Context.getHL7Service().getAllHL7Sources());
for (Map.Entry<String, List<? extends OpenmrsMetadata>> entry : coremetadatas.entrySet()) {
System.out.println("new table: " + entry.getKey());
for (OpenmrsMetadata obj : entry.getValue()) {
String output = "<update tableName=\"" + entry.getKey() + "\"><column name=\"uuid\" value=\"" + obj.getUuid() + "\"/><where>" + entry.getKey() + "_id" + "= '" + obj.getId() + "' and name = '" + obj.getName().replace("'", "\\'") + "'</where></update>";
System.out.println(output);
}
}
// /////////////////////////////////////
// exceptions:
//
// relationship types
System.out.println("Relationship type");
for (RelationshipType type : Context.getPersonService().getAllRelationshipTypes()) {
String output = "<update tableName=\"relationship_type\"><column name=\"uuid\" value=\"" + type.getUuid() + "\"/><where> relationship_type_id = '" + type.getRelationshipTypeId() + "' and a_is_to_b = '" + type.getaIsToB().replace("'", "\\'") + "' and b_is_to_a = '" + type.getbIsToA().replace("'", "\\'") + "'</where></update>";
System.out.println(output);
}
// roles:
System.out.println("Roles");
for (Role role : Context.getUserService().getAllRoles()) {
String output = "<update tableName=\"role\"><column name=\"uuid\" value=\"" + role.getUuid() + "\"/><where> role = '" + role.getRole().replace("'", "\\'") + "'</where></update>";
System.out.println(output);
}
// user:
System.out.println("Users");
for (User user : Context.getUserService().getAllUsers()) {
String output = "<update tableName=\"users\"><column name=\"uuid\" value=\"" + user.getUuid() + "\"/><where> user_id = '" + user.getUserId() + "' and system_id = '" + user.getSystemId().replace("'", "\\'") + "'</where></update>";
System.out.println(output);
}
}
use of org.openmrs.User in project openmrs-core by openmrs.
the class HibernateUserDAO method changePassword.
/**
* @see org.openmrs.api.db.UserDAO#changePassword(org.openmrs.User, java.lang.String)
*/
@Override
public void changePassword(User u, String pw) throws DAOException {
User authUser = Context.getAuthenticatedUser();
if (authUser == null) {
authUser = u;
}
log.debug("updating password");
// update the user with the new password
String salt = getLoginCredential(u).getSalt();
String newHashedPassword = Security.encodeString(pw + salt);
updateUserPassword(newHashedPassword, salt, authUser.getUserId(), new Date(), u.getUserId());
}
use of org.openmrs.User in project openmrs-core by openmrs.
the class HibernateUserDAO method getUsersByName.
/**
* @see org.openmrs.api.UserService#getUsersByName(java.lang.String, java.lang.String, boolean)
*/
@Override
public List<User> getUsersByName(String givenName, String familyName, boolean includeRetired) {
Criteria crit = sessionFactory.getCurrentSession().createCriteria(User.class);
crit.createAlias("person", "person");
crit.createAlias("person.names", "names");
crit.add(Restrictions.eq("names.givenName", givenName));
crit.add(Restrictions.eq("names.familyName", familyName));
crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
if (!includeRetired) {
crit.add(Restrictions.eq("retired", false));
}
return new ArrayList<>((List<User>) crit.list());
}
use of org.openmrs.User in project openmrs-core by openmrs.
the class HibernateUserDAO method changeHashedPassword.
/**
* @see org.openmrs.api.db.UserDAO#changeHashedPassword(User, String, String)
*/
@Override
public void changeHashedPassword(User user, String hashedPassword, String salt) throws DAOException {
User authUser = Context.getAuthenticatedUser();
updateUserPassword(hashedPassword, salt, authUser.getUserId(), new Date(), user.getUserId());
}
use of org.openmrs.User in project openmrs-core by openmrs.
the class HibernateUserDAO method updateUserPassword.
/**
* @param newHashedPassword
* @param salt
* @param userId
* @param date
* @param userId2
*/
private void updateUserPassword(String newHashedPassword, String salt, Integer changedBy, Date dateChanged, Integer userIdToChange) {
User changeForUser = getUser(userIdToChange);
if (changeForUser == null) {
throw new DAOException("Couldn't find user to set password for userId=" + userIdToChange);
}
User changedByUser = getUser(changedBy);
LoginCredential credentials = getLoginCredential(changeForUser);
credentials.setUserId(userIdToChange);
credentials.setHashedPassword(newHashedPassword);
credentials.setSalt(salt);
credentials.setChangedBy(changedByUser);
credentials.setDateChanged(dateChanged);
credentials.setUuid(changeForUser.getUuid());
sessionFactory.getCurrentSession().merge(credentials);
// reset lockout
changeForUser.setUserProperty(OpenmrsConstants.USER_PROPERTY_LOCKOUT_TIMESTAMP, "");
changeForUser.setUserProperty(OpenmrsConstants.USER_PROPERTY_LOGIN_ATTEMPTS, "0");
saveUser(changeForUser, null);
}
Aggregations