Advertisement
gauravpaliwal

Untitled

Jul 21st, 2011
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.80 KB | None | 0 0
  1. /**
  2. * The contents of this file are subject to the OpenMRS Public License
  3. * Version 1.0 (the "License"); you may not use this file except in
  4. * compliance with the License. You may obtain a copy of the License at
  5. * http://license.openmrs.org
  6. *
  7. * Software distributed under the License is distributed on an "AS IS"
  8. * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
  9. * License for the specific language governing rights and limitations
  10. * under the License.
  11. *
  12. * Copyright (C) OpenMRS, LLC. All Rights Reserved.
  13. */
  14.  
  15. package org.openmrs.module.feedback.web;
  16.  
  17. import java.util.HashMap;
  18. import java.util.Map;
  19.  
  20. import javax.servlet.http.HttpServletRequest;
  21.  
  22. import org.apache.commons.logging.Log;
  23. import org.apache.commons.logging.LogFactory;
  24. import org.openmrs.api.context.Context;
  25. import org.openmrs.module.feedback.Feedback;
  26. import org.openmrs.module.feedback.FeedbackService;
  27. import org.springframework.web.bind.ServletRequestUtils;
  28. import org.springframework.web.multipart.MultipartFile;
  29. import org.springframework.web.multipart.MultipartHttpServletRequest;
  30. import org.springframework.web.servlet.mvc.SimpleFormController;
  31.  
  32. public class AddFeedbackFormController extends SimpleFormController {
  33.  
  34. /** Logger for this class and subclasses */
  35. protected final Log log = LogFactory.getLog(getClass());
  36.  
  37. @Override
  38. protected Boolean formBackingObject(HttpServletRequest request) throws Exception {
  39.  
  40. /*To check wheather or not the subject , severity and feedback is empty or not*/
  41. Boolean feedbackMessage = false ;
  42. String text = "";
  43.  
  44. if (request.getParameter("subject") != null && request.getParameter("severity") != null && request.getParameter("feedback") != null )
  45. {
  46. Object o = Context.getService(FeedbackService.class);
  47. FeedbackService service = (FeedbackService)o;
  48. Feedback s = new Feedback() ;
  49. s.setSubject(request.getParameter("subject"));
  50. s.setSeverity(request.getParameter("severity"));
  51.  
  52. /*To get the Stacktrace of the page from which the feedback is submitted*/
  53.  
  54. StackTraceElement[] c = Thread.currentThread().getStackTrace() ;
  55. String feedback = request.getParameter("feedback") ;
  56. for (int i = 0 ; i < c.length ; i++ ){
  57. feedback = feedback + "\n" + c[i].getFileName() + c[i].getMethodName() + c[i].getClass() + c[i].getLineNumber() ;
  58. }
  59.  
  60. /*The feedback content length can't be greater then the 5000 characters , in case it is more then that then it is truncated to the first 5000 characters*/
  61.  
  62. s.setContent( feedback );
  63.  
  64. /*file upload in multiplerequest*/
  65. if (request instanceof MultipartHttpServletRequest)
  66. {
  67. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  68. MultipartFile file = (MultipartFile) multipartRequest.getFile("file");
  69.  
  70. if ( !file.isEmpty() )
  71. {
  72. if (file.getSize() <= 5242880 )
  73. {
  74. if (file.getOriginalFilename().endsWith(".jpeg")||file.getOriginalFilename().endsWith(".jpg")|| file.getOriginalFilename().endsWith(".gif")|| file.getOriginalFilename().endsWith(".png"))
  75. {
  76. s.setMessage(file.getBytes());
  77. }
  78. else
  79. {
  80. return false ;
  81. }
  82. }
  83. else
  84. {
  85. return false ;
  86. }
  87. }
  88.  
  89. }
  90. /*Save the Feedback*/
  91. service.saveFeedback(s) ;
  92.  
  93. feedbackMessage = true;
  94.  
  95.  
  96. }
  97. /*Reserved for future use for showing that the data is saved and the feedback is submitted*/
  98.  
  99. log.debug("Returning hello world text: " + text);
  100.  
  101. return feedbackMessage;
  102.  
  103. }
  104.  
  105. @Override
  106. protected Map referenceData(HttpServletRequest req) throws Exception {
  107.  
  108. Map<String, Object> map = new HashMap<String, Object>();
  109. /*Return List of Predefined Subjects and Severities for the feedback submission form*/
  110.  
  111. FeedbackService hService = (FeedbackService)Context.getService(FeedbackService.class);
  112. map.put("predefinedsubjects", hService.getPredefinedSubjects()) ;
  113. map.put("severities", hService.getSeverities() ) ;
  114. if (req.getParameter("feedbackPageMessage")!= null && ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
  115. {
  116. map.put("feedbackPageMessage", "feedback.notification.feedback.save" ) ;
  117. }
  118. else if (req.getParameter("feedbackPageMessage")!= null && !ServletRequestUtils.getBooleanParameter(req, "feedbackPageMessage"))
  119. {
  120. map.put("feedbackPageMessage", "feedback.notification.feedback.error" ) ;
  121. }
  122. else
  123. {
  124. map.put("feedbackPageMessage", "" ) ;
  125. }
  126. return map;
  127.  
  128. }
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement