Example usage for org.springframework.web.servlet.mvc.support RedirectAttributes addAttribute

List of usage examples for org.springframework.web.servlet.mvc.support RedirectAttributes addAttribute

Introduction

In this page you can find the example usage for org.springframework.web.servlet.mvc.support RedirectAttributes addAttribute.

Prototype

@Override
    RedirectAttributes addAttribute(String attributeName, @Nullable Object attributeValue);

Source Link

Usage

From source file:it.polimi.diceH2020.launcher.controller.LaunchAnalysis.java

@RequestMapping(value = "/simulationSetup", method = RequestMethod.GET)
public String showSimulationsManagerForm(SessionStatus sessionStatus, Model model,
        @ModelAttribute("instanceDataMultiProvider") String instanceDataMultiProviderPath,
        @ModelAttribute("pathList") ArrayList<String> pathList,
        @ModelAttribute("scenario") String scenarioString, RedirectAttributes redirectAttrs) {

    Scenarios scenario = Scenarios.valueOf(scenarioString);
    model.addAttribute("scenario", scenario);
    redirectAttrs.addAttribute("scenario", scenario);

    if (pathList.size() == 0) {
        deleteUploadedFiles(pathList);//from w  w  w  .  j  a va2  s . c o m
        redirectAttrs.addAttribute("message", "You haven't submitted any file!");
        return "redirect:/launchRetry";
    }
    if (instanceDataMultiProviderPath == null) {
        deleteUploadedFiles(pathList);
        redirectAttrs.addAttribute("message", "Select a Json file!");
        return "redirect:/launchRetry";
    }

    Optional<InstanceDataMultiProvider> idmp = validator
            .readInstanceDataMultiProvider(Paths.get(instanceDataMultiProviderPath));

    if (idmp.isPresent()) {
        if (!idmp.get().validate()) {
            deleteUploadedFiles(pathList);
            model.addAttribute("message", idmp.get().getValidationError());
            return "redirect:/launchRetry";
        }
    } else {
        model.addAttribute("message", "Error with InstanceDataMultiProvider");
        deleteUploadedFiles(pathList);
        return "redirect:/launchRetry";
    }

    InstanceDataMultiProvider instanceDataMultiProvider = idmp.get();

    String check = scenarioValidation(instanceDataMultiProvider, scenario);
    if (!check.equals("ok")) {
        deleteUploadedFiles(pathList);
        redirectAttrs.addAttribute("message", check);
        return "redirect:/launchRetry";
    }

    List<InstanceDataMultiProvider> inputList = JsonSplitter
            .splitInstanceDataMultiProvider(instanceDataMultiProvider, scenario);

    if (inputList.size() > 1) {
        List<String> providersList = inputList.stream().map(InstanceDataMultiProvider::getProvider)
                .collect(Collectors.toList());
        if (!minNumTxt(providersList, pathList)) {
            deleteUploadedFiles(pathList);
            model.addAttribute("message",
                    "Not enough TXT files selected.\nFor each provider in your JSON there must be 2 TXT files containing in their name the provider name.");
            return "redirect:/launchRetry";
        }
    }

    List<SimulationsManager> simManagerList = initializeSimManagers(inputList);
    List<String> txtFoldersList = new ArrayList<>();

    for (SimulationsManager sm : simManagerList) {
        sm.setInputFileName(Paths.get(instanceDataMultiProviderPath).getFileName().toString());
        InstanceDataMultiProvider input = sm.getInputData();
        String txtFolder = new String();
        try {
            txtFolder = fileUtility.createInputSubFolder();
            txtFoldersList.add(txtFolder);
        } catch (Exception e) {
            deleteUploadedFiles(pathList);
            deleteUploadedFiles(txtFoldersList);
            redirectAttrs.addAttribute("message",
                    "Too many folders for TXTs with the same name have been created!");
            return "redirect:/launchRetry";
        }
        for (Entry<String, Map<String, Map<String, JobProfile>>> jobIDs : input.getMapJobProfiles()
                .getMapJobProfile().entrySet()) {
            for (Entry<String, Map<String, JobProfile>> provider : jobIDs.getValue().entrySet()) {
                for (Entry<String, JobProfile> typeVMs : provider.getValue().entrySet()) {

                    String secondPartOfTXTName = getSecondPartOfReplayersName(jobIDs.getKey(),
                            provider.getKey(), typeVMs.getKey());

                    List<String> txtToBeSaved = pathList.stream().filter(s -> s.contains(secondPartOfTXTName))
                            .filter(s -> s.contains(input.getId())).collect(Collectors.toList());
                    if (txtToBeSaved.isEmpty()) {
                        deleteUploadedFiles(pathList);
                        deleteUploadedFiles(txtFoldersList);
                        model.addAttribute("message",
                                "Missing TXT file for Instance:" + input.getId() + ", Job: " + jobIDs.getKey()
                                        + ", Provider:" + provider.getKey() + ", TypeVM:" + typeVMs.getKey());
                        return "redirect:/launchRetry";
                    }

                    for (String srcPath : txtToBeSaved) {
                        File src = new File(srcPath);

                        String fileContent = new String();
                        try {
                            fileContent = new String(Files.readAllBytes(Paths.get(srcPath)));
                            FileOutputStream fooStream = new FileOutputStream(src, false); // true to append
                            // false to overwrite.
                            byte[] myBytes = Compressor.compress(fileContent).getBytes();
                            fooStream.write(myBytes);
                            fooStream.close();

                            fileUtility.copyFile(srcPath, txtFolder + src.getName());

                        } catch (IOException e) {
                            deleteUploadedFiles(pathList);
                            deleteUploadedFiles(txtFoldersList);
                            model.addAttribute("message",
                                    "Problem with TXT paths. [TXT file for Instance:" + input.getId()
                                            + ", Job: " + jobIDs.getKey() + ", Provider:" + provider.getKey()
                                            + ", TypeVM:" + typeVMs.getKey() + "]");
                            return "redirect:/launchRetry";
                        }
                        if (fileContent.length() == 0) {
                            deleteUploadedFiles(pathList);
                            deleteUploadedFiles(txtFoldersList);
                            model.addAttribute("message",
                                    "Missing TXT file for Instance:" + input.getId() + ", Job: "
                                            + jobIDs.getKey() + ", Provider:" + provider.getKey() + ", TypeVM:"
                                            + typeVMs.getKey());
                            return "redirect:/launchRetry";
                        }
                        sm.addInputFolder(txtFolder);
                        sm.setNumCompletedSimulations(0);
                        sm.buildExperiments();
                    }
                }
            }
        }
    }
    deleteUploadedFiles(pathList);

    for (SimulationsManager sm : simManagerList) {
        ds.simulation(sm);
    }
    model.addAttribute("simManagersList", simManagerList);
    return "redirect:/";
}

