Initial Import: Database transaction handling.
Initial Import: Error handling using ewf error library. Added a CMS_ERROR_FILTER as part of registered filters of CMS_SERVICE
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
note
|
||||
description: "Error from database"
|
||||
date: "$Date: 2013-08-08 16:39:49 -0300 (ju. 08 de ago. de 2013) $"
|
||||
revision: "$Revision: 195 $"
|
||||
|
||||
class
|
||||
DATABASE_ERROR
|
||||
|
||||
inherit
|
||||
ERROR_CUSTOM
|
||||
|
||||
create
|
||||
make_from_message
|
||||
|
||||
feature {NONE} -- Init
|
||||
|
||||
make_from_message (a_m: like message; a_code: like code)
|
||||
-- Create from `a_m'
|
||||
do
|
||||
make (a_code, once "Database Error", a_m)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,35 @@
|
||||
note
|
||||
description: "Database error handler"
|
||||
date: "$Date: 2013-08-08 16:39:49 -0300 (ju. 08 de ago. de 2013) $"
|
||||
revision: "$Revision: 195 $"
|
||||
|
||||
class
|
||||
DATABASE_ERROR_HANDLER
|
||||
|
||||
inherit
|
||||
ERROR_HANDLER
|
||||
|
||||
create
|
||||
make
|
||||
|
||||
feature -- Error operation
|
||||
|
||||
add_database_error (a_message: READABLE_STRING_32; a_code: INTEGER)
|
||||
-- Add a database error.
|
||||
local
|
||||
l_error: DATABASE_ERROR
|
||||
do
|
||||
create l_error.make_from_message (a_message, a_code)
|
||||
add_error (l_error)
|
||||
end
|
||||
|
||||
add_database_no_change_error (a_message: READABLE_STRING_32; a_code: INTEGER)
|
||||
-- Add a database error.
|
||||
local
|
||||
l_error: DATABASE_NO_CHANGE_ERROR
|
||||
do
|
||||
create l_error.make_from_message (a_message, a_code)
|
||||
add_error (l_error)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,39 @@
|
||||
note
|
||||
description: "Shared error handler for database"
|
||||
date: "$Date: 2013-08-08 16:39:49 -0300 (ju. 08 de ago. de 2013) $"
|
||||
revision: "$Revision: 195 $"
|
||||
|
||||
class
|
||||
SHARED_ERROR_HANDLER
|
||||
|
||||
inherit
|
||||
|
||||
SHARED_LOGGER
|
||||
|
||||
feature -- Access
|
||||
|
||||
database_error_handler: DATABASE_ERROR_HANDLER
|
||||
-- Error handler.
|
||||
once
|
||||
create Result.make
|
||||
end
|
||||
|
||||
feature -- Status Report
|
||||
|
||||
has_error: BOOLEAN
|
||||
-- Has error?
|
||||
do
|
||||
Result := database_error_handler.has_error
|
||||
end
|
||||
|
||||
feature -- Helper
|
||||
|
||||
exception_as_error (a_e: like {EXCEPTION_MANAGER}.last_exception)
|
||||
-- Record exception as an error.
|
||||
do
|
||||
if attached a_e as l_e and then attached l_e.exception_trace as l_trace then
|
||||
database_error_handler.add_error_details (l_e.code, once "Exception", l_trace.as_string_32)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user