Пример #1
0
  @RequestMapping(value = URL_PROFILE_ADDTAG, method = RequestMethod.POST)
  public ModelAndView addTag(
      @ModelAttribute(COMMAND_TAG) @Valid Tool tool, BindingResult result, Locale locale) {

    if (result.hasErrors()) {
      // basic validation fails
      ModelAndView modelAndView = constructModelAndView(tool, locale);
      modelAndView.addObject(COMMAND_TAG, tool);

      return modelAndView;
    }

    if (profileService.isKnownTag(tool.getTagName())) {

      profileService.storeTag(tool.getTagName());
      ModelAndView modelAndView = new ModelAndView(new RedirectView(URL_ACCOUNT_VITEA));

      return modelAndView;
    } else if (tool.getTagName().equals(tool.getPreviousTagName())) {
      profileService.storeTag(tool.getTagName());
      ModelAndView modelAndView = new ModelAndView(new RedirectView(URL_ACCOUNT_VITEA));

      return modelAndView;
    } else {
      List<String> alternatives = profileService.searchForTags(tool.getTagName(), locale);

      ModelAndView modelAndView = constructModelAndView(tool, locale);
      modelAndView.addObject(COMMAND_TAG, tool);
      modelAndView.addObject("alternatives", alternatives);
      tool.setPreviousTagName(tool.getTagName());

      return modelAndView;
    }
  }