From source file:com.stitchgalaxy.sg_manager_web.ProductController.java

@RequestMapping(value = UrlConstants.URL_CATEGORY_REMOVE, method = RequestMethod.GET)
public String removeCategory(Model model, @RequestParam(value = "category") Long categoryId,
        @RequestParam(value = "product") Long productId,
        @RequestParam(value = "sub-category") Long subCategoryId, RedirectAttributes redirectAttributes)
        throws DomainDataServiceException {
    CommandRemoveSubcategory command = new CommandRemoveSubcategory();
    command.setCategoryId(categoryId);/*from ww w . j  a  v  a2  s.c om*/
    command.setSubCategoryId(subCategoryId);
    domainDataService.removeSubcategory(command);
    redirectAttributes.addAttribute("category", categoryId);

    return "redirect:" + UrlConstants.URL_PRODUCT_SELECT_CATEGORY + "?product=" + productId + "&category="
            + categoryId;
}

From source file:controllers.AdController.java

@RequestMapping("/removeFromComparison")
public String removeFromComparison(Map<String, Object> model, HttpServletRequest request,
        @RequestParam(value = "adId", required = false) Long adId,
        @RequestParam(value = "wish", required = false) Long wish, RedirectAttributes ras) throws Exception {

    List ads = (List) request.getSession().getAttribute(COMPARISON);
    if (ads == null) {
        ads = new ArrayList();
    }//from w  ww  . ja v  a  2  s . c om
    Ad ad = adService.getAd(adId);
    if (ads.contains(ad)) {
        ads.remove(ad);
    }
    request.getSession().setAttribute(COMPARISON, ads);
    ras.addAttribute("wish", wish);
    return "redirect:/Main/comparison";
}

