Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Реализация серверной части модуля
Реализованная серверная часть модуля состоит из портлета Slideshow, а также сервисного слоя для работы с сущностями базы данных. Произведено логическое разбиение классов по пакетам. Выделены четыре ключевых пакета: · views – пакет, содержащий возможные состояния отображения портлета; · beans – пакет, содержащий в себе модели для создания, редактирования и отображения презентаций; · logic – пакет, содержащий бизнес логику и логику работы с моделями, в том числе конвертацию файлов PowerPoint; · constants – содержит константы, необходимые для работы модуля. Пакет “Views”, содержит в себе абстрактный класс “View”, описывающий базовый класс отображения и содержащий в себе сигнатуру метода “render”, классы “ExistingSlideshowsView”, “CoursePageView”, “RunView”, “Edit view” и “CreateView” являются его наследниками и переопределяют метод “render” базового класса. Класс “ViewsManager” является утилитным и содержит в себе коллекцию всех существующих классов отображений, кроме базового класса и имеет единственный метод “getView”, который возвращает класс отображения по его имени. Этот утилитный класс используется в render-фазе жизненного цикла портлета для выбора страницы, которую необходимо отобразить. Диаграмма классов отображения приведена на диаграмме ниже. Рисунок 5.1. Диаграмма классов слоя представления модуля презентаций Пакет “logic” содержит в себе класс SlideshowActions, имплементирующий все action-методы портлета – методы, обрабабывающие все действия с портлетом. На этом уровне происходит извлечение данных из объекта PortletRequest, их валидация и необходимые операции, после чего происходит обращение к классу SlideshowService, который обращается к созданным Liferay Service Builder классам, для CRUD операций с данными. Класс “PresentationFileParser” необходим для конвертации файлов PowerPoint в изображения и создания на их основе колеекций моделей слайдов (List<SlideBean>). Диаграмма классов пакета “logic” представлена ниже. Рисунок 5.2. Диаграмма классов слоя логики модуля презентаций Пакет “beans” содержит модели, необходимые для создания, редактирования и воспроизведения презентаций. Ниже представлена его структура. Рисунок 5.3. Диаграмма классов моделей слайда и презентации
· SlideshowPortlet.java – портлет презентаций; · SlideshowActions.java – прослойка action-методов класса портлета. Содержит логику работы с PortletRequest, PortletResponse, а также логику валидаций и бизнес логику; · SlideshowService.java – сервисная прослойка для работы с сущностями презентации и слайда; · PresentationFileParser.java – класс конвертора презентаций. Содержит логику обработки файла PowerPoint, конвертации слайдов в изображения и их сборку в коллекцию моделей SlideBean. Является наиболее значимым с точки зрения функциональности модуля. Класс PresentationFileParser.java содержит в себе два приватных метода, каждый из которых отвечает за конвертацию определённого формата файла – “ppt” или “pptx”. В зависимости от типа файла используются различные части библиотеки ApachePOI. В случае с файлами PowerPoint 97-2003 (ppt), используется модель HSLF. Для обработки файлов “pptx” используется модель XSLF. Модели отличаются способами сборки и моделями слайдов – HSLFSlide и XSLFSlide соответственно. Несмотря на это, алгоритм конвертации в изображения для них один. Date: 2016-05-23; view: 444; Нарушение авторских прав |