- def to_xml
- doc = OSM::API.new.get_xml_doc
- doc.root << to_xml_node()
- return doc
- end
-
- def to_xml_node(visible_members = nil, changeset_cache = {}, user_display_name_cache = {})
- el = XML::Node.new 'relation'
- el['id'] = self.id.to_s
-
- add_metadata_to_xml_node(el, self, changeset_cache, user_display_name_cache)
-
- self.relation_members.each do |member|
- p=0
- if visible_members
- # if there is a list of visible members then use that to weed out deleted segments
- if visible_members[member.member_type][member.member_id]
- p=1
- end
- else
- # otherwise, manually go to the db to check things
- if member.member.visible?
- p=1
- end
- end
- if p
- member_el = XML::Node.new 'member'
- member_el['type'] = member.member_type.downcase
- member_el['ref'] = member.member_id.to_s
- member_el['role'] = member.member_role
- el << member_el
- end
+ # member_ref = member['ref']
+ # member_role
+ member["role"] ||= "" # Allow the upload to not include this, in which case we default to an empty string.
+ relation.add_member(member["type"].classify, member["ref"], member["role"])