From source file:com.redhat.rhtracking.web.controller.InvoiceController.java

@RequestMapping(value = "/invoice/add", method = RequestMethod.POST)
public String save(@Valid @ModelAttribute("invoiceInfo") InvoiceInfo invoiceInfo, BindingResult result,
        RedirectAttributes redirectAttributes, Model model, Principal principal) {
    List<String> messages = getFlashMessagesList(model, redirectAttributes);
    if (result.hasErrors()) {
        messages.add("warning::Errors found");
        messages.add("info::" + result.getAllErrors());
        redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.register", result);
        redirectAttributes.addFlashAttribute("invoiceInfo", invoiceInfo);

        redirectAttributes.addAttribute("matrix", invoiceInfo.getDeliveryMatrix());
        return "redirect:/invoice/add";
    }/*from  ww  w.  j  a va  2  s.  c o  m*/

    Map<String, Object> request = new HashMap<>();

    request.put("invoiceRequest", invoiceInfo.getRequestNumber().replace(" ", ""));
    String invoiceNumber = invoiceInfo.getInvoiceNumber();
    invoiceNumber = invoiceNumber.replace(" ", "");
    if (!invoiceNumber.equals(""))
        request.put("invoiceNumber", invoiceNumber);

    request.put("platformQuantity", invoiceInfo.getPlatformHours());
    request.put("platformPrice", invoiceInfo.getPlatformPrice());
    request.put("middlewareQuantity", invoiceInfo.getMiddlewareHours());
    request.put("middlewarePrice", invoiceInfo.getMiddlewarePrice());
    request.put("workshopQuantity", invoiceInfo.getWorkshopHours());
    request.put("workshopPrice", invoiceInfo.getWorkshopPrice());

    request.put("date", invoiceInfo.getDate());
    request.put("deliveryMatrixId", invoiceInfo.getDeliveryMatrix());

    Map<String, Object> saveInvoice = invoiceService.saveInvoice(request);
    if ((EventStatus) saveInvoice.get("status") != EventStatus.SUCCESS) {
        messages.add("warning::Errrores encontrados");
        messages.add("info::" + saveInvoice);
        redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.register", result);
        redirectAttributes.addFlashAttribute("invoiceInfo", invoiceInfo);

        redirectAttributes.addAttribute("matrix", invoiceInfo.getDeliveryMatrix());
        return "redirect:/invoice/add";
    }

    return "redirect:/opportunity/show?id=" + invoiceInfo.getOpportunity();
}

From source file:com.kazuki43zoo.jpetstore.ui.controller.MyOrderController.java

@PostMapping("/create")
public String create(@Validated @ModelAttribute(binding = false) OrderForm form, BindingResult result,
        @AuthenticationPrincipal(expression = "account") Account account, RedirectAttributes redirectAttributes,
        SessionStatus sessionStatus) {/* w  w w .  j  ava  2  s . c o m*/
    if (cart.isEmpty()) {
        return "redirect:/cart";
    }

    if (result.hasErrors()) {
        redirectAttributes.addFlashAttribute(
                new Messages().error("Input values are invalid. Please confirm error messages."));
        return "redirect:/my/orders/create?from";
    }

    Order order = form.toOrder(cart);
    orderService.createOrder(order, account);

    redirectAttributes.addFlashAttribute(new Messages().success("Thank you, your order has been submitted."));

    redirectAttributes.addAttribute("orderId", order.getOrderId());

    cart.clear();
    sessionStatus.setComplete();

    return "redirect:/my/orders/{orderId}";
}

From source file:controllers.StrategyController.java

@RequestMapping("/addGroup")
public String addGroup(Map<String, Object> model, HttpServletRequest request,
        @RequestParam(value = "strategyId") Long strategyId,
        @RequestParam(value = "groupName") String groupName, RedirectAttributes ras) throws Exception {
    lk.dataByUserAndCompany(request, model);
    Long cabinetId = (Long) request.getSession().getAttribute(CABINET_ID_SESSION_NAME);

    groupService.saveGroup(strategyId, groupName, cabinetId);
    if (groupService.getErrors().isEmpty()) {
        ras.addFlashAttribute("message", " " + groupName + " ?");
    }// w ww.  j av  a  2  s. co m

    ras.addAttribute("strategyId", strategyId);
    return "redirect:/Strategy/strategy";
}

