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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 602 - (hide annotations) (download)
Sun Feb 21 20:31:20 2010 UTC (14 years, 3 months ago) by torben
File size: 2840 byte(s)
Very basic picture service
1 torben 602 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