/** For canceling a rating event */ public void oncancel() { Users user = ui.getUser(); newRating = ratingEJB.findByUserAndRecipe(user, recipe); if (newRating != null) { ratingEJB.removeRecipeRating(newRating); } }
/** * returns the rating of this recipe * * @return integer rating from 1-5 */ public Integer getRating() { if (recipe != null && ui.isIsUserAuthenticated()) { RecipeRating temp = ratingEJB.findByUserAndRecipe(ui.getUser(), recipe); if (temp != null) { rating = temp.getRatingValue().getValue(); } } return rating; }
/** This method is intended to be used as an actionListener for rating */ public void handleRating() { Users rater = ui.getUser(); newRating = ratingEJB.findByUserAndRecipe(rater, recipe); boolean edit = false; // determine whether we need to edit // No rating for this user exists if (newRating == null && rating > 0 && rating <= 5) { newRating = new RecipeRating(); newRating.setRater(rater); newRating.setRecipe(recipe); newRating.setRatingDate(new Date().getTime()); } // A rating exists else { edit = true; } switch (rating) { case 1: this.newRating.setRatingValue(RatingValue.ONE_STAR); break; case 2: this.newRating.setRatingValue(RatingValue.TWO_STARS); break; case 3: this.newRating.setRatingValue(RatingValue.THREE_STARS); break; case 4: this.newRating.setRatingValue(RatingValue.FOUR_STARS); break; case 5: this.newRating.setRatingValue(RatingValue.FIVE_STARS); break; } // end switch if (edit) { this.newRating = ratingEJB.editRecipeRating(newRating); } else { this.newRating = ratingEJB.createRecipeRating(newRating); } }
/** This method is called AFTER the bean is constructed */ @PostConstruct private void init() { if (!FacesContext.getCurrentInstance().isPostback()) { // TODO: view counter ++ } // Get the recipe String value = qm.get("recipe"); if (value != null) { recipe = recipesEJB.findRecipe(Integer.parseInt(value)); } // init some fields tags = new DefaultTagCloudModel(); newComment = new Comment(); newRating = new RecipeRating(); tags = new DefaultTagCloudModel(); if (recipe != null) { this.commentModel = new LazyCommentDataModel(recipe, recipesEJB); this.totalRatings = ratingEJB.countTotalRatings(recipe); Users user = ui.getUser(); getNutritionixIngredientInfo(recipe); recipesEJB.incrementViews(recipe); // Get the recipe's tags ArrayList<Tag> tagList = new ArrayList<Tag>(recipe.getTags()); if (!tagList.isEmpty()) { ListIterator i = tagList.listIterator(); while (i.hasNext()) { Tag t = (Tag) i.next(); String url = "search.xhtml?searchArg=" + t.getTagName(); this.tags.addTag(new DefaultTagCloudItem(t.getTagName(), url, tagEJB.getWeight(t))); } } else { this.tags.addTag(new DefaultTagCloudItem("#tagMe", 1)); } // Get related recipes relatedRecipes = search.getSearchRecipes(recipe); } // end if recipe is null else { this.tags.addTag(new DefaultTagCloudItem("#tagMe", 1)); } if (ui.isIsUserAuthenticated()) { user = ui.getUser(); } }