From source file:controllers.LkController.java

@RequestMapping("/setEndDate")
public String setEndDate(Map<String, Object> model, RedirectAttributes ras,
        @RequestParam(value = "newDate", required = false) Date newDate,
        @RequestParam(value = "pkId", required = false) Long pkId, HttpServletRequest request)
        throws Exception {
    dataByUserAndCompany(request, model);
    List<String> errors = (List<String>) model.get("errors");
    if (errors == null) {
        errors = new ArrayList();
    }/*  ww  w  . j a  v a  2  s . co m*/
    if (isSuperAdmin()) {
        adminService.setEndDate(pkId, newDate);
        errors.addAll(adminService.getErrors());
        ras.addAttribute("pkId", pkId);
        ras.addFlashAttribute("errors", errors);
        return "redirect:/Lk/administrating";
    } else {
        return "redirect:/";
    }
}

From source file:org.wallride.web.controller.admin.user.UserDeleteController.java

@RequestMapping
public String delete(@Valid @ModelAttribute("form") UserDeleteForm form, BindingResult errors, String query,
        RedirectAttributes redirectAttributes) {
    if (!form.isConfirmed()) {
        errors.rejectValue("confirmed", "Confirmed");
    }//from w ww .  j  a  va 2 s . com
    if (errors.hasErrors()) {
        logger.debug("Errors: {}", errors);
        return "user/describe";
    }

    User deletedUser;
    try {
        deletedUser = userService.deleteUser(form.buildUserDeleteRequest(), errors);
    } catch (BindException e) {
        if (errors.hasErrors()) {
            logger.debug("Errors: {}", errors);
            return "user/describe";
        }
        throw new RuntimeException(e);
    }

    redirectAttributes.addFlashAttribute("deletedUser", deletedUser);
    redirectAttributes.addAttribute("query", query);
    return "redirect:/_admin/{language}/users/index";
}

From source file:org.wallride.web.controller.admin.page.PageDeleteController.java

@RequestMapping
public String delete(@Valid @ModelAttribute("form") PageDeleteForm form, BindingResult errors, String query,
        RedirectAttributes redirectAttributes) {
    //      if (!form.isConfirmed()) {
    //         errors.rejectValue("confirmed", "Confirmed");
    //      }// www.j a v a2s .c  o m
    if (errors.hasErrors()) {
        logger.debug("Errors: {}", errors);
        return "page/describe";
    }

    Page page = null;
    try {
        page = pageService.deletePage(form.buildPageDeleteRequest(), errors);
    } catch (BindException e) {
        if (errors.hasErrors()) {
            logger.debug("Errors: {}", errors);
            return "page/describe";
        }
        throw new RuntimeException(e);
    }

    redirectAttributes.addFlashAttribute("deletedPage", page);
    redirectAttributes.addAttribute("query", query);
    return "redirect:/_admin/{language}/pages/index";
}

From source file:es.ucm.fdi.dalgs.module.web.ModuleController.java

@RequestMapping(value = "/degree/{degreeId}/module/add.htm", method = RequestMethod.POST, params = "Undelete")
// Every Post have to return redirect
public String undeleteModulePOST(@ModelAttribute("module") Module module,
        @PathVariable("degreeId") Long id_degree, BindingResult resultBinding, RedirectAttributes attr,
        Locale locale) {//www. j a  v a 2 s.c o  m

    if (!resultBinding.hasErrors()) {
        ResultClass<Module> result = serviceModule.unDeleteModule(module, id_degree, locale);

        if (!result.hasErrors()) {
            attr.addFlashAttribute("module", result.getSingleElement());
            return "redirect:/degree/" + id_degree + "/module/" + result.getSingleElement().getId()
                    + "/modify.htm";

        } else {
            if (result.isElementDeleted())
                attr.addAttribute("unDelete", true);

            attr.addFlashAttribute("errors", result.getErrorsList());

        }
    } else {
        attr.addFlashAttribute("org.springframework.validation.BindingResult.module", resultBinding);

    }
    attr.addFlashAttribute("module", module);
    return "redirect:/degree/" + id_degree + "/module/add.htm";
}