private void addRating(int idUser, int idItem, RatingType rating) {

    if (rc == null) {
      rc =
          new DecimalDomain(
              rating.getRatingValue().doubleValue(), rating.getRatingValue().doubleValue());
    }

    if (!ratings_byItem.containsKey(idItem)) {
      ratings_byItem.put(idItem, new TreeMap<>());
    }
    if (!users.contains(idUser)) {
      users.add(idUser);
    }

    ratings_byItem.get(idItem).put(idUser, rating);

    if (rating.getRatingValue().doubleValue() < rc.min()) {
      rc = new DecimalDomain(rating.getRatingValue().doubleValue(), rc.max());
    }
    if (rating.getRatingValue().doubleValue() > rc.max()) {
      rc = new DecimalDomain(rc.min(), rating.getRatingValue().doubleValue());
    }
  }
Пример #2
0
 @JsonAnySetter
 public void set(String type, TypeRating value) {
   values.put(RatingType.getByName(type), value);
 }
 public DefaultMemoryRatingsDataset_ItemIndexed_withMaps(Iterable<RatingType> ratings) {
   this();
   for (RatingType r : ratings) {
     addRating(r.getIdUser(), r.getIdItem(), r);
   }
 }