Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WSO2_diplom.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.74 Mб
Скачать

3.2 Структура базы данных

Рис. 8 Структура базы данных (PARKING_SETTINGS)

PARKING_SETTINGS. Содержит информацию о настройках приложения для парковки:

  • Отображаемое на странице максимально возможное количество результатов поиска;

  • Отображаемое на странице количество недавно просмотренных парковочных стоянок;

  • Максимально возможное количество парковок, добавляемых в качестве избранных;

  • Радиус, по которому будет производиться поиск парковочных стоянок относительно текущего положения автомобиля;

  • URL-адреса внешних сервисов, к которым будет обращаться приложение для получения информации о парковочных стоянках.

Рис. 9 Структура базы данных (PARKING_FAVORITES, PARKING_RECENTLY_VIEWED)

PARKING_FAVORITES. Содержит информацию о парковках, которые пользователь добавил в избранное:

  • Название парковки;

  • Тип парковки;

  • Код страны;

  • Индекс;

  • Город;

  • Улица;

  • Координаты: длину и широту.

PARKING_RECENTLY_VIEWED. Содержит информацию о недавно просмотренных парковочных стоянках. Таблица имеет такую же структуру, как и таблица PARKING_FAVORITES.

3.3 Реализация классов

3.3.1 Диаграмма пакетов

Рис. 10 Диаграмма пакетов

В приложении есть 5 основных пакетов, каждый из пакетов представляет из себя набор интерфейсов и классов, реализующих функциональность определенного слоя:

  • Пакет model: содержит классы-сущности для хранения в базе данных;

  • Пакет api: содержит интерфейсы, реализующиеся в бизнес-логике;

  • Пакет bl: содержит класс с бизнес логикой: основной класс ParkingService и вспомогательные классы для получения данных от внешних сервисов: adac и navi;

  • Пакет dao: классы для доступа к данным.

  • Пакет ctrl: содержит класс-контроллер, обрабатывающий все запросы, приходящие от клиента.

3.3.2 Слой dao

Рис. 11 Слой DAO

Описание основных методов

  • addFavorites(int, Parking, int):List<Parking> - добавляет парковочную стоянку (объект Parking) в базу данных в таблицу PARKING_FAVORITES. Возвращает список избранных паркингов.

  • addRecentlyViewed(int, Parking, int):List<Parking> - добавляет парковочную стоянку (объект Parking) в базу данных в таблицу PARKING_RECENTLY_VIEWED. Возвращает список недавно просмотренных паркингов.

  • getFavoriteParkings(int) :List<Parking> - получает список паркингов из таблицы PARKING_FAVORITES для конкретного пользователя.

  • getRecentlyViewedParkings(int) :List<Parking> - получает список паркингов из таблицы PARKING_RECENTLY_VIEWED для конкретного пользователя.

  • getServiceOptions():ServiceOptions - получает специфические опции, присущие данному сервису для конкретного пользователя.

3.3.3 Контроллер

Рис. 12 Контроллер

Класс-контроллер, обрабатывающий все запросы, приходящие от клиента.

Описание основных методов

  • addToFavorites(HttpServletRequest, HttpServletResponse, String): void – вызывает метод сервиса ParkingService, который добавляет конкретную парковку к списку избранных для конкретного пользователя. Сохранение в таблицу PARKING_FAVORITES.

  • getGeoLocationsForAddress(HttpServletRequest, HttpServletResponse, String): void – вызывает метод сервиса ParkingService, который получает список местонахождений по конкретному адресу.

  • getLocationHistory(HttpServletRequest, HttpServletResponse, String): void – вызывает метод сервиса ParkingService, который получает информацию о запросах по нахождению парковок от конкретного пользователя.

  • getParkingById(HttpServletRequest, HttpServletResponse, String): void – вызывает метод сервиса ParkingService, который получает парковку (объект Parking) по Id.

  • nearGeoLocation(HttpServletRequest, HttpServletResponse, Double, Double, Double, String, boolean, boolean, Integer): void – вызывает метод сервиса ParkingService, который получает информацию о местонахождениях парковок расположенных по определенным параметрам (долгота, широта, заданный радиус и т.д.).

  • removeAllFavorites(HttpServletRequest, HttpServletResponse): void – вызывает метод сервиса ParkingService, который удаляет все избранные парковки конкретного пользователя.

  • removeAllRecentlyViewed(HttpServletRequest, HttpServletResponse): void – вызывает метод сервиса ParkingService, который удаляет все недавно просмотренные парковки конкретного пользователя.

  • removeFromFavorites(HttpServletRequest, HttpServletResponse, int): void - вызывает метод сервиса ParkingService, который удаляет избранную парковку по Id.

  • removeFromRecentlyViewed(HttpServletRequest, HttpServletResponse, int): void - вызывает метод сервиса ParkingService, который удаляет недавно просмотренную парковку по Id.

  • resetLocationHistory(HttpServletRequest, HttpServletResponse): void - вызывает метод сервиса ParkingService, который стирает историю запросов по месту.

  • setFavorites(HttpServletRequest, HttpServletResponse, String): void - вызывает метод сервиса ParkingService, который добавляет текущую парковку в список избранных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]