Added CMS_MODULE_CONFIGURATOR.

Added a default implementation of CMS_MODULE_CONGIRATOR.
Updated CMS_SERVICE, to use the new CMS_MODULE_CONFIGURATOR.
Updated Example.
This commit is contained in:
jvelilla
2014-10-07 17:52:13 -03:00
committed by Jocelyn Fiat
parent c94e5391e9
commit 965b0e9f7d
6 changed files with 128 additions and 59 deletions

View File

@@ -0,0 +1,30 @@
note
description: "Summary description for {CMS_MODULE_CONFIGURATOR}."
author: ""
date: "$Date$"
revision: "$Revision$"
deferred class
CMS_MODULE_CONFIGURATOR
feature -- Access
modules: LIST[CMS_MODULE]
-- Possible list of modules.
deferred
end
feature -- Add Module
add_module (a_module: CMS_MODULE)
-- Add module
do
modules.force (a_module)
end
remove_module (a_module: CMS_MODULE)
-- Remove module
do
modules.prune (a_module)
end
end

View File

@@ -0,0 +1,53 @@
note
description: "Summary description for {CMS_DEFAULT_MODULE_CONFIGURATOR}."
author: ""
date: "$Date$"
revision: "$Revision$"
class
CMS_DEFAULT_MODULE_CONFIGURATOR
inherit
CMS_MODULE_CONFIGURATOR
create
make
feature {NONE} -- Initialization
make (a_setup: CMS_SETUP)
do
build_modules (a_setup)
end
feature -- Access
modules: ARRAYED_LIST [CMS_MODULE]
-- List of possible modules
feature -- Configuration
build_modules (a_setup: CMS_SETUP)
-- Core modules. (User, Admin, Node)
-- At the moment only node is supported.
local
m: CMS_MODULE
do
create modules.make (3)
-- -- Core
-- create {USER_MODULE} m.make (a_setup)
-- m.enable
-- modules.extend (m)
-- create {ADMIN_MODULE} m.make (a_setup)
-- m.enable
-- modules.extend (m)
create {NODE_MODULE} m.make (a_setup)
m.enable
modules.extend (m)
end
end