Example usage for org.springframework.web.bind.support SessionStatus setComplete

List of usage examples for org.springframework.web.bind.support SessionStatus setComplete

Introduction

In this page you can find the example usage for org.springframework.web.bind.support SessionStatus setComplete.

Prototype

void setComplete();

Source Link

Document

Mark the current handler's session processing as complete, allowing for cleanup of session attributes.

Usage

From source file:csns.web.controller.AssignmentControllerS.java

@RequestMapping(value = "/assignment/create", method = RequestMethod.POST)
public String create(@ModelAttribute Assignment assignment,
        @RequestParam(value = "file", required = false) MultipartFile uploadedFile, BindingResult result,
        SessionStatus sessionStatus) {
    assignmentValidator.validate(assignment, uploadedFile, result);
    if (result.hasErrors())
        return "assignment/create";

    Resource description = assignment.getDescription();
    if (description.getType() == ResourceType.NONE)
        assignment.setDescription(null);
    else if (description.getType() == ResourceType.FILE)
        description.setFile(fileIO.save(uploadedFile, SecurityUtils.getUser(), false));

    assignment = assignmentDao.saveAssignment(assignment);
    sessionStatus.setComplete();

    logger.info(SecurityUtils.getUser().getUsername() + " created assignment " + assignment.getId());

    return "redirect:/section/taught#section-" + assignment.getSection().getId();
}

From source file:csns.web.controller.UserControllerS.java

@RequestMapping(value = "/user/edit", method = RequestMethod.POST)
public String edit(@ModelAttribute User user,
        @RequestParam(value = "file", required = false) MultipartFile uploadedFile, BindingResult bindingResult,
        SessionStatus sessionStatus) {
    editUserValidator.validate(user, bindingResult);
    if (bindingResult.hasErrors())
        return "user/edit";

    String password = user.getPassword1();
    if (StringUtils.hasText(password))
        user.setPassword(passwordEncoder.encodePassword(password, null));
    user = userDao.saveUser(user);//from   w  w  w.j a  v  a2  s.  com

    logger.info(SecurityUtils.getUser().getUsername() + " edit user " + user.getId());

    handleProfilePicture(user, uploadedFile);

    sessionStatus.setComplete();
    return "redirect:/user/view?id=" + user.getId();
}

From source file:org.sloth.web.categorie.CreateCategorieController.java

/**
 * Handles the {@code POST} request. Validates the input and creates a new
 * {@code Categorie}.//from w  w  w  . j  a  v a 2  s. c o m
 */
@RequestMapping(method = POST)
public String submit(@ModelAttribute(CATEGORIE_ATTRIBUTE) Categorie categorie, BindingResult result,
        SessionStatus status, HttpSession session, HttpServletResponse response) throws IOException {
    if (isAdmin(session)) {
        this.categorieValidator.validate(categorie, result);
        if (result.hasErrors()) {
            return VIEW;
        } else {
            try {
                this.observationService.registrate(categorie);
            } catch (Exception e) {
                logger.warn("Unexpected Exception", e);
                return internalErrorView(response);
            } finally {
                status.setComplete();
            }
            return "redirect:/c";
        }
    } else {
        return forbiddenView(response);
    }
}

From source file:csns.web.controller.SurveyControllerS.java

@RequestMapping(value = "/department/{dept}/survey/editQuestion", method = RequestMethod.POST)
public String editQuestion(@ModelAttribute("question") Question question, @RequestParam Long surveyId,
        @RequestParam int sectionIndex, BindingResult result, SessionStatus sessionStatus) {
    questionValidator.validate(question, result);
    if (result.hasErrors())
        return "survey/editQuestion";

    Survey survey = surveyDao.getSurvey(surveyId);
    survey.getQuestionSheet().getSections().get(sectionIndex).replaceQuestion(question);
    surveyDao.saveSurvey(survey);//from   w ww.  j  a v  a 2 s  .c o m

    logger.info(SecurityUtils.getUser().getUsername() + " edited question " + question.getId() + " in survey "
            + surveyId);

    sessionStatus.setComplete();
    return "redirect:editQuestionSheet?surveyId=" + surveyId + "&sectionIndex=" + sectionIndex;
}

From source file:egovframework.rte.tex.brd.web.EgovBoardController.java

/**
 *    ? ??./*w w w.j  a  va  2s  .c  o  m*/
 * @param searchVO 
 * @param boardVO  
 * @param bindingResult validation
 * @param model 
 * @param status  ?
 * @return "forward:/brd/egovBoardList.do"
 * @throws Exception
 */
