--[[ @title: Digital library controller @goal: Intermediate the communication between the vision and model layer of the digital library system. @context: Localization: controller layer Precondition: SHOW EVENT PAGE, SHOW EVENT PAPERS PAGE, SHOW EDITIONS PAPERS PAGE. @actors: digital library system. @resources: command to be executed and first parameter ]]-- module(..., package.seeall) --@Episode 1: local model_event = require("model.model_event") local model_edition = require("model.model_edition") local model_session = require("model.model_session") local model_paper = require("model.model_paper") function digitalLibraryController(command, first_parameter) if (command == "return_event_data") then --episode: RETURN EVENT DATA local event_data = model_event.returnEventData(first_parameter) event_data["subtitle"] = string.gsub(event_data["subtitle"], "\n", "
") event_data["description"] = string.gsub(event_data["description"], "\n", "
") return event_data elseif (command == "return_paperpage_data") then --episode: RETURN PAPERS PAGE DATA local paperspage_data = model_event.returnPapersPageData(first_parameter) paperspage_data["subtitle"] = string.gsub(paperspage_data["subtitle"], "\n", "
") paperspage_data["description"] = string.gsub(paperspage_data["description"], "\n", "
") return paperspage_data elseif (command == "return_event_editions") then --episode: RETURN EDITIONS OF AN EVENT return model_event.returnEventEditions(first_parameter) elseif (command == "return_mainpage_paths") then --episode: RETURN MAIN PAGE PATHS return model_event.returnPaths() elseif (command == "return_paperpage_paths") then --episode: RETURN MAIN PAGE PATHS return model_event.returnPaths() elseif (command == "return_editions_with_papers") then --episode: RETURN EDITIONS WITH PAPERS return model_edition.returnEditionsWithPapers(first_parameter) elseif (command == "return_edition_data") then --episode: RETURN DATA FROM AN EDITION return model_edition.returnEditionData(first_parameter) elseif (command == "return_edition_proceedings_editors") then --episode: RETURN EDITION PROCEEDINFS EDITORS return model_edition.returnEditionProceedingsEditors(first_parameter) elseif (command == "return_edition_sessions") then --episode: RETURN EDITION SESSIONS return model_edition.returnEditionSessions(first_parameter) elseif (command == "return_session_papers") then --episode: RETURN SESSION PAPERS return model_session.returnSessionPapers(first_parameter) elseif (command == "return_paper_authors") then --episode: RETURN PAPER AUTHORS return model_paper.returnPaperAuthors(first_parameter) elseif (command == "return_paper_scholar_url") then --episode: RETURN PAPER'S SCHOLAR URL return model_paper.returnPapersScholarURL(first_parameter) else --episode: return "Error: command not found" end --if end