List of usage examples for org.springframework.web.servlet.view RedirectView setContextRelative
public void setContextRelative(boolean contextRelative)
From source file:ar.com.zauber.commons.spring.web.SpringWebUtil.java
/** * @param url url to redirect to// w ww .ja v a 2 s .c o m * @return a <code>RedirectView</code> object for url */ public final RedirectView createRedirect(final String url) { final RedirectView rv = new RedirectView(url); rv.setContextRelative(contextRelative); rv.setHttp10Compatible(false); return rv; }
From source file:org.shareok.data.webserv.ServerController.java
@RequestMapping("/server/update") public ModelAndView serverUpdate(RedirectAttributes redirectAttrs, HttpServletRequest request, @ModelAttribute("SpringWeb") RepoServer server) { ModelAndView model = new ModelAndView(); RedirectView view = new RedirectView(); view.setContextRelative(true); RepoServer existingServer = null;/*from w w w . j av a 2 s . c om*/ /** * Some server side validation code: */ boolean hasError = false; String serverId = (String) request.getParameter("serverId"); if (null == server) { redirectAttrs.addFlashAttribute("errorMessage", "The server information is empty"); hasError = true; } String serverName = server.getServerName(); if (null == serverName || "".equals(serverName)) { redirectAttrs.addFlashAttribute("errorMessage", "TThe server name is empty"); hasError = true; } if (null == serverId) { redirectAttrs.addFlashAttribute("errorMessage", "The server ID is empty"); hasError = true; } else if (serverId.equals("-1")) { existingServer = serverService.findServerByName(serverName); if (null != existingServer) { redirectAttrs.addFlashAttribute("errorMessage", "The server name has been used"); hasError = true; } } if (hasError == true) { view.setUrl("serverError.jsp"); model.setView(view); return model; } if (null != serverId && serverId.equals("-1")) { RepoServer newServer = serverService.addServer(server); Map<String, String> repoTypeServerFieldInfo = getRepoTypeServerFieldInfo(request, serverService.getRepoTypeServerFields(newServer.getRepoType())); serverService.updateRepoTypeServerFieldInfo(repoTypeServerFieldInfo, newServer); view.setUrl("/server/config"); redirectAttrs.addFlashAttribute("message", "The new server \"" + newServer.getServerName() + "\" has been added successfully!"); model.setView(view); } else if (null != serverId && !serverId.equals("-1")) { existingServer = serverService.updateServer(server); Map<String, String> repoTypeServerFieldInfo = getRepoTypeServerFieldInfo(request, serverService.getRepoTypeServerFields(existingServer.getRepoType())); serverService.updateRepoTypeServerFieldInfo(repoTypeServerFieldInfo, server); view.setUrl("/server/config"); model.setView(view); redirectAttrs.addFlashAttribute("message", "The server \"" + existingServer.getServerName() + "\" has been updated successfully!"); return model; } return model; }
From source file:org.shareok.data.webserv.RestDspaceDataController.java
@RequestMapping(value = "/rest/{repoTypeStr}/{jobType}", method = RequestMethod.POST) public ModelAndView sshDspaceSaFImporter(HttpServletRequest request, RedirectAttributes redirectAttrs, @PathVariable("repoTypeStr") String repoTypeStr, @RequestParam(value = "localFile", required = false) MultipartFile file, @PathVariable("jobType") String jobType, @ModelAttribute("SpringWeb") DspaceApiJob job) { ModelAndView model = new ModelAndView(); String filePath = ""; logger.debug("Start to process the DSpace Rest API request..."); try {/*from w w w. j av a 2 s . c om*/ if (null == file || file.isEmpty()) { String localFile = (String) request.getParameter("localFile"); if (!DocumentProcessorUtil.isEmptyString(localFile)) { filePath = localFile; String safDir = (String) request.getParameter("localSafDir"); if (!DocumentProcessorUtil.isEmptyString(safDir)) { filePath = safDir + File.separator + filePath; } String folder = (String) request.getParameter("localFolder"); if (!DocumentProcessorUtil.isEmptyString(folder)) { filePath = folder + File.separator + filePath; } String journalSearch = (String) request.getParameter("journalSearch"); if (null != journalSearch && journalSearch.equals("1")) { filePath = ShareokdataManager.getDspaceUploadPath() + File.separator + filePath; } else { filePath = ShareokdataManager.getOuhistoryUploadPath() + File.separator + filePath; } } else { filePath = (String) request.getParameter("remoteFileUri"); } } else { filePath = ServiceUtil.saveUploadedFile(file, ShareokdataManager.getDspaceRestImportPath(jobType + "-" + repoTypeStr)); } } catch (Exception ex) { logger.error("Cannot upload the file for DSpace import using REST API.", ex); model.addObject("errorMessage", "Cannot get the server list"); model.setViewName("serverError"); return model; } DspaceRepoServer server = (DspaceRepoServer) serverService.findServerById(job.getServerId()); String userId = String.valueOf(request.getSession().getAttribute("userId")); job.setUserId(Long.valueOf(userId)); job.setCollectionId(server.getPrefix() + "/" + job.getCollectionId()); job.setRepoType(DataUtil.getRepoTypeIndex(repoTypeStr)); job.setType(DataUtil.getJobTypeIndex(jobType, repoTypeStr)); job.setStatus(Arrays.asList(RedisUtil.REDIS_JOB_STATUS).indexOf("created")); job.setFilePath(filePath); job.setStartTime(new Date()); job.setEndTime(null); try { RedisJob returnedJob = taskManager.execute(job); if (null == returnedJob) { throw new JobProcessingException("Null job object returned after processing!"); } int statusIndex = job.getStatus(); String isFinished = (statusIndex == 2 || statusIndex == 6) ? "true" : "false"; RedirectView view = new RedirectView(); view.setContextRelative(true); view.setUrl("/report/job/" + String.valueOf(returnedJob.getJobId())); model.setView(view); redirectAttrs.addFlashAttribute("host", serverService.findServerById(returnedJob.getServerId()).getHost()); redirectAttrs.addFlashAttribute("collection", DspaceDataUtil.DSPACE_REPOSITORY_HANDLER_ID_PREFIX + job.getCollectionId()); redirectAttrs.addFlashAttribute("isFinished", isFinished); redirectAttrs.addFlashAttribute("reportPath", DataHandlersUtil .getJobReportFilePath(DataUtil.JOB_TYPES[returnedJob.getType()], returnedJob.getJobId())); WebUtil.outputJobInfoToModel(redirectAttrs, returnedJob); } catch (Exception ex) { logger.error("Cannot process the job of DSpace import using REST API.", ex); model.addObject("errorMessage", "Cannot process the job of DSpace import using REST API."); model.setViewName("serverError"); } return model; }
From source file:de.interseroh.report.controller.ReportController.java
private void showReportForm(@PathVariable("reportName") String reportName, @ModelAttribute("parameterForm") ParameterForm form, ModelAndView modelAndView) { RedirectView redirectView = new RedirectView(); redirectView.setUrl("/reports/{reportName}"); redirectView.setContextRelative(true); redirectView.setPropagateQueryParams(false); redirectView.setExposeModelAttributes(true); modelAndView.addAllObjects(new ParameterValueMapBuilder().build(form)); modelAndView.addObject("reportName", reportName); modelAndView.setView(redirectView);// www. j a v a 2 s . com }
From source file:org.shareok.data.webserv.UserController.java
@RequestMapping("/user/newPass") public ModelAndView userNewPass(HttpServletRequest request) { ModelAndView model = new ModelAndView(); String oldPass = (String) request.getParameter("oldPass"); String newPass = (String) request.getParameter("newPass"); String newPassConfirm = (String) request.getParameter("newPassConfirm"); if (null != oldPass && !oldPass.equals("") && null != newPass && !newPass.equals("") && null != newPassConfirm && !newPassConfirm.equals("")) { if (!newPass.equals(newPassConfirm)) { try { throw new IncorrectUserCredentialInfoException("The two new passwords do not match!"); } catch (IncorrectUserCredentialInfoException ex) { logger.error(ex);// w w w .j ava2s . c om model.addObject("errorMessage", "The two new passwords do not match!"); model.setViewName("userError"); return model; } } String email = (String) request.getSession().getAttribute("email"); RedisUser user = userService.findUserByUserEmail(email); if (null == user || !pwAuthenService.authenticate(oldPass, user.getPassword())) { String message = null; try { if (null == user) { message = "User information cannot by found by user email!"; } else { message = "User old password is incorrect!"; } throw new UserRegisterInfoNotFoundException(message); } catch (UserRegisterInfoNotFoundException ex) { logger.error(ex); model.addObject("errorMessage", message); model.setViewName("userError"); return model; } } // Check if the user is the current user in session String sessionId = (String) request.getSession().getId(); String userSessionId = user.getSessionKey(); if (null == userSessionId || !userSessionId.equals(sessionId)) { try { throw new UserRegisterInfoNotFoundException( "The user session ID does not match the current session ID!"); } catch (UserRegisterInfoNotFoundException ex) { logger.error(ex); model.addObject("errorMessage", "The user session ID does not match the current session ID!"); model.setViewName("userError"); return model; } } String password = pwAuthenService.hash(newPass); user.setPassword(password); userService.updateUser(user); RedirectView view = new RedirectView(); view.setContextRelative(true); view.setUrl("/userProfile"); model.setView(view); return model; } else { try { throw new IncorrectUserCredentialInfoException( "Some password information is empty for resetting user password!"); } catch (IncorrectUserCredentialInfoException ex) { logger.error(ex); model.addObject("errorMessage", "Some password information is empty for resetting user password!"); model.setViewName("userError"); } } return model; }
From source file:de.interseroh.report.controller.ReportController.java
@RequestMapping(method = RequestMethod.GET) public ModelAndView showReportForm( ///*from ww w. j a v a2 s . c o m*/ @ModelAttribute ParameterForm parameterForm, // @RequestParam MultiValueMap<String, String> requestParams, @PathVariable("reportName") String reportName, BindingResult errors) throws BirtReportException { logger.debug("executing show report for " + reportName); checkPermisionFor(reportName); ModelAndView modelAndView = new ModelAndView(); parameterFormBinder.bind(parameterForm, requestParams, errors); parameterFormConverter.convert(parameterForm, errors); if (parameterForm.isValid()) { Pagination pagination = reportService.getPageInfos(reportName, parameterForm); // TODO reportPage // if (reportPage.getCurrentPageNumber() > reportPage // .getPageNumbers()) { // throw new BirtReportException(String.format( // "For this report: %s no more pages available", // reportName)); // } modelAndView.addObject("pagination", pagination); modelAndView.setViewName("/report"); injectReportUri(parameterForm, modelAndView, reportName); configSetter.setVersion(modelAndView); configSetter.setBranding(modelAndView); } else { // show parameters RedirectView redirectView = new RedirectView(); redirectView.setUrl("/reports/{reportName}/params"); redirectView.setContextRelative(true); redirectView.setPropagateQueryParams(false); redirectView.setExposeModelAttributes(true); modelAndView.setView(redirectView); modelAndView.addAllObjects(new ParameterValueMapBuilder().build(parameterForm)); } parameterFormFormatter.format(parameterForm); modelAndView.addObject("reportName", reportName); return modelAndView; }
From source file:de.drv.dsrv.utility.spring.web.EnhancedRedirectInternalResourceViewResolver.java
protected View checkAndEnhanceRedirectView(final View view) { // Prfe, ob die ber die Basisklasse ermittelte View einen Redirect // reprsentiert if (view instanceof RedirectView) { // Fhre Typumwandlung durch und ermittle gespeicherte URL final RedirectView redirectView = (RedirectView) view; final String url = redirectView.getUrl(); // Prfe, ob die gespeicherte URL den Prfix fr eine Pfadangabe // relativ zur Basis-URI des Servers ist if (url != null && url.startsWith(SERVER_REL_PREFIX)) { // Entferne Prfix redirectView.setUrl(url.substring(SERVER_REL_PREFIX.length())); // URL ist nicht reletiv zur Context Root redirectView.setContextRelative(false); }/*from ww w . java 2 s .c om*/ } // Gebe View zurck return view; }
From source file:org.shareok.data.webserv.JournalDataController.java
@RequestMapping(value = "/journal/search/{publisher}/date", method = RequestMethod.POST) public ModelAndView searchJournalArticlesByDate(HttpServletRequest request, RedirectAttributes redirectAttrs, @RequestParam(value = "endDate", required = false) String endDate, @PathVariable("publisher") String publisher) { ModelAndView model = new ModelAndView(); String startDate = request.getParameter("startDate"); String affiliate = request.getParameter("affiliate"); DspaceJournalDataService serviceObj = ServiceUtil.getDspaceJournalDataServInstanceByPublisher(publisher); String articlesData = serviceObj.getApiResponseByDatesAffiliate(startDate, endDate, affiliate); // ** escape the single quote as the jquery might have problem in parsing the data ** articlesData = articlesData.replace("", "'"); articlesData = articlesData.replaceAll("\\'", "\\\\'"); RedirectView view = new RedirectView(); view.setContextRelative(true); view.setUrl("/journal/search/" + publisher + "/date"); model.setView(view);/*from w ww . ja v a2s .c o m*/ redirectAttrs.addFlashAttribute("publisher", publisher); redirectAttrs.addFlashAttribute("startDate", null == startDate ? "" : startDate); redirectAttrs.addFlashAttribute("endDate", null == endDate ? "" : endDate); redirectAttrs.addFlashAttribute("institutions", DataUtil.getJsonArrayFromStringArray(DataUtil.INSTITUTIONS)); redirectAttrs.addFlashAttribute("articles", null == articlesData ? "" : articlesData); return model; }
From source file:org.shareok.data.webserv.JournalDataController.java
@RequestMapping(value = "/dspace/safpackage/{publisher}/upload", method = RequestMethod.POST) public ModelAndView safPackageDataUpload(RedirectAttributes redirectAttrs, @RequestParam("file") MultipartFile file, @PathVariable("publisher") String publisher) { if (!file.isEmpty()) { try {//from w ww .j av a 2 s . com String[] filePaths = DspaceJournalServiceManager.getDspaceSafPackageDataService(publisher) .getSafPackagePaths(file); if (null != filePaths && filePaths.length > 0) { ModelAndView model = new ModelAndView(); RedirectView view = new RedirectView(); view.setContextRelative(true); List<String> downloadLinks = new ArrayList<>(); for (String path : filePaths) { String link = DspaceJournalDataUtil.getDspaceSafPackageDataDownloadLinks(path); downloadLinks.add(link); } ObjectMapper mapper = new ObjectMapper(); String downloadLink = mapper.writeValueAsString(downloadLinks); // String uploadFileLink = downloadLink.split("/journal/"+publisher+"/")[1]; // uploadFileLink = uploadFileLink.substring(0, uploadFileLink.length()-1); model.setViewName("journalDataUploadDisplay"); model.addObject("safPackages", downloadLink); model.addObject("publisher", publisher); // model.addObject("uploadFile", uploadFileLink); view.setUrl("/dspace/safpackage/ouhistory/display"); model.setView(view); return model; } else { return null; } } catch (Exception e) { logger.error(e.getMessage()); } } else { return null; } return null; }
From source file:org.shareok.data.webserv.JournalDataController.java
@RequestMapping(value = "/dspace/safpackage/doi/generate", method = RequestMethod.POST) public ModelAndView safPackageGenerateByDois(HttpServletRequest request, RedirectAttributes redirectAttrs, @RequestParam(value = "multiDoiUploadFile", required = false) MultipartFile file) { String singleDoi = (String) request.getParameter("singleDoi"); String multiDoi = (String) request.getParameter("multiDoi"); String safPaths = null;/*from w w w.j a v a 2 s .c o m*/ ByteArrayInputStream stream = null; ModelAndView model = new ModelAndView(); RedirectView view = new RedirectView(); view.setContextRelative(true); if ((null != file && !file.isEmpty()) || null != singleDoi || null != multiDoi) { String safFilePath = null; try { String[] dois; if (null != singleDoi) { String doi = (String) request.getParameter("doiInput"); if (null == doi || doi.equals("")) { throw new EmptyDoiInformationException("Empty information from single DOI submission!"); } dois = new String[] { doi }; } else if (null != multiDoi) { String doi = (String) request.getParameter("multiDoiInput"); if (null == doi || doi.equals("")) { throw new EmptyDoiInformationException("Empty information from multiple DOI submission!"); } dois = doi.trim().split("\\s*;\\s*"); } else if (null != file && !file.isEmpty()) { stream = new ByteArrayInputStream(file.getBytes()); String doiString = IOUtils.toString(stream, "UTF-8"); dois = doiString.trim().split("\\s*\\r?\\n\\s*"); } else { throw new EmptyDoiInformationException("Empty DOI information from unknown DOI submission!"); } if (dois != null && dois.length > 0) { } } catch (Exception ex) { logger.error("Cannot generate the SAF packages by the DOIs", ex); } finally { if (null != stream) { try { stream.close(); } catch (IOException ex) { logger.error("Cannot close the input stream when reading the file containing the DOIs", ex); } } } if (null != safFilePath && !safFilePath.equals("")) { redirectAttrs.addFlashAttribute("safFilePath", safFilePath); view.setUrl(".jsp"); model.setView(view); } else { redirectAttrs.addFlashAttribute("errorMessage", "The saf file path is invalid"); view.setUrl("journalDataUpload.jsp"); model.setView(view); } } else { redirectAttrs.addFlashAttribute("errorMessage", "The server information is empty"); view.setUrl("errors/serverError.jsp"); model.setView(view); } return model; }