From ad9e908dc24d396301a46429b8099fcd8aef5c0a Mon Sep 17 00:00:00 2001 From: jvelilla Date: Tue, 15 Sep 2015 10:42:30 -0300 Subject: [PATCH] Updated CMS_NODE_STORAGE_I API. Delete a node using a node as formal parameter instead of node id. Clean code and update log information. --- .../cms_node_storage_sql_blog_extension.e | 12 ++++---- .../persistence/cms_node_storage_extension.e | 6 ++-- modules/node/persistence/cms_node_storage_i.e | 13 ++++----- .../node/persistence/cms_node_storage_null.e | 2 +- .../node/persistence/cms_node_storage_sql.e | 29 +++++++++---------- .../cms_node_storage_sql_page_extension.e | 12 ++++---- 6 files changed, 37 insertions(+), 37 deletions(-) diff --git a/modules/blog/cms_node_storage_sql_blog_extension.e b/modules/blog/cms_node_storage_sql_blog_extension.e index 7dfc9d2..24d6844 100644 --- a/modules/blog/cms_node_storage_sql_blog_extension.e +++ b/modules/blog/cms_node_storage_sql_blog_extension.e @@ -108,14 +108,16 @@ feature -- Persistence end end - delete_by_id (a_nid: INTEGER_64) - -- remove node extensions by id `a_nid'. + delete_node (a_node: CMS_BLOG) + -- local l_parameters: STRING_TABLE [ANY] do - create l_parameters.make (1) - l_parameters.put (a_nid, "nid") - sql_change (sql_delete_node_data, l_parameters) + if a_node.has_id then + create l_parameters.make (1) + l_parameters.put (a_node.id, "nid") + sql_change (sql_delete_node_data, l_parameters) + end end feature {NONE} -- Implementation diff --git a/modules/node/persistence/cms_node_storage_extension.e b/modules/node/persistence/cms_node_storage_extension.e index dac37d4..4943ffa 100644 --- a/modules/node/persistence/cms_node_storage_extension.e +++ b/modules/node/persistence/cms_node_storage_extension.e @@ -49,10 +49,10 @@ feature -- Persistence end end - delete_by_id (a_nid: INTEGER_64) - -- remove node extensions by id `a_nid'. + delete_node (a_node: CMS_NODE) + -- remove node extensions. require - valid_id: a_nid > 0 + a_node_accepted: is_accepted (a_node) deferred end diff --git a/modules/node/persistence/cms_node_storage_i.e b/modules/node/persistence/cms_node_storage_i.e index ebfe7f0..26f1223 100644 --- a/modules/node/persistence/cms_node_storage_i.e +++ b/modules/node/persistence/cms_node_storage_i.e @@ -67,7 +67,7 @@ feature {NONE} -- Implementation not error_handler.has_error do if attached node_storage_extension (a_node) as ext then - ext.delete_by_id (a_node.id) + ext.delete_node (a_node) end end @@ -182,17 +182,14 @@ feature -- Change: Node -- node_revisions -- and extensions (PAGE, BLOG, etc). if a_node.has_id then - delete_node_by_id (a_node.id) - if not error_handler.has_error then - extended_delete (a_node) - end + delete_node_base (a_node) end end - delete_node_by_id (a_id: INTEGER_64) - -- Remove node by id `a_id'. + delete_node_base (a_node: CMS_NODE) + -- Remove node `a_node'. require - valid_node_id: a_id > 0 + valid_node_id: a_node.has_id deferred end diff --git a/modules/node/persistence/cms_node_storage_null.e b/modules/node/persistence/cms_node_storage_null.e index 497c11a..34cf6a3 100644 --- a/modules/node/persistence/cms_node_storage_null.e +++ b/modules/node/persistence/cms_node_storage_null.e @@ -106,7 +106,7 @@ feature -- Node do end - delete_node_by_id (a_id: INTEGER_64) + delete_node_base (a_node: CMS_NODE) -- do end diff --git a/modules/node/persistence/cms_node_storage_sql.e b/modules/node/persistence/cms_node_storage_sql.e index ce825e5..6305ca1 100644 --- a/modules/node/persistence/cms_node_storage_sql.e +++ b/modules/node/persistence/cms_node_storage_sql.e @@ -53,11 +53,6 @@ feature -- Access end sql_forth end --- across --- Result as ic --- loop --- fill_node (ic.item) --- end end node_revisions (a_node: CMS_NODE): LIST [CMS_NODE] @@ -95,7 +90,7 @@ feature -- Access create {ARRAYED_LIST [CMS_NODE]} Result.make (0) error_handler.reset - write_information_log (generator + ".trash_nodes") + write_information_log (generator + ".trashed_nodes") from create l_parameters.make (1) @@ -124,7 +119,7 @@ feature -- Access create {ARRAYED_LIST [CMS_NODE]} Result.make (0) error_handler.reset - write_information_log (generator + ".nodes") + write_information_log (generator + ".recent_nodes") from create l_parameters.make (2) @@ -150,7 +145,7 @@ feature -- Access create {ARRAYED_LIST [CMS_NODE]} Result.make (0) error_handler.reset - write_information_log (generator + ".nodes") + write_information_log (generator + ".recent_node_changes_before") from create l_parameters.make (3) @@ -176,7 +171,7 @@ feature -- Access l_parameters: STRING_TABLE [ANY] do error_handler.reset - write_information_log (generator + ".node") + write_information_log (generator + ".node_by_id") create l_parameters.make (1) l_parameters.put (a_id, "nid") sql_query (sql_select_node_by_id, l_parameters) @@ -191,7 +186,7 @@ feature -- Access l_parameters: STRING_TABLE [ANY] do error_handler.reset - write_information_log (generator + ".node") + write_information_log (generator + ".node_by_id_and_revision") create l_parameters.make (1) l_parameters.put (a_node_id, "nid") l_parameters.put (a_revision, "revision") @@ -326,7 +321,7 @@ feature -- Change: Node local l_parameters: STRING_TABLE [ANY] do - write_information_log (generator + ".delete_node {" + a_id.out + "}") + write_information_log (generator + ".trash_node_by_id {" + a_id.out + "}") error_handler.reset create l_parameters.make (3) @@ -336,23 +331,27 @@ feature -- Change: Node sql_change (sql_trash_node, l_parameters) end - delete_node_by_id (a_id: INTEGER_64) + delete_node_base (a_node: CMS_NODE) -- local l_parameters: STRING_TABLE [ANY] l_time: DATE_TIME do create l_time.make_now_utc - write_information_log (generator + ".trash_node {" + a_id.out + "}") + write_information_log (generator + ".delete_node_base {" + a_node.id.out + "}") error_handler.reset create l_parameters.make (1) - l_parameters.put (a_id, "nid") + l_parameters.put (a_node.id, "nid") sql_change (sql_delete_node, l_parameters) -- we remove node_revisions and pages. -- Check: maybe we need a transaction. sql_change (sql_delete_node_revisions, l_parameters) + + if not error_handler.has_error then + extended_delete (a_node) + end end restore_node_by_id (a_id: INTEGER_64) @@ -362,7 +361,7 @@ feature -- Change: Node l_time: DATE_TIME do create l_time.make_now_utc - write_information_log (generator + ".restore_node {" + a_id.out + "}") + write_information_log (generator + ".restore_node_by_id {" + a_id.out + "}") error_handler.reset create l_parameters.make (1) diff --git a/modules/node/persistence/cms_node_storage_sql_page_extension.e b/modules/node/persistence/cms_node_storage_sql_page_extension.e index 47b8a78..cdffa57 100644 --- a/modules/node/persistence/cms_node_storage_sql_page_extension.e +++ b/modules/node/persistence/cms_node_storage_sql_page_extension.e @@ -113,14 +113,16 @@ feature -- Persistence end - delete_by_id (a_nid: INTEGER_64) - -- remove node extensions by id `a_nid'. + delete_node (a_node: CMS_PAGE) + -- local l_parameters: STRING_TABLE [ANY] do - create l_parameters.make (1) - l_parameters.put (a_nid, "nid") - sql_change (sql_delete_node_data, l_parameters) + if a_node.has_id then + create l_parameters.make (1) + l_parameters.put (a_node.id, "nid") + sql_change (sql_delete_node_data, l_parameters) + end end feature {NONE} -- Implementation