diff --git a/cms/src/configuration/cms_configuration.e b/cms/src/configuration/cms_configuration.e index b6f6b12..99de5c4 100644 --- a/cms/src/configuration/cms_configuration.e +++ b/cms/src/configuration/cms_configuration.e @@ -16,8 +16,6 @@ feature {NONE} -- Initialization make (a_layout: CMS_LAYOUT) -- Initialize `Current'. - local - p: PATH do layout := a_layout create options.make_equal (10) @@ -169,8 +167,6 @@ feature -- Change end get_root_location - local - utf: UTF_CONVERTER do root_location := layout.www_path end diff --git a/cms/src/configuration/cms_default_setup.e b/cms/src/configuration/cms_default_setup.e index dac8deb..ccac309 100644 --- a/cms/src/configuration/cms_default_setup.e +++ b/cms/src/configuration/cms_default_setup.e @@ -93,7 +93,6 @@ feature {NONE} -- Initialization build_api_service local - dn: PATH l_database: DATABASE_CONNECTION do to_implement ("Refactor database setup") diff --git a/cms/src/configuration/cms_layout.e b/cms/src/configuration/cms_layout.e index b48684e..3037b5b 100644 --- a/cms/src/configuration/cms_layout.e +++ b/cms/src/configuration/cms_layout.e @@ -19,14 +19,34 @@ feature -- Access theme_path: PATH -- Directory for templates (HTML, etc). - once - Result := www_path.extended ("theme") + local + p: detachable PATH + do + p := internal_theme_path + if p = Void then + p := www_path.extended ("theme") + internal_theme_path := p + end + Result := p end cms_config_ini_path: PATH -- Database Configuration file path. - once - Result := config_path.extended ("cms.ini") + local + p: detachable PATH + do + p := internal_cms_config_ini_path + if p = Void then + p := config_path.extended ("cms.ini") + internal_cms_config_ini_path := p + end + Result := p end +feature {NONE} -- Implementation + + internal_theme_path: detachable like theme_path + + internal_cms_config_ini_path: detachable like cms_config_ini_path + end diff --git a/cms/src/modules/cms_module.e b/cms/src/modules/cms_module.e index 3979fff..63c433b 100644 --- a/cms/src/modules/cms_module.e +++ b/cms/src/modules/cms_module.e @@ -27,7 +27,7 @@ feature -- Router feature -- Filter - filters: detachable LIST[WSF_FILTER] + filters: detachable LIST [WSF_FILTER] -- Possibly list of Filter's module. feature -- Element Change: Filter @@ -39,7 +39,7 @@ feature -- Element Change: Filter do l_filters := filters if l_filters = Void then - create {ARRAYED_LIST[WSF_FILTER]}l_filters.make (1) + create {ARRAYED_LIST [WSF_FILTER]} l_filters.make (1) filters := l_filters end l_filters.force (a_filter) diff --git a/cms/src/service/cms_service.e b/cms/src/service/cms_service.e index a14a96e..252c9ed 100644 --- a/cms/src/service/cms_service.e +++ b/cms/src/service/cms_service.e @@ -136,7 +136,6 @@ feature -- Filters -- Create `filter'. local f, l_filter: detachable WSF_FILTER - fh: WSF_CUSTOM_HEADER_FILTER do l_filter := Void -- Maintenance diff --git a/cms/src/theme/smarty_theme/smarty_cms_theme.e b/cms/src/theme/smarty_theme/smarty_cms_theme.e index f315f57..2b2e6a4 100644 --- a/cms/src/theme/smarty_theme/smarty_cms_theme.e +++ b/cms/src/theme/smarty_theme/smarty_cms_theme.e @@ -45,19 +45,25 @@ feature -- Access local i: INTEGER utf: UTF_CONVERTER - once - if attached information.regions as tb and then not tb.is_empty then - i := 1 - create Result.make_filled ("", i, i + tb.count - 1) - across - tb as ic - loop - Result.force (utf.utf_32_string_to_utf_8_string_8 (ic.key), i) -- NOTE: UTF-8 encoded ! - i := i + 1 + l_regions: like internal_regions + do + l_regions := internal_regions + if l_regions = Void then + if attached information.regions as tb and then not tb.is_empty then + i := 1 + create l_regions.make_filled ("", i, i + tb.count - 1) + across + tb as ic + loop + l_regions.force (utf.utf_32_string_to_utf_8_string_8 (ic.key), i) -- NOTE: UTF-8 encoded ! + i := i + 1 + end + else + l_regions := <<"header", "content", "footer", "first_sidebar", "second_sidebar">> end - else - Result := <<"header", "content", "footer", "first_sidebar", "second_sidebar">> + internaL_regions := l_regions end + Result := l_regions end page_template: SMARTY_CMS_PAGE_TEMPLATE @@ -87,6 +93,8 @@ feature -- Conversion feature {NONE} -- Internal + internal_regions: detachable like regions + internal_page_template: detachable like page_template invariant diff --git a/examples/roc_api/roc_api.ecf b/examples/roc_api/roc_api.ecf index 2cf8d79..fb9f85c 100644 --- a/examples/roc_api/roc_api.ecf +++ b/examples/roc_api/roc_api.ecf @@ -9,15 +9,11 @@ - - - - - - - + + + diff --git a/examples/roc_api/src/ewf_roc_server.e b/examples/roc_api/src/ewf_roc_server.e index e4a0425..e4eccea 100644 --- a/examples/roc_api/src/ewf_roc_server.e +++ b/examples/roc_api/src/ewf_roc_server.e @@ -43,7 +43,7 @@ feature {NONE} -- Initialization do Precursor service_options := create {WSF_SERVICE_LAUNCHER_OPTIONS_FROM_INI}.make_from_file ("roc.ini") - launch_cms (cms_setup) + initialize_cms (cms_setup) end feature -- Service @@ -115,11 +115,11 @@ feature -- CMS Initialization setup_storage (Result) end - launch_cms (a_setup: CMS_SETUP) + initialize_cms (a_setup: CMS_SETUP) local cms: CMS_SERVICE do - log.write_debug (generator + ".launch_cms") + log.write_debug (generator + ".initialize_cms") create cms.make (a_setup) cms_service := cms end diff --git a/layout/src/application_layout.e b/layout/src/application_layout.e index 6108602..a76e3d3 100644 --- a/layout/src/application_layout.e +++ b/layout/src/application_layout.e @@ -36,45 +36,118 @@ feature -- Access: internal config_path: PATH -- Configuration file path. - once - Result := path.extended ("config") + local + p: detachable PATH + do + p := internal_config_path + if p = Void then + p := path.extended ("config") + internal_config_path := p + end + Result := p end application_config_path: PATH -- Database Configuration file path. - once - Result := config_path.extended ("application_configuration.json") + local + p: detachable PATH + do + p := internal_application_config_path + if p = Void then + p := config_path.extended ("application_configuration.json") + internal_application_config_path := p + end + Result := p end logs_path: PATH -- Directory for logs. - once - Result := path.extended ("logs") + local + p: detachable PATH + do + p := internal_logs_path + if p = Void then + p := path.extended ("logs") + internal_logs_path := p + end + Result := p end documentation_path: PATH -- Directory for API documentation. - once - Result := path.extended ("doc") + local + p: detachable PATH + do + p := internal_documentation_path + if p = Void then + p := path.extended ("doc") + internal_documentation_path := p + end + Result := p end www_path: PATH -- Directory for www. - once - Result := path.extended ("www") + local + p: detachable PATH + do + p := internal_www_path + if p = Void then + p := path.extended ("www") + internal_www_path := p + end + Result := p end assets_path: PATH -- Directory for public assets. -- css, images, js. - once - Result := path.extended ("www").extended ("assets") + local + p: detachable PATH + do + p := internal_assets_path + if p = Void then + p := www_path.extended ("assets") + internal_assets_path := p + end + Result := p end template_path: PATH -- Directory for templates (HTML, etc). - once - Result := www_path.extended ("template") + local + p: detachable PATH + do + p := internal_template_path + if p = Void then + p := www_path.extended ("template") + internal_template_path := p + end + Result := p end +feature {NONE} -- Implementation + + internal_config_path: detachable like config_path + -- Configuration file path. + + internal_application_config_path: detachable like application_config_path + -- Database Configuration file path. + + internal_logs_path: detachable like logs_path + -- Directory for logs. + + internal_documentation_path: detachable like documentation_path + -- Directory for API documentation. + + internal_www_path: detachable like www_path + -- Directory for www. + + internal_assets_path: detachable like assets_path + -- Directory for public assets. + -- css, images, js. + + internal_template_path: detachable like template_path + -- Directory for templates (HTML, etc). + end diff --git a/persistence/implementation/common/database/database_iteration_cursor.e b/persistence/implementation/common/database/database_iteration_cursor.e index 7c0f073..f38d844 100644 --- a/persistence/implementation/common/database/database_iteration_cursor.e +++ b/persistence/implementation/common/database/database_iteration_cursor.e @@ -80,7 +80,7 @@ feature -- Cursor feature -- Action - action: FUNCTION [ANY, detachable TUPLE [], G] + action: FUNCTION [ANY, detachable TUPLE, G] -- Agent to create a new item of type G. feature {NONE} -- Implementation