Advertisement
oquidave

buffered_reader_issue_appengine

Jul 30th, 2013
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.79 KB | None | 0 0
  1. public void doPost(HttpServletRequest req, HttpServletResponse res)
  2.               throws ServletException, IOException {
  3.             try {
  4.               ServletFileUpload upload = new ServletFileUpload();
  5.               res.setContentType("text/plain");
  6.  
  7.               FileItemIterator iterator = upload.getItemIterator(req);
  8.               BufferedReader reader = null;
  9.               String themeName = null;
  10.              
  11.               while (iterator.hasNext()) {
  12.                
  13.                 FileItemStream item = iterator.next();
  14.                 InputStream stream = item.openStream();
  15.  
  16.                 if (item.isFormField()) {
  17.                   //regular form field
  18.                   //res.getWriter().println(("Form:" + name + " : " + Streams.asString(stream)));
  19.                    
  20.                     String fieldName = item.getFieldName();
  21.                     String fieldValue = Streams.asString(stream);
  22.                     //System.out.println("fieldName: " + fieldName + "\nfieldValue: " + fieldValue);
  23.                    
  24.                     themeName = fieldValue.trim().toLowerCase().replaceAll("\\s", "");
  25.                     //System.out.println("\n themeName: " + themeName);
  26.                    
  27.                 }else {
  28.                   //fileform field
  29.                     System.out.println("got a file form field");
  30.                     reader = new BufferedReader(new InputStreamReader(stream));
  31.                     //fileExtract(reader);
  32.                 }
  33.  
  34.               }//close while loop
  35.              
  36.               //System.out.println("\n themeName: " + themeName + "\nreader: " + reader.toString());
  37.               fileExtract(reader, themeName);
  38.              
  39.             } catch (Exception ex) {
  40.               throw new ServletException(ex);
  41.             }
  42.         }
  43.    
  44.  
  45. public void fileExtract(BufferedReader reader, String themeName) {
  46.  
  47.         try {
  48.  
  49.             String line;
  50.             int counter = 0;
  51.             String titlePattern = "#";
  52.  
  53.             // create a hashmap
  54.             HashMap<String, String> verse = new HashMap<String, String>();
  55.  
  56.             while ((line = reader.readLine()) != null) {
  57.                 line = line.trim();
  58.                 if (line.equals("")) {
  59.                     continue;
  60.                 }
  61.  
  62.                 if (findPatter(line, titlePattern)) {
  63.                     counter = 1;
  64.                     // remove the hash symbol
  65.                     line = line.replaceAll("#", "");
  66.                     // System.out.println(line);
  67.                 }
  68.  
  69.                 String key = null;
  70.                 if (counter == 1) {
  71.                     key = "verseTitle";
  72.                 } else if (counter == 2) {
  73.                     key = "verseRef";
  74.                 } else if (counter == 3) {
  75.                     key = "verseBody";
  76.                 }
  77.  
  78.                 verse.put(key, line);
  79.  
  80.                 // System.out.println("Counter: " + counter);
  81.                 // System.out.println(line);
  82.  
  83.                 counter++;
  84.                 if (counter == 4) {
  85.                     // reset the counter
  86.                     counter = 1;
  87.                     // store the verse details
  88.                     saveVerse(verse, entityKind);
  89.                     // clear the hashmap
  90.                     verse.clear();
  91.                 }
  92.  
  93.             }
  94.  
  95.         } catch (FileNotFoundException e) {
  96.             // TODO Auto-generated catch block
  97.             e.printStackTrace();
  98.         } catch (IOException e) {
  99.             // TODO Auto-generated catch block
  100.             e.printStackTrace();
  101.         }
  102.  
  103.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement