/** * Checks whether person name has all required values, and whether values are proper length * * @param object * @param errors * @should fail validation if PersonName object is null * @should pass validation if name is invalid but voided * @should pass validation if field lengths are correct * @should fail validation if field lengths are not correct */ @Override public void validate(Object object, Errors errors) { if (log.isDebugEnabled()) { log.debug(this.getClass().getName() + ".validate..."); } PersonName personName = (PersonName) object; try { // Validate that the person name object is not null if (personName == null) { errors.reject("error.name"); } else if (!personName.getVoided()) { // TODO - the following method should be made private in a major release validatePersonName(personName, errors, false, true); } } catch (Exception e) { errors.reject(e.getMessage()); } }
/** * @see PersonService#unvoidPersonName(org.openmrs.PersonName) */ @Test public void unvoidPersonName_shouldUnvoidVoidedPersonName() throws Exception { executeDataSet("org/openmrs/api/include/PersionServiceTest-voidUnvoidPersonName.xml"); PersonName voidedPersonName = Context.getPersonService().getPersonNameByUuid("a6ghgh7e-1384-493a-a55b-d325924acd94"); assertTrue(voidedPersonName.getVoided()); PersonName unvoidedPersonName = Context.getPersonService().unvoidPersonName(voidedPersonName); Assert.assertFalse(unvoidedPersonName.getVoided()); Assert.assertNull(unvoidedPersonName.getVoidedBy()); Assert.assertNull(unvoidedPersonName.getDateVoided()); Assert.assertNull(unvoidedPersonName.getVoidReason()); }
/** * @see PersonService#voidPersonName(org.openmrs.PersonName, String) */ @Test public void voidPersonName_shouldVoidPersonNameWithTheGivenReason() throws Exception { executeDataSet("org/openmrs/api/include/PersionServiceTest-voidUnvoidPersonName.xml"); PersonName personName = Context.getPersonService().getPersonNameByUuid("5e6571cc-c7f2-41de-b289-f55f8fe79c6f"); Assert.assertFalse(personName.getVoided()); PersonName voidedPersonName = Context.getPersonService().voidPersonName(personName, "Test Voiding PersonName"); assertTrue(voidedPersonName.getVoided()); Assert.assertNotNull(voidedPersonName.getVoidedBy()); Assert.assertNotNull(voidedPersonName.getDateVoided()); Assert.assertEquals(voidedPersonName.getVoidReason(), "Test Voiding PersonName"); }
private void setPreferredPatientName(Patient patient) { PersonName preferredName = null; PersonName possiblePreferredName = patient.getPersonName(); if (possiblePreferredName != null && possiblePreferredName.getPreferred() && !possiblePreferredName.getVoided()) { preferredName = possiblePreferredName; } for (PersonName name : patient.getNames()) { if (preferredName == null && !name.getVoided()) { name.setPreferred(true); preferredName = name; continue; } if (!name.equals(preferredName)) { name.setPreferred(false); } } }
private void setPreferredPersonName(Person person) { PersonName preferredName = null; PersonName possiblePreferredName = person.getPersonName(); if (possiblePreferredName != null && possiblePreferredName.getPreferred() && !possiblePreferredName.getVoided()) { preferredName = possiblePreferredName; } for (PersonName name : person.getNames()) { if (preferredName == null && !name.getVoided()) { name.setPreferred(true); preferredName = name; continue; } if (!name.equals(preferredName)) { name.setPreferred(false); } } }
Assert.assertEquals(familyNameSuffix, copy.getFamilyNameSuffix()); Assert.assertEquals(degree, copy.getDegree()); Assert.assertEquals(voided, copy.getVoided()); Assert.assertEquals(voidedBy, copy.getVoidedBy()); Assert.assertEquals(voidReason, copy.getVoidReason());
/** * @throws APIException * @see PersonService#savePersonName(org.openmrs.PersonName) */ @Test(expected = APIException.class) public void savePersonName_shouldFailIfYouTryToVoidTheLastNonVoidedName() throws Exception { executeDataSet("org/openmrs/api/include/PersionServiceTest-voidUnvoidPersonName.xml"); PersonName personName = Context.getPersonService().getPersonNameByUuid("39ghgh7b-6482-487d-94ce-c07bb3ca3cc1"); Assert.assertFalse(personName.getVoided()); Context.getPersonService().voidPersonName(personName, "Test Voiding PersonName"); }
errors.pushNestedPath("names[" + index + "]"); personNameValidator.validate(personName, errors); if (!personName.getVoided()) { atLeastOneNonVoidPersonNameLeft = true;
@Override public void validateDefaultRepresentation() throws Exception { super.validateDefaultRepresentation(); assertPropEquals("givenName", getObject().getGivenName()); assertPropEquals("middleName", getObject().getMiddleName()); assertPropEquals("familyName", getObject().getFamilyName()); assertPropEquals("familyName2", getObject().getFamilyName2()); assertPropEquals("voided", getObject().getVoided()); }
@Override public void validateFullRepresentation() throws Exception { super.validateFullRepresentation(); assertPropEquals("givenName", getObject().getGivenName()); assertPropEquals("middleName", getObject().getMiddleName()); assertPropEquals("familyName", getObject().getFamilyName()); assertPropEquals("familyName2", getObject().getFamilyName2()); assertPropEquals("preferred", getObject().getPreferred()); assertPropEquals("prefix", getObject().getPrefix()); assertPropEquals("familyNamePrefix", getObject().getFamilyNamePrefix()); assertPropEquals("familyNameSuffix", getObject().getFamilyNameSuffix()); assertPropEquals("degree", getObject().getDegree()); assertPropEquals("voided", getObject().getVoided()); assertPropPresent("auditInfo"); }