Allow exceptions processing node and segment requests to propagate and

be handled by the default handler so they are logged.
This commit is contained in:
Tom Hughes 2007-08-31 10:11:15 +00:00
parent 786bc55209
commit 0975858cdb
4 changed files with 24 additions and 62 deletions

View file

@ -13,12 +13,9 @@ class NodeController < ApplicationController
if node if node
node.user_id = @user.id node.user_id = @user.id
node.visible = true node.visible = true
node.save_with_history!
if node.save_with_history render :text => node.id.to_s, :content_type => "text/plain"
render :text => node.id.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :internal_server_error
end
else else
render :nothing => true, :status => :bad_request render :nothing => true, :status => :bad_request
end end
@ -38,8 +35,6 @@ class NodeController < ApplicationController
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end
@ -55,12 +50,9 @@ class NodeController < ApplicationController
node.latitude = new_node.latitude node.latitude = new_node.latitude
node.longitude = new_node.longitude node.longitude = new_node.longitude
node.tags = new_node.tags node.tags = new_node.tags
node.save_with_history!
if node.save_with_history render :nothing => true
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
else else
render :nothing => true, :status => :bad_request render :nothing => true, :status => :bad_request
end end
@ -69,8 +61,6 @@ class NodeController < ApplicationController
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end
@ -84,7 +74,8 @@ class NodeController < ApplicationController
else else
node.user_id = @user.id node.user_id = @user.id
node.visible = 0 node.visible = 0
node.save_with_history node.save_with_history!
render :nothing => true render :nothing => true
end end
else else
@ -92,8 +83,6 @@ class NodeController < ApplicationController
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end

View file

@ -19,12 +19,9 @@ class SegmentController < ApplicationController
segment.user_id = @user.id segment.user_id = @user.id
segment.from_node = Node.find(segment.node_a.to_i) segment.from_node = Node.find(segment.node_a.to_i)
segment.to_node = Node.find(segment.node_b.to_i) segment.to_node = Node.find(segment.node_b.to_i)
segment.save_with_history!
if segment.save_with_history render :text => segment.id.to_s, :content_type => "text/plain"
render :text => segment.id.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :internal_server_error
end
end end
else else
render :nothing => true, :status => :bad_request render :nothing => true, :status => :bad_request
@ -45,8 +42,6 @@ class SegmentController < ApplicationController
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end
@ -68,12 +63,9 @@ class SegmentController < ApplicationController
segment.node_b = new_segment.node_b segment.node_b = new_segment.node_b
segment.tags = new_segment.tags segment.tags = new_segment.tags
segment.visible = new_segment.visible segment.visible = new_segment.visible
segment.save_with_history!
if segment.save_with_history render :nothing => true
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
end end
else else
render :nothing => true, :status => :bad_request render :nothing => true, :status => :bad_request
@ -83,8 +75,6 @@ class SegmentController < ApplicationController
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end
@ -98,20 +88,15 @@ class SegmentController < ApplicationController
else else
segment.user_id = @user.id segment.user_id = @user.id
segment.visible = 0 segment.visible = 0
segment.save_with_history!
if segment.save_with_history render :nothing => true
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
end end
else else
render :nothing => true, :status => :gone render :nothing => true, :status => :gone
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end end
end end

View file

@ -68,18 +68,12 @@ class Node < ActiveRecord::Base
return node return node
end end
def save_with_history def save_with_history!
begin Node.transaction do
Node.transaction do self.timestamp = Time.now
self.timestamp = Time.now self.save!
self.save! old_node = OldNode.from_node(self)
old_node = OldNode.from_node(self) old_node.save!
old_node.save!
end
return true
rescue
return nil
end end
end end

View file

@ -59,18 +59,12 @@ class Segment < ActiveRecord::Base
return segment return segment
end end
def save_with_history def save_with_history!
begin Segment.transaction do
Segment.transaction do self.timestamp = Time.now
self.timestamp = Time.now self.save!
self.save! old_segment = OldSegment.from_segment(self)
old_segment = OldSegment.from_segment(self) old_segment.save!
old_segment.save!
end
return true
rescue
return nil
end end
end end