/* the class constructor */ function SpatialDataQuery(plugin) { /* named constants */ this.icao = "icao"; this.stationid = "stationid"; /* the query objects */ this.asciiResponse = false; this.plugin = (plugin!=null)?plugin:"obs"; this.spatial = new SpatialQuery(); this.query = new TermQuery(this.plugin); } /* the execute function */ function _execute() { var response = this.spatial.execute(); if (response.size() == 0 || response.get(this.icao).size() == 0) { return this.makeNullResponse(null); } var icaos = this.listToString(response.get(this.icao),","); this.query.addParameter(this.stationid,icaos,"in"); this.query.setCount(0); var result = this.query.execute(); if (result.size() == 0) { return this.makeNullResponse(this.query); } else if (this.asciiResponse) { return this.makeAsciiResponse(result); } else { return this.makeXmlResponse(result); } } /* converts a List to a string */ function _listToString(list,sep){ var string = new Array(); for (i=0;i