SHOW:
|
|
- or go back to the newest paste.
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 | - | } |
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) |