Doing a resync from mainline 8633:10895. There was one simple to resolve conflict...
authorShaun McDonald <shaun@shaunmcdonald.me.uk>
Thu, 25 Sep 2008 15:06:05 +0000 (15:06 +0000)
committerShaun McDonald <shaun@shaunmcdonald.me.uk>
Thu, 25 Sep 2008 15:06:05 +0000 (15:06 +0000)
16 files changed:
1  2 
app/controllers/api_controller.rb
app/controllers/application.rb
app/models/node.rb
app/models/old_way.rb
app/models/relation.rb
app/models/way.rb
config/environment.rb
config/routes.rb
db/migrate/016_add_timestamp_indexes.rb
db/migrate/017_populate_node_tags_and_remove.rb
db/migrate/017_populate_node_tags_and_remove_helper.c
db/migrate/018_move_to_innodb.rb
db/migrate/019_key_constraints.rb
db/migrate/020_add_changesets.rb
lib/geo_record.rb
lib/osm.rb

Simple merge
Simple merge
index c8770922d7b38b1547b6d3f49a05a8f0ab95c546,cec755f4765bfc35e9679256934512be093f74da..6770231790735b0ffc4e3f1957e5d4598de8e3df
@@@ -17,8 -17,9 +17,11 @@@ class Node < ActiveRecord::Bas
    has_many :way_nodes
    has_many :ways, :through => :way_nodes
  
 +  has_many :node_tags, :foreign_key => :id
 +  
+   has_many :old_way_nodes
+   has_many :ways_via_history, :class_name=> "Way", :through => :old_way_nodes, :source => :way
    has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
    has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation, :extend => ObjectFinder
  
Simple merge
Simple merge
index 34afc6585041e7fa3c723dc08bde40a8b24af83c,958944200df628054c67c6c0eb8e60105d99bb38..3bc8bcebec9f7b99b7c318d594a18d2307556260
@@@ -249,20 -234,9 +249,11 @@@ class Way < ActiveRecord::Bas
    end
  
    # delete a way and it's nodes that aren't part of other ways, with history
 +
 +  # FIXME: merge the potlatch code to delete the relations
    def delete_with_relations_and_nodes_and_history(user)
-     
-     node_ids = self.nodes.collect {|node| node.id }
-     node_ids_not_to_delete = []
-     way_nodes = WayNode.find(:all, :conditions => "node_id in (#{node_ids.join(',')}) and id != #{self.id}")
-     
-     node_ids_not_to_delete = way_nodes.collect {|way_node| way_node.node_id}
-     node_ids_to_delete = node_ids - node_ids_not_to_delete
      # delete the nodes not used by other ways
-     node_ids_to_delete.each do |node_id|
+     self.unshared_node_ids.each do |node_id|
        n = Node.find(node_id)
        n.user_id = user.id
        n.visible = false
      
      self.user_id = user.id
  
 -    self.delete_with_relations_and_history(user)
 +    self.delete_with_history(user)
+   end
+   # Find nodes that belong to this way only
+   def unshared_node_ids
+     node_ids = self.nodes.collect { |node| node.id }
+     unless node_ids.empty?
+       way_nodes = WayNode.find(:all, :conditions => "node_id in (#{node_ids.join(',')}) and id != #{self.id}")
+       node_ids = node_ids - way_nodes.collect { |way_node| way_node.node_id }
+     end
  
+     return node_ids
    end
  
    # Temporary method to match interface to nodes
Simple merge
Simple merge
index c6b3bc7c2cd3e303f606dabd234483bcd6750b1b,0000000000000000000000000000000000000000..c6b3bc7c2cd3e303f606dabd234483bcd6750b1b
mode 100644,000000..100644
--- /dev/null
index 29a91c70be47ddc140cfd1412ceac18c5dac0e59,0000000000000000000000000000000000000000..29a91c70be47ddc140cfd1412ceac18c5dac0e59
mode 100644,000000..100644
--- /dev/null
index 5a0fbb6cd97094ead01e67c96770c6b426b4c518,0000000000000000000000000000000000000000..5a0fbb6cd97094ead01e67c96770c6b426b4c518
mode 100644,000000..100644
--- /dev/null
index c551b0ef812cb3ee09e3d9fa27ea336f2ad16000,0000000000000000000000000000000000000000..c551b0ef812cb3ee09e3d9fa27ea336f2ad16000
mode 100644,000000..100644
--- /dev/null
index 40f98be02b9eb3dd61cc0538612fff288d353492,0000000000000000000000000000000000000000..40f98be02b9eb3dd61cc0538612fff288d353492
mode 100644,000000..100644
--- /dev/null
index 40455ec688bea5dad2a0ea61bf8ffe8337571f74,0000000000000000000000000000000000000000..40455ec688bea5dad2a0ea61bf8ffe8337571f74
mode 100644,000000..100644
--- /dev/null
index 286ce69e14a411bb6f1f9214bc678758b3496f79,f1a923c42c1e48b3b0de75d2e67b744bdecea23a..2740eab0c5472da4c76d95128c5f8253dd440cbb
@@@ -39,18 -34,9 +39,9 @@@ module GeoRecor
  
    # Return WGS84 longitude
    def lon
 -    return self.longitude.to_f / 10000000
 +    return self.longitude.to_f / SCALE
    end
  
-   # Potlatch projections
-   def lon_potlatch(baselong,masterscale)
-     (self.lon-baselong)*masterscale
-   end
-   def lat_potlatch(basey,masterscale)
-     -(lat2y(self.lat)-basey)*masterscale
-   end
-   
  private
    
    def lat2y(a)
diff --cc lib/osm.rb
Simple merge