@Override public boolean equals(Object obj) { if (obj == null) return false; if (obj == this) return true; if (!(obj instanceof UserFeedback)) return false; UserFeedback other = (UserFeedback) obj; return new EqualsBuilder() .append(submitted, other.getSubmitted()) .append(email, other.getEmail()) .append(username, other.getUsername()) .append(score, other.getScore()) .append(comments, other.getComments()) .append(contactOkay, other.isContactOkay()) .isEquals(); } }
@Override public void createUserFeedback(UserFeedback userFeedback) { checkNotNull(userFeedback.getUsername(), "Parameter \"username\" cannot be null"); checkNotNull(userFeedback.getSubmitted(), "Parameter \"submitted\" cannot be null"); if (userFeedback.getScore() == 0 && "".equals(userFeedback.getComments()) && !userFeedback.isContactOkay()) { throw new IllegalArgumentException("error, one of score, contactOkay, or comments must be provided"); } if (userFeedback.isContactOkay()) { userFeedback.setEmail(userDirectory.lookupUser(userFeedback.getUsername()).getEmail()); } LOGGER.debug("User Feedback: storing feedback from user " + userFeedback.getUsername().toString() + "submitted " + "at time " + userFeedback.getSubmitted().toString()); feedbackRepository.createUserFeedback(userFeedback); }
private Builder(UserFeedback other) { this(other.getUsername()); instance.comments = other.getComments(); instance.email = other.getEmail(); instance.score = other.getScore(); instance.contactOkay = other.isContactOkay(); instance.submitted = other.submitted; }
/** * {@inheritDoc} */ @Override public void createUserFeedback(UserFeedback userFeedback) { LOGGER.debug("creating user feedback {}", userFeedback); try { userFeedbackAccessor.createUserFeedback(userFeedback.getUsername().getUsername(), userFeedback.getSubmitted(), userFeedback.getScore(), userFeedback.getComments(), userFeedback.isContactOkay(), userFeedback.getEmail()); } catch (Exception e) { LOGGER.error("Error while creating user feedback", e); throw new RepositoryException("Could not save feedback from user " + userFeedback, e); } }