package edu.isi.karma.webserver; import java.io.IOException; import java.io.PrintWriter; 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.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import edu.isi.karma.geospatial.SpatialReferenceSystemTransformationUtil; import edu.isi.karma.model.serialization.MimeType; public class SpatialReferenceSystemServiceHandler extends HttpServlet { private static final long serialVersionUID = 1L; private static Logger logger = Logger .getLogger(LinkedApiServiceHandler.class); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("Request URL: " + request.getRequestURI()); logger.debug("Request Path Info: " + request.getPathInfo()); logger.debug("Request Param: " + request.getQueryString()); String jsonOutput=null; String inGeomWKT = request.getParameter("geometry"); String fromSRID = request.getParameter("srid"); JSONObject obj=new JSONObject(); JSONArray arr=new JSONArray(); try { if(fromSRID=="4326" || fromSRID=="EPSG:4326") { obj.put("Geometry", inGeomWKT); obj.put("SRID", fromSRID); arr.put(obj); }else { String outGeomWKT = SpatialReferenceSystemTransformationUtil.Transform(inGeomWKT, fromSRID, "4326"); obj.put("Geometry", outGeomWKT); obj.put("SRID", 4326); arr.put(obj); } } catch (JSONException e) { logger.error("Cannot write JSON!",e); } jsonOutput=arr.toString(); /*Output the JSON content to Web Page*/ PrintWriter pw = response.getWriter(); response.setContentType(MimeType.APPLICATION_JSON); pw.write(jsonOutput); return; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // doPost; } /* private void openConnection(){ ConnectPostgis conPostgis = new ConnectPostgis(); //this.connection = conPostgis.ConnectingPostgis("jdbc:postgresql://fusion.isi.edu:54322/testGIS","karma","2xpd516"); this.connection = conPostgis.ConnectingPostgis("jdbc:postgresql://localhost:54321/testGIS","karma","2xpd516"); } private void closeConnection(Connection connection) { try { connection.close(); } catch (Exception ex) { ex.getMessage(); } }*/ }