change mime type and reformat search controller
authorSteve Coast <steve@asklater.com>
Wed, 18 Apr 2007 11:25:59 +0000 (11:25 +0000)
committerSteve Coast <steve@asklater.com>
Wed, 18 Apr 2007 11:25:59 +0000 (11:25 +0000)
app/controllers/api_controller.rb
app/controllers/node_controller.rb
app/controllers/old_node_controller.rb
app/controllers/old_segment_controller.rb
app/controllers/old_way_controller.rb
app/controllers/search_controller.rb
app/controllers/segment_controller.rb
app/controllers/way_controller.rb

index 976c8bd03c683d06b9187db02942367aab6f33f8..3cebdcf5319bc6ff6c002ce4b769809f1934a703 100644 (file)
@@ -7,7 +7,7 @@ class ApiController < ApplicationController
   MAX_REQUEST_AREA = 0.25
 
   def map
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     # Figure out the bbox
     bbox = params['bbox']
     unless bbox and bbox.count(',') == 3
index bd81c9aa2cc0e9ee0f6f5cf75fdb5e56304feb4b..cc29c09e52422f90c167fb89734a5067de384bc1 100644 (file)
@@ -5,7 +5,7 @@ class NodeController < ApplicationController
   after_filter :compress_output
 
   def create\r
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     if request.put?
       node = nil
       begin
@@ -35,7 +35,7 @@ class NodeController < ApplicationController
   end
 
   def rest
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     unless Node.exists?(params[:id])
       render :nothing => true, :status => 404
       return
@@ -89,7 +89,7 @@ class NodeController < ApplicationController
   end
 
   def nodes
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     ids = params['nodes'].split(',').collect {|n| n.to_i }
     if ids.length > 0
       nodelist = Node.find(ids)
index 2c0cca9bbbddc86ad573c5893575da0bd702d234..d8a833b1da7de86e3045212a9b19d1a5d04228c9 100644 (file)
@@ -1,7 +1,7 @@
 class OldNodeController < ApplicationController
 
   def history
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     node = Node.find(params[:id])
 
     unless node
index a35a622f975d846575c63e80012652d8d287e849..1f64987ed6402f9647ad01bf7f14984cf775741b 100644 (file)
@@ -1,7 +1,7 @@
 class OldSegmentController < ApplicationController
 
   def history
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     segment = Segment.find(params[:id])
 
     unless segment
index 8eca507ef91b96c12aee0198debec05d24861f8c..451ddf4ea0ba9256c74213956703799e444999d9 100644 (file)
@@ -1,6 +1,6 @@
 class OldWayController < ApplicationController
   def history
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     way = Way.find(params[:id])
 
     unless way
index eaf1c58948b3333e18a18675e79cf86a3ce68bfa..f88340fb6a6c3a49f6131950e637569f77a31bc3 100644 (file)
@@ -22,17 +22,17 @@ class SearchController < ApplicationController
 
 
   def do_search(do_ways,do_segments,do_nodes)
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
 
     type = params['type']
     value = params['value']
-       unless type or value
-               name = params['name']
-               if name
-                       type = 'name'
-                       value = name
-               end
-       end
+    unless type or value
+      name = params['name']
+      if name
+        type = 'name'
+        value = name
+      end
+    end
 
     way_ids = Array.new
     ways = Array.new
@@ -43,49 +43,49 @@ class SearchController < ApplicationController
     cond_tbl = Array.new
     sql = '1=1'
     if type
-          sql += ' AND k=?'
-          cond_tbl += [type]
+      sql += ' AND k=?'
+      cond_tbl += [type]
     end
     if value
-          sql += ' AND v=?'
-          cond_tbl += [value]
+      sql += ' AND v=?'
+      cond_tbl += [value]
     end
     cond_tbl = [sql] + cond_tbl
 
     # Matching for tags column
     if type and value
