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; }
@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(UserInfo.Username username) { instance = new UserFeedback(); instance.username = Preconditions.checkNotNull(username); }
/** * Translate one pojo user feedback object into UserFeedback * * @param userFeedback pojo * @return UserFeedback */ protected UserFeedback makeUserFeedback( com.intuit.wasabi.repository.cassandra.pojo.UserFeedback userFeedback) { UserFeedback feedback = new UserFeedback(); feedback.setComments(userFeedback.getComment()); feedback.setContactOkay(userFeedback.isContactOkay()); feedback.setEmail(userFeedback.getUserEmail()); feedback.setScore(userFeedback.getScore()); feedback.setSubmitted(userFeedback.getSubmitted()); feedback.setUsername(Username.valueOf(userFeedback.getUserId())); return feedback; }
/** * Post feedback from user * * @param userFeedback * @param authorizationHeader * @return Response object */ @POST @Consumes(APPLICATION_JSON) @Produces(APPLICATION_JSON) @ApiOperation(value = "Submit feedback") @Timed public Response postFeedback( @ApiParam(name = "userFeedback", value = "Please see model example", required = true) final UserFeedback userFeedback, @HeaderParam(AUTHORIZATION) @ApiParam(value = EXAMPLE_AUTHORIZATION_HEADER, required = true) final String authorizationHeader) { try { userFeedback.setUsername(authorization.getUser(authorizationHeader)); feedback.createUserFeedback(userFeedback); return httpHeader.headers(CREATED).build(); } catch (Exception exception) { LOGGER.error("postFeedback failed for userFeedback={} with error:", userFeedback, exception); throw exception; } }
@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(); } }
/** * {@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); } }