Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию