@Override protected ModelAndView onSubmit( HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { try { System.out.println("\n\n\n\n\nInside the submit method \n"); AddRFIForm addRfiForm = (AddRFIForm) command; RFI rfi = new RFI(); rfi.setRfiNumber(addRfiForm.getRfiNumber()); rfi.setRfiCode(addRfiForm.getRfiCode()); rfi.setFromChainage(addRfiForm.getFromChainage()); rfi.setToChainage(addRfiForm.getToChainage()); rfi.setSide(addRfiForm.getSide()); rfi.setLayer(addRfiForm.getLayer()); rfi.setActivity(addRfiForm.getActivity()); rfi.setItemDescription(addRfiForm.getItemDescription()); rfi.setWiRemarks(addRfiForm.getWiRemarks()); rfi.setRemarks(addRfiForm.getRemarks()); rfi.setBreakRfiString(""); rfi.setStatus("In Process"); rfi.setIssueDate(addRfiForm.getIssueDate()); rfi.setInspectionDate(addRfiForm.getInspectionDate()); List<ExpandedRFI> overlappedRfiList = null; if (!(request.getParameter("force") != null && "true".equals(request.getParameter("force")))) { overlappedRfiList = rfiService.isOverlap(rfi); } PrintWriter out = response.getWriter(); if (overlappedRfiList != null) { String message = ""; Iterator<ExpandedRFI> rfiIt = overlappedRfiList.iterator(); while (rfiIt.hasNext()) { ExpandedRFI overlappedRfi = rfiIt.next(); if (overlappedRfi.getStatus().equals("Approved")) { message += "Overlap: " + overlappedRfi.getIssueDateAsText() + " Approved RFI Number = " + overlappedRfi.getRfiNumber() + ", Appr From = " + overlappedRfi.getApprovedFrom() + ", Appr To = " + overlappedRfi.getApprovedTo() + "\n"; } else { message += "Overlap: " + overlappedRfi.getIssueDateAsText() + " In Process RFI Number = " + overlappedRfi.getRfiNumber() + ", From = " + overlappedRfi.getFromChainage() + ", To = " + overlappedRfi.getToChainage() + "\n"; } } response.setContentType("text/xml"); System.out.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<rfi><status>error</status><message>" + message + "</message></rfi>"); out.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<rfi><status>error</status><message>" + message + "</message></rfi>"); out.close(); } else { rfi = rfiService.add(rfi); int generatedRfiNumber = Integer.parseInt(rfi.getRfiNumber()); int nextRfiNumber = generatedRfiNumber + 1; System.out.println("Next rfi number is " + nextRfiNumber); response.setContentType("text/xml"); System.out.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<nextRfiNumber>" + nextRfiNumber + "</nextRfiNumber><status>true</status>"); out.println( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<rfi><generatedRfiNumber>" + generatedRfiNumber + "</generatedRfiNumber><nextRfiNumber>" + nextRfiNumber + "</nextRfiNumber><status>true</status></rfi>"); out.close(); } return null; // return new ModelAndView("rfiSuccess","rfi",rfi); // return new ModelAndView("redirect:addRFI.htm"); } catch (Exception e) { System.out.println("skdjaldj \n"); e.printStackTrace(); throw e; } }