/** * @see org.openmrs.api.LocationService#unretireLocationTag(org.openmrs.LocationTag) */ @Override public LocationTag unretireLocationTag(LocationTag tag) throws APIException { tag.setRetired(false); tag.setRetireReason(null); tag.setRetiredBy(null); tag.setDateRetired(null); return Context.getLocationService().saveLocationTag(tag); }
/** * @see org.openmrs.api.LocationService#retireLocationTag(LocationTag, String) */ @Override public LocationTag retireLocationTag(LocationTag tag, String reason) throws APIException { if (tag.getRetired()) { return tag; } else { if (reason == null) { throw new APIException("Location.retired.reason.required", (Object[]) null); } tag.setRetired(true); tag.setRetireReason(reason); tag.setRetiredBy(Context.getAuthenticatedUser()); tag.setDateRetired(new Date()); return Context.getLocationService().saveLocationTag(tag); } }
/** * @see LocationTagValidator#validate(Object, org.springframework.validation.Errors) */ @Test public void validate_shouldPassValidationIfFieldLengthsAreCorrect() { LocationTag locationTag = new LocationTag(); locationTag.setName("name"); locationTag.setDescription("description"); locationTag.setRetireReason("retireReason"); Errors errors = new BindException(locationTag, "locationTag"); new LocationTagValidator().validate(locationTag, errors); Assert.assertFalse(errors.hasErrors()); }
/** * @see LocationTagValidator#validate(Object,Errors) */ @Test public void validate_shouldFailValidationIfFieldLengthsAreNotCorrect() { LocationTag locationTag = new LocationTag(); locationTag .setName("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); locationTag .setDescription("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); locationTag .setRetireReason("too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text too long text"); Errors errors = new BindException(locationTag, "location"); new LocationTagValidator().validate(locationTag, errors); Assert.assertTrue(errors.hasFieldErrors("name")); Assert.assertTrue(errors.hasFieldErrors("description")); Assert.assertTrue(errors.hasFieldErrors("retireReason")); } }