-       cond_tags = ['tags LIKE ? OR tags LIKE ? OR tags LIKE ? OR tags LIKE ?', 
-                      ''+type+'='+value+'',
-                      ''+type+'='+value+';%',
-                      '%;'+type+'='+value+';%',
-                      '%;'+type+'='+value+'' ]
-       elsif type
-       cond_tags = ['tags LIKE ? OR tags LIKE ?',
-                      ''+type+'=%',
-                      '%;'+type+'=%' ]
-       elsif value
-       cond_tags = ['tags LIKE ? OR tags LIKE ?',
-                      '%='+value+';%',
-                      '%='+value+'' ]
+      cond_tags = ['tags LIKE ? OR tags LIKE ? OR tags LIKE ? OR tags LIKE ?', 
+      ''+type+'='+value+'',
+      ''+type+'='+value+';%',
+      '%;'+type+'='+value+';%',
+      '%;'+type+'='+value+'' ]
+    elsif type
+      cond_tags = ['tags LIKE ? OR tags LIKE ?',
+      ''+type+'=%',
+      '%;'+type+'=%' ]
+    elsif value
+      cond_tags = ['tags LIKE ? OR tags LIKE ?',
+      '%='+value+';%',
+      '%='+value+'' ]
     else
-       cond_tags = ['1=1']
+      cond_tags = ['1=1']
     end
-    
 
-       # First up, look for the ids of the ways we want
-       if do_ways
-       ways_tmp = WayTag.find(:all, :conditions => cond_tbl)
-       way_ids = ways_tmp.collect {|way| way.id }
+
+    # First up, look for the ids of the ways we want
+    if do_ways
+      ways_tmp = WayTag.find(:all, :conditions => cond_tbl)
+      way_ids = ways_tmp.collect {|way| way.id }
     end
 
     # Now, segments matching
-       if do_segments
-       segs = Segment.find(:all, :conditions => cond_tags)
+    if do_segments
+      segs = Segment.find(:all, :conditions => cond_tags)
     end
 
     # Now, nodes
-       if do_nodes
-       nodes = Node.find(:all, :conditions => cond_tags)
+    if do_nodes
+      nodes = Node.find(:all, :conditions => cond_tags)
     end
 
     # Get the remaining objects:
@@ -93,22 +93,22 @@ class SearchController < ApplicationController
     ways = Way.find(way_ids)
 
     # Fetch any segments needed for our ways (only have matching segments so far)
-       seg_ids = Array.new
+    seg_ids = Array.new
     ways.each do |way|
-           seg_ids += way.segments
+      seg_ids += way.segments
     end
     segments += Segment.find(seg_ids)
 
     # Fetch any nodes needed for our segments (only have matching nodes so far)
     node_ids = Array.new
     segments.each do |seg|
-        node_ids += seg.node_a
-        node_ids += seg.node_b
+      node_ids += seg.node_a
+      node_ids += seg.node_b
     end
     nodes += Node.find(node_ids)
 
 
-       # Print
+    # Print
     doc = OSM::API.get_xml_doc
     nodes.each do |node|
       doc.root << node.to_xml_node()
index 76cb5cebb44e6fbea5e97c64135b92282b25b108..28c7580df370db0a691c21e41e0efa85fe024685 100644 (file)
@@ -5,7 +5,7 @@ class SegmentController < ApplicationController
   after_filter :compress_output
 
   def create
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     if request.put?
       segment = Segment.from_xml(request.raw_post, true)
 
@@ -36,7 +36,7 @@ class SegmentController < ApplicationController
   end
 
   def rest
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     unless Segment.exists?(params[:id])
       render :nothing => true, :status => 404
       return
@@ -81,7 +81,7 @@ class SegmentController < ApplicationController
   end
 
   def segments
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     ids = params['segments'].split(',').collect {|s| s.to_i }
     if ids.length > 0
       segmentlist = Segment.find(ids)
index 8daac7cc2c543487a4015bbdd7c478d9ec3fee8e..875a29583293dd49dcffab7c40756334d57642cc 100644 (file)
@@ -86,7 +86,7 @@ class WayController < ApplicationController
   end
 
   def ways
-    response.headers["Content-Type"] = 'application/xml'
+    response.headers["Content-Type"] = 'text/xml'
     ids = params['ways'].split(',').collect {|w| w.to_i }
     if ids.length > 0
       waylist = Way.find(ids)