<%-- -Copyright (C) 2004-2006 Autodesk, Inc. -This library is free software; you can redistribute it and/or -modify it under the terms of version 2.1 of the GNU Lesser -General Public License as published by the Free Software Foundation. -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA --%> <%@ page import="org.osgeo.mapguide.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="java.text.*" %> <%@ page import="javax.servlet.jsp.*" %> <%@ page import="javax.servlet.http.*" %> <%@ page import="org.json.*" %> <%@ include file ="../utilityfunctions.jsp" %> <%@ include file ="classes/query.jsp" %> <%@ include file ="classes/command.jsp" %> <% Map<String, String> args = new HashMap<String, String>(); Enumeration paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); String paramValue = request.getParameter(paramName); args.put(paramName, paramValue); } InitializeWebTier(); Query query = new Query(args); JSONArray json = new JSONArray(); JSONObject jsonObj = new JSONObject(); String responseType = ""; String responseString = ""; if(args.get("COMMAND") != null) { int cmd = Integer.valueOf(args.get("COMMAND")); switch (cmd) { case Command.GETLAYERPROPERTIES: responseType = "text/plain"; ArrayList<Property> arrayList = query.GetLayerProperties(); for(int i=0;i<arrayList.size();i++) { jsonObj.put("name", arrayList.get(i).name); jsonObj.put("isString", arrayList.get(i).isString); json.put(i, jsonObj.toString()); } responseString = json.toString(); break; case Command.TOGGLESPATIALFILTER: responseType = "text/plain"; responseString = json.put(query.ToggleSpatialFilter()).toString(); break; case Command.SHOWSPATIALFILTER: responseType = "text/plain"; responseString = json.put(query.ShowSpatialFilter()).toString(); break; case Command.EXECUTEQUERY: responseType = "text/plain"; ArrayList<Feature> resultList = query.Execute(); for(int i=0;i<resultList.size();i++) { jsonObj.put("displayValue", resultList.get(i).displayValue); jsonObj.put("centerX", resultList.get(i).centerX); jsonObj.put("centerY", resultList.get(i).centerY); jsonObj.put("idList", resultList.get(i).idList); json.put(i, jsonObj.toString()); } responseString = json.toString(); break; case Command.GETSELECTIONXML: responseType = "text/xml"; responseString = query.GetSelectionXML(); break; } } response.setContentType(responseType); out.print(responseString); out.flush(); %>