/[projects]/android/PicturePosterService/src/dk/thoerup/pictureposterservice/PostServlet.java
ViewVC logotype

Contents of /android/PicturePosterService/src/dk/thoerup/pictureposterservice/PostServlet.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 602 - (show annotations) (download)
Sun Feb 21 20:31:20 2010 UTC (14 years, 2 months ago) by torben
File size: 2840 byte(s)
Very basic picture service
1 package dk.thoerup.pictureposterservice;
2
3 import java.io.ByteArrayOutputStream;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.UnsupportedEncodingException;
8 import java.net.URLDecoder;
9 import java.util.Date;
10 import java.util.Map;
11 import java.util.TreeMap;
12 import java.util.logging.Logger;
13
14 import javax.servlet.ServletException;
15 import javax.servlet.http.HttpServlet;
16 import javax.servlet.http.HttpServletRequest;
17 import javax.servlet.http.HttpServletResponse;
18
19 import com.oreilly.servlet.multipart.FilePart;
20 import com.oreilly.servlet.multipart.MultipartParser;
21 import com.oreilly.servlet.multipart.ParamPart;
22 import com.oreilly.servlet.multipart.Part;
23
24 /**
25 * Servlet implementation class PostServlet
26 */
27 public class PostServlet extends HttpServlet {
28 private static final long serialVersionUID = 1L;
29 Logger logger = Logger.getLogger(PostServlet.class.getName());
30
31 protected Map<String,String> decodeString(String str) throws UnsupportedEncodingException {
32 Map<String,String> map = new TreeMap<String,String>();
33
34 String[] pairs = str.split("&");
35 for (String pair : pairs) {
36 String keyValue[] = pair.split("=");
37 String key = keyValue[0];
38
39 String val = URLDecoder.decode(keyValue[1], "UTF-8");
40 map.put(key, val);
41 }
42
43 return map;
44 }
45
46 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
47 MultipartParser parser = new MultipartParser(request,1000000);
48
49 Map<String,String> values = null;
50 byte file[] = null;
51
52 Part part;
53 while ( (part= parser.readNextPart()) != null) {
54 if (part.getName().equals("file") ) {
55 FilePart fpart = (FilePart) part;
56 ByteArrayOutputStream baos = new ByteArrayOutputStream(128000);
57 InputStream is = fpart.getInputStream();
58
59 byte data[] = new byte[8192];
60 int len;
61 while ( (len = is.read(data)) !=-1 ) {
62 baos.write(data, 0, len);
63 }
64 is.close();
65 file = baos.toByteArray();
66 baos.close();
67
68 } else {
69 ParamPart params = (ParamPart) part;
70 values = decodeString( params.getStringValue() );
71 }
72 }
73
74 Posting post = new Posting();
75 post.setTitle( values.get("title") );
76 post.setNote( values.get("note") );
77 post.setAuthor(values.get("author"));
78 if ( !values.get("latitude").equals("") ) {
79 post.setLatitude( Double.parseDouble(values.get("latitude")) );
80 }
81 if ( !values.get("longitude").equals("") ) {
82 post.setLongitude( Double.parseDouble(values.get("longitude")) );
83 }
84
85 post.setPostdate( new Date() ); // now()
86
87
88 PostingDAO.savePosting(post);
89 logger.info("Saved with postID=" +post.getId());
90
91 String fileName = "/home/app/data/PicturePoster/" + post.getId() + ".jpeg";
92
93 FileOutputStream fo = new FileOutputStream(fileName);
94 fo.write(file);
95 }
96
97 }

  ViewVC Help
Powered by ViewVC 1.1.20