Android Open Source - GeoTagger Callback Servlet






From Project

Back to project page GeoTagger.

License

The source code is released under:

GNU General Public License

If you think the Android project GeoTagger listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package horizon.geotagger.server;
//  ww  w  . ja  v  a2  s .c om
import horizon.geotagger.Base64;
import horizon.geotagger.PMF;
import horizon.geotagger.model.Attachment;
import horizon.geotagger.model.Place;
import horizon.geotagger.model.Tag;

import java.io.BufferedInputStream;
import java.io.IOException;

import javax.jdo.PersistenceManager;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;

import com.google.appengine.api.datastore.Blob;

public class CallbackServlet
extends HttpServlet
{
  private static final long serialVersionUID = 1030756850358949459L;
  
  private static Logger logger = Logger.getLogger(CallbackServlet.class);
    
  @Override
  protected void doPost(
      HttpServletRequest request, HttpServletResponse response)
  throws  ServletException,
      IOException
  {
    doPut(request, response);
  }

  @Override
  protected void doPut(
      HttpServletRequest request, HttpServletResponse response)
  throws  ServletException,
      IOException
  {
    BufferedInputStream in = new BufferedInputStream(
        request.getInputStream());
    
    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(in);
    
    logger.debug(root.toString());
    
    in.close();
    
    JsonNode att = root.get("thing").get("atts").get(0);
    String mime = att.get("mime").getTextValue();
    JsonNode jplace = root.get("place");
    
    String body64 = att.get("body").getTextValue();
    byte[] body = Base64.decode(body64);

    Tag tag = new Tag();
    Place place = new Place();
    Attachment attachment = new Attachment();
    tag.setAttachment(attachment);
    tag.setPlace(place);
    attachment.setData(new Blob(body));
    
    if(mime.equals("text/plain"))
      attachment.setType(Attachment.Type.Text);
    else if(mime.equals("image/jpeg"))
      attachment.setType(Attachment.Type.Image);
    else
      throw new RuntimeException("Unknown mime-type: " + mime);
    
    place.setLatitude(jplace.get("lat").getDoubleValue());
    place.setLongitude(jplace.get("lon").getDoubleValue());
    
    PersistenceManager pm = PMF.get().getPersistenceManager();
    pm.makePersistent(tag);    
  }
}




Java Source Code List

horizon.android.logging.Logger.java
horizon.geotagger.AlertService.java
horizon.geotagger.Base64.java
horizon.geotagger.GeoTagger.java
horizon.geotagger.GeoTagger.java
horizon.geotagger.GeoUtils.java
horizon.geotagger.GeoUtils.java
horizon.geotagger.JavaLoggingAppender.java
horizon.geotagger.JspUtils.java
horizon.geotagger.PMF.java
horizon.geotagger.PersconServiceConnection.java
horizon.geotagger.model.Attachment.java
horizon.geotagger.model.Attachment.java
horizon.geotagger.model.Place.java
horizon.geotagger.model.Place.java
horizon.geotagger.model.Tag.java
horizon.geotagger.model.Tag.java
horizon.geotagger.server.AddTagServlet.java
horizon.geotagger.server.CallbackServlet.java
horizon.geotagger.server.DataBinder.java
horizon.geotagger.server.ModelAndView.java
horizon.geotagger.server.ServletWithView.java
horizon.geotagger.server.TagsAtPointData.java
horizon.geotagger.server.TagsAtPointServlet.java
horizon.geotagger.server.TagsInBoxData.java
horizon.geotagger.server.TagsInBoxServlet.java
horizon.geotagger.view.CameraSurfaceView.java
horizon.geotagger.view.DoImageTagView.java
horizon.geotagger.view.DoTagView.java
horizon.geotagger.view.DoTextTagView.java
horizon.geotagger.view.MapView.java
horizon.geotagger.view.TagOverlay.java
horizon.geotagger.view.TagView.java