Example usage for org.springframework.web.servlet FlashMap FlashMap

List of usage examples for org.springframework.web.servlet FlashMap FlashMap

Introduction

In this page you can find the example usage for org.springframework.web.servlet FlashMap FlashMap.

Prototype

FlashMap

Source Link

Usage

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetExceptionCode_exception_code_is_null() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    SystemException occurException = new SystemException(null, "message");

    testTarget.setExceptionCode(occurException, mockRequest, mockResponse);

    Enumeration<String> attributeNames = mockRequest.getAttributeNames();
    assertThat(attributeNames.nextElement().equals(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE), is(true));
    assertThat(attributeNames.hasMoreElements(), is(false));
    assertThat(mockResponse.getHeaderNames().isEmpty(), is(true));
    assertThat(flashMap.isEmpty(), is(true));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetExceptionCode_exception_code_is_notnull() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    SystemException occurException = new SystemException("code001", "message");

    testTarget.setExceptionCode(occurException, mockRequest, mockResponse);

    assertThat(mockRequest.getAttribute("exceptionCode").toString(), is("code001"));
    assertThat(mockResponse.getHeader("X-Exception-Code"), is("code001"));

    assertThat((String) flashMap.get("exceptionCode"), is("code001"));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetResultMessages_BusinessException_flashMap_is_notnull() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    ResultMessages resultMessages = ResultMessages.error().add("code01");
    BusinessException occurException = new BusinessException(resultMessages);

    testTarget.setResultMessages(occurException, mockRequest);

    assertSame(resultMessages, flashMap.get(ResultMessages.DEFAULT_MESSAGES_ATTRIBUTE_NAME));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetResultMessages_not_BusinessException() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    SystemException occurException = new SystemException("code01", "message");

    testTarget.setResultMessages(occurException, mockRequest);

    assertThat(flashMap.isEmpty(), is(true));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetResultMessages_bussinessExceptionMessagesAttribute_is_null() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    testTarget.setResultMessagesAttribute(null);

    ResultMessages resultMessages = ResultMessages.error().add("code01");
    BusinessException occurException = new BusinessException(resultMessages);

    testTarget.setResultMessages(occurException, mockRequest);

    assertThat(flashMap.isEmpty(), is(true));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetResultMessages_bussinessExceptionMessagesAttribute_is_blank() {

    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    testTarget.setResultMessagesAttribute("");

    ResultMessages resultMessages = ResultMessages.error().add("code01");
    BusinessException occurException = new BusinessException(resultMessages);

    testTarget.setResultMessages(occurException, mockRequest);

    assertThat(flashMap.isEmpty(), is(true));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testSetExceptionInfo() {

    // do setup./*  ww w  . jav  a 2s.  c o m*/
    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    SimpleMappingExceptionCodeResolver exceptionCodeResolver = new SimpleMappingExceptionCodeResolver();
    exceptionCodeResolver.setDefaultExceptionCode("defaultCode");
    testTarget.setExceptionCodeResolver(exceptionCodeResolver);

    ResultMessages resultMessages = ResultMessages.error().add("code001");
    BusinessException occurException = new BusinessException(resultMessages);

    // do test.
    testTarget.setExceptionInfo(occurException, mockRequest, mockResponse);

    // do assert.
    assertThat(mockRequest.getAttribute("exceptionCode").toString(), is("defaultCode"));
    assertThat(mockResponse.getHeader("X-Exception-Code"), is("defaultCode"));
    assertSame(resultMessages, flashMap.get(ResultMessages.DEFAULT_MESSAGES_ATTRIBUTE_NAME));

}

From source file:org.terasoluna.gfw.web.exception.SystemExceptionResolverTest.java

@Test
public void testDoResolveException_super_return_notnull() throws Exception {

    // do setup.//  w w w. j  ava 2 s . com
    ResultMessages resultMessages = ResultMessages.error().add("code001");
    BusinessException occurException = new BusinessException(resultMessages);

    // setup locale.
    Locale locale = Locale.ITALIAN;
    mockRequest.addPreferredLocale(locale);

    // setup FlashMap.
    FlashMap flashMap = new FlashMap();
    mockRequest.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, flashMap);

    // setup exception resolver.
    // setup default.
    testTarget.setDefaultErrorView("defaultErrorView");
    testTarget.setDefaultStatusCode(444);

    // setup exception code resolver.
    SimpleMappingExceptionCodeResolver exceptionCodeResolver = new SimpleMappingExceptionCodeResolver();
    exceptionCodeResolver.setDefaultExceptionCode("defaultExceptionCode");
    testTarget.setExceptionCodeResolver(exceptionCodeResolver);

    // do test.
    ModelAndView actualModleAndView = testTarget.doResolveException(mockRequest, mockResponse, null,
            occurException);

    // do assert.
    assertThat(mockResponse.getStatus(), is(444));
    assertThat((Integer) mockRequest.getAttribute(WebUtils.ERROR_STATUS_CODE_ATTRIBUTE), is(444));

    assertSame(occurException,
            actualModleAndView.getModel().get(SimpleMappingExceptionResolver.DEFAULT_EXCEPTION_ATTRIBUTE));

    assertThat(mockRequest.getAttribute("exceptionCode").toString(), is("defaultExceptionCode"));
    assertThat(mockResponse.getHeader("X-Exception-Code"), is("defaultExceptionCode"));

    assertSame(resultMessages, flashMap.get(ResultMessages.DEFAULT_MESSAGES_ATTRIBUTE_NAME));

}