@RequestMapping("/brd/insertBoard.do")
public String insertBoard(@ModelAttribute("searchVO") SearchVO searchVO, BoardVO boardVO,
        BindingResult bindingResult, Model model, SessionStatus status) throws Exception {

    // Server-Side Validation
    beanValidator.validate(boardVO, bindingResult);

    if (bindingResult.hasErrors()) {
        model.addAttribute("boardVO", boardVO);
        return "brd/egovBoardRegister";
    }

    MemberVO vo = EgovUserUtil.getMemberInfo();
    boardVO.setMemberNo(vo.getMemberNo());
    boardVO.setId(vo.getId());
    boardService.insertBoard(boardVO);
    status.setComplete();
    return "redirect:/brd/egovBoardList.do";
}

From source file:org.sloth.web.categorie.EditCategorieController.java

/**
 * Handles the {@code POST} request. Saves the changes made to the {@code
 * Categorie}.//  w w w  .ja  va  2  s.  co  m
 */
@RequestMapping(method = POST)
public String processSubmit(@ModelAttribute(CATEGORIE_ATTRIBUTE) Categorie categorie, BindingResult result,
        SessionStatus status, HttpSession session, HttpServletResponse response) throws IOException {
    if (isAdmin(session)) {
        categorieValidator.validate(categorie, result);
        if (result.hasErrors()) {
            return VIEW;
        } else {
            try {
                observationService.updateCategorie(categorie);
            } catch (Exception e) {
                logger.warn("Unexpected Exception", e);
                return internalErrorView(response);
            } finally {
                status.setComplete();
            }
            return "redirect:/c";
        }
    } else {
        return forbiddenView(response);
    }
}

From source file:cherry.example.web.applied.ex20.AppliedEx22ControllerImpl.java

@Override
public ModelAndView execute(long id, AppliedEx20Form form, BindingResult binding, Authentication auth,
        Locale locale, SitePreference sitePref, NativeWebRequest request, SessionStatus status,
        RedirectAttributes redirAttr) {// w  ww.j  a  va 2 s.  c om

    if (hasErrors(id, form, binding)) {
        return withViewname(viewnameOfStart).build();
    }

    if (!oneTimeTokenValidator.isValid(request.getNativeRequest(HttpServletRequest.class))) {
        LogicalErrorUtil.rejectOnOneTimeTokenError(binding);
        return withViewname(viewnameOfStart).build();
    }

    long count = service.update(id, form);
    checkState(count == 1L, "failed to update: id=%s, form=%s", id, form);

    status.setComplete();
    redirAttr.addFlashAttribute(FLASH_UPDATED, Boolean.TRUE);

    return redirect(redirectOnExecute(id)).build();
}

From source file:cherry.example.web.applied.ex40.AppliedEx41ControllerImpl.java

@Override
public ModelAndView execute(long id, AppliedEx41Form form, BindingResult binding, Authentication auth,
        Locale locale, SitePreference sitePref, NativeWebRequest request, SessionStatus status,
        RedirectAttributes redirAttr) {// www.j  a va2s.com

    if (hasErrors(id, form, binding)) {
        return withViewname(viewnameOfStart).build();
    }

    if (!oneTimeTokenValidator.isValid(request.getNativeRequest(HttpServletRequest.class))) {
        LogicalErrorUtil.rejectOnOneTimeTokenError(binding);
        return withViewname(viewnameOfStart).build();
    }

    long count = service.update(id, form);
    checkState(count == 1L, "failed to update: id=%s, form=%s", id, form);

    status.setComplete();
    redirAttr.addFlashAttribute(FLASH_UPDATED, Boolean.TRUE);

    return redirect(redirectOnExecute(id)).build();
}

From source file:controllers.admin.SelfUserController.java

@RequestMapping(method = RequestMethod.POST)
public String self(
        // @ModelAttribute will load User from session but also set values from the form post
        @Validated(User.UserUpdate.class) @ModelAttribute(ATTRIBUTE_NAME) User user,
        BindingResult bindingResult, RedirectAttributes redirectAttributes,
        // SessionStatus lets you clear your SessionAttributes
        SessionStatus sessionStatus) {

    logger.info("Usuario a actualizar: " + user.toString());
    if (!bindingResult.hasErrors()) {
        try {//from   w  w  w  .java  2  s  . c om
            userService.update(user);
        } catch (UserAlredyExistsException e) {
            bindingResult.rejectValue("email", "user.exists");
        }
    }

    if (bindingResult.hasErrors()) {
        //put the validation errors in Flash session and redirect to self
        redirectAttributes.addFlashAttribute(BINDING_RESULT_NAME, bindingResult);
        return "redirect:/admin/users/self";
    }

    sessionStatus.setComplete(); //remove user from session

    List<String> successMessages = new ArrayList();
    successMessages.add(
            messageSource.getMessage("message.profile.save.success", new Object[] {}, Locale.getDefault()));
    redirectAttributes.addFlashAttribute("successFlashMessages", successMessages);
    return "redirect:/admin/users/self";
}