Advertisement
oquidave

buffered_reader_issue_appengine

Jul 30th, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.     }
  104.  
  105. //traceback
  106. INFO: Dev App Server is now running
  107. got a file form fieldorg.apache.commons.fileupload.FileItemStream$ItemSkippedException
  108.  
  109.     at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:894)
  110.     at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
  111.     at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
  112.     at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
  113.     at java.io.InputStreamReader.read(InputStreamReader.java:184)
  114.     at java.io.BufferedReader.fill(BufferedReader.java:154)
  115.     at java.io.BufferedReader.readLine(BufferedReader.java:317)
  116.     at java.io.BufferedReader.readLine(BufferedReader.java:382)
  117.     at com.versefeed.main.SaveVerseServlet.fileExtract(SaveVerseServlet.java:71)
  118.     at com.versefeed.main.SaveVerseServlet.doPost(SaveVerseServlet.java:205)
  119.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
  120.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  121.     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
  122.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
  123.     at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
  124.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  125.     at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
  126.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  127.     at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
  128.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  129.     at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
  130.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  131.     at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
  132.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  133.     at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
  134.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  135.     at com.google.appengine.tools.development.DevAppServerServersFilter.doDirectRequest(DevAppServerServersFilter.java:369)
  136.     at com.google.appengine.tools.development.DevAppServerServersFilter.doDirectServerRequest(DevAppServerServersFilter.java:352)
  137.     at com.google.appengine.tools.development.DevAppServerServersFilter.doFilter(DevAppServerServersFilter.java:115)
  138.     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
  139.     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
  140.     at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
  141.     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
  142.     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
  143.     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
  144.     at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:97)
  145.     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  146.     at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:480)
  147.     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
  148.     at org.mortbay.jetty.Server.handle(Server.java:326)
  149.     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
  150.     at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
  151.     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
  152.     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
  153.     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
  154.     at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
  155.     at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement