]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/node.rb
Merge branch 'master' into openstreetbugs
[rails.git] / app / models / node.rb
index eeb6e6da5d0af7e784dd81c175e0d0dc80db3878..df6442b833405140075cb43b2f65b557551c5b80 100644 (file)
@@ -70,6 +70,7 @@ class Node < ActiveRecord::Base
       doc.find('//osm/node').each do |pt|
         return Node.from_xml_node(pt, create)
       end
       doc.find('//osm/node').each do |pt|
         return Node.from_xml_node(pt, create)
       end
+      raise OSM::APIBadXMLError.new("node", xml, "XML doesn't contain an osm/node element.")
     rescue LibXML::XML::Error, ArgumentError => ex
       raise OSM::APIBadXMLError.new("node", xml, ex.message)
     end
     rescue LibXML::XML::Error, ArgumentError => ex
       raise OSM::APIBadXMLError.new("node", xml, ex.message)
     end
@@ -105,6 +106,8 @@ class Node < ActiveRecord::Base
     node.visible = true
 
     pt.find('tag').each do |tag|
     node.visible = true
 
     pt.find('tag').each do |tag|
+      raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag['k'].nil?
+      raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag['v'].nil?
       node.add_tag_key_val(tag['k'],tag['v'])
     end
 
       node.add_tag_key_val(tag['k'],tag['v'])
     end