Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 2.18 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Memory leak using Mongo with Morphia
  2. @RequestMapping(value = "/reports", method = RequestMethod.POST, headers = "Accept=application/json")
  3. public ResponseEntity<Result> add(@RequestParam("title") String title,
  4.                                                    @RequestParam("uri") String uri,
  5.                                                    @RequestParam(value = "imageUri", required = false) String imageUri,
  6.                                                    @RequestParam(value = "categoryIds", required = false) List<String> categoryIds,
  7.                                                    @RequestParam(value = "expertsIds", required = false) List<String> expertIds,
  8.                                                    @RequestParam(value = "userId", required = false) String userIdString,
  9.                                                    @RequestParam(value = "description", required = false) String description) {
  10.  
  11.     if (imageUri == null) {
  12.         imageUri = "";
  13.     }
  14.  
  15.     List<Category> categories = new ArrayList<Category>();
  16.     if (categoryIds != null && !categoryIds.isEmpty()) {
  17.         categories = categoryService.getCategoriesById(categoryIds);
  18.     }
  19.  
  20.     Report report = new Report(StringEscapeUtils.escapeHtml(title), uri, imageUri, categories, expertIds, description);
  21.  
  22.     UUID userID = userService.convertUserId(userIdString);
  23.     Result result = userService.addReport(userID, report);
  24.  
  25.     return new ResponseEntity<Result>(result);
  26. }
  27.  
  28.  public Result addReport(UUID userID, Report report) {
  29.     Result result = reportService.add(report);
  30.     if (!result.getErrorMessages().isEmpty()) {
  31.         return result;
  32.     }
  33.     if (!doesUserExistInDb(userID)) {
  34.         createUserWithId(userID);
  35.     }
  36.     updateUserWithReport(userID, report);
  37.     return result;
  38. }
  39.  
  40. public Result add(Report report) {
  41.     Result result = new Result();
  42.     try {
  43.         datastore.save(report);
  44.         result.addReport(report);
  45.     } catch (ConstraintViolationException ex) {
  46.         populateValidationErrors(result, ex);
  47.     }
  48.     return result;
  49. }
  50.  
  51. public void updateUserWithReport(UUID userID, Report report) {
  52.     User user = datastore.get(User.class, userID);
  53.     user.getReports().add(report);
  54.     datastore.save(user);
  55. }