From source file:org.broadleafcommerce.openadmin.web.controller.entity.AdminBasicEntityController.java

/**
 * Attempts to remove the given entity./*from  w  w  w.j  a  v a2s.  com*/
 * 
 * @param request
 * @param response
 * @param model
 * @param pathVars
 * @param id
 * @return the return view path
 * @throws Exception
 */
@RequestMapping(value = "/{id}/delete", method = RequestMethod.POST)
public String removeEntity(HttpServletRequest request, HttpServletResponse response, Model model,
        @PathVariable Map<String, String> pathVars, @PathVariable(value = "id") String id,
        @ModelAttribute(value = "entityForm") EntityForm entityForm, BindingResult result,
        RedirectAttributes ra) throws Exception {
    String sectionKey = getSectionKey(pathVars);
    List<SectionCrumb> sectionCrumbs = getSectionCrumbs(request, sectionKey, id);

    Entity entity = service.removeEntity(entityForm, getSectionCustomCriteria(), sectionCrumbs).getEntity();
    // Removal does not normally return an Entity unless there is some validation error
    if (entity != null) {
        entityFormValidator.validate(entityForm, entity, result);
        if (result.hasErrors()) {
            // Create a flash attribute for the unsuccessful delete
            FlashMap fm = new FlashMap();
            fm.put("headerFlash", "delete.unsuccessful");
            fm.put("headerFlashAlert", true);
            request.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, fm);

            // Re-look back up the entity so that we can return something populated
            String sectionClassName = getClassNameForSection(sectionKey);
            PersistencePackageRequest ppr = getSectionPersistencePackageRequest(sectionClassName, sectionCrumbs,
                    pathVars);
            ClassMetadata cmd = service.getClassMetadata(ppr).getDynamicResultSet().getClassMetaData();
            entity = service.getRecord(ppr, id, cmd, false).getDynamicResultSet().getRecords()[0];
            Map<String, DynamicResultSet> subRecordsMap = service.getRecordsForAllSubCollections(ppr, entity,
                    sectionCrumbs);
            entityForm.clearFieldsMap();
            formService.populateEntityForm(cmd, entity, subRecordsMap, entityForm, sectionCrumbs);
            modifyEntityForm(entityForm, pathVars);

            return populateJsonValidationErrors(entityForm, result, new JsonResponse(response)).done();
        }
    }

    ra.addFlashAttribute("headerFlash", "delete.successful");
    ra.addFlashAttribute("headerFlashAlert", true);

    if (isAjaxRequest(request)) {
        // redirect attributes won't work here since ajaxredirect actually makes a new request
        return "ajaxredirect:" + getContextPath(request) + sectionKey + "?headerFlash=delete.successful";
    } else {
        return "redirect:/" + sectionKey;
    }
}

From source file:org.sparkcommerce.openadmin.web.controller.entity.AdminBasicEntityController.java

/**
 * Attempts to remove the given entity./*from  w  ww. ja  v  a  2 s  .  c om*/
 * 
 * @param request
 * @param response
 * @param model
 * @param pathVars
 * @param id
 * @return the return view path
 * @throws Exception
 */
@RequestMapping(value = "/{id}/delete", method = RequestMethod.POST)
public String removeEntity(HttpServletRequest request, HttpServletResponse response, Model model,
        @PathVariable Map<String, String> pathVars, @PathVariable(value = "id") String id,
        @ModelAttribute(value = "entityForm") EntityForm entityForm, BindingResult result) throws Exception {
    String sectionKey = getSectionKey(pathVars);
    List<SectionCrumb> sectionCrumbs = getSectionCrumbs(request, sectionKey, id);

    try {
        service.removeEntity(entityForm, getSectionCustomCriteria(), sectionCrumbs);
    } catch (ServiceException e) {
        if (e instanceof ValidationException) {
            // Create a flash attribute for the unsuccessful delete
            FlashMap fm = new FlashMap();
            fm.put("headerFlash", e.getMessage());
            fm.put("headerFlashAlert", true);
            request.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, fm);

            // Make sure we have this error show up in our logs
            LOG.error("Could not delete record", e);

            // Refresh the page
            return "redirect:/" + sectionKey + "/" + id;
        }
        if (e.containsCause(ConstraintViolationException.class)) {
            // Create a flash attribute for the unsuccessful delete
            FlashMap fm = new FlashMap();
            fm.put("headerFlash", "delete.unsuccessful");
            fm.put("headerFlashAlert", true);
            request.setAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE, fm);

            // Make sure we have this error show up in our logs
            LOG.error("Could not delete record", e);

            // Refresh the page
            return "redirect:/" + sectionKey + "/" + id;
        }
        throw e;
    }

    return "redirect:/" + sectionKey;
}