From 3dc18647fa2bd9ad4f0d7f4e3c4bd02857c4a2ad Mon Sep 17 00:00:00 2001 From: Phlake Date: Sun, 15 May 2022 15:53:26 +0300 Subject: [PATCH 1/8] Added Lab 4 --- .gitignore | 60 +++ README.md | 5 +- lombok.config | 5 + src/main/java/com/mkruchok/Application.java | 8 + .../controller/AbstractController.java | 28 ++ .../implementation/DeviceController.java | 38 ++ .../implementation/GroupController.java | 38 ++ .../implementation/HubController.java | 38 ++ .../NotificationController.java | 38 ++ .../implementation/PermissionController.java | 38 ++ .../implementation/RexController.java | 38 ++ .../implementation/UserController.java | 38 ++ .../implementation/package-info.java | 1 + .../com/mkruchok/controller/package-info.java | 1 + .../com/mkruchok/model/dao/AbstractDAO.java | 33 ++ .../model/dao/implementation/DeviceDAO.java | 126 +++++ .../model/dao/implementation/GroupDAO.java | 111 +++++ .../model/dao/implementation/HubDAO.java | 137 ++++++ .../dao/implementation/NotificationDAO.java | 115 +++++ .../dao/implementation/PermissionDAO.java | 107 +++++ .../model/dao/implementation/RexDAO.java | 111 +++++ .../model/dao/implementation/UserDAO.java | 118 +++++ .../dao/implementation/package-info.java | 1 + .../com/mkruchok/model/dao/package-info.java | 1 + .../com/mkruchok/model/entity/Device.java | 49 ++ .../java/com/mkruchok/model/entity/Group.java | 34 ++ .../java/com/mkruchok/model/entity/Hub.java | 54 +++ .../mkruchok/model/entity/Notification.java | 39 ++ .../com/mkruchok/model/entity/Permission.java | 30 ++ .../java/com/mkruchok/model/entity/Rex.java | 34 ++ .../java/com/mkruchok/model/entity/User.java | 42 ++ .../mkruchok/model/entity/package-info.java | 1 + .../java/com/mkruchok/model/package-info.java | 1 + src/main/java/com/mkruchok/package-info.java | 1 + .../persistant/ConnectionManager.java | 42 ++ .../com/mkruchok/persistant/package-info.java | 1 + .../com/mkruchok/service/AbstractService.java | 33 ++ .../service/implementation/DeviceService.java | 39 ++ .../service/implementation/GroupService.java | 39 ++ .../service/implementation/HubService.java | 39 ++ .../implementation/NotificationService.java | 39 ++ .../implementation/PermissionService.java | 39 ++ .../service/implementation/RexService.java | 39 ++ .../service/implementation/UserService.java | 40 ++ .../service/implementation/package-info.java | 1 + .../com/mkruchok/service/package-info.java | 1 + src/main/java/com/mkruchok/view/Menu.java | 24 + .../java/com/mkruchok/view/Printable.java | 8 + src/main/java/com/mkruchok/view/View.java | 429 ++++++++++++++++++ .../java/com/mkruchok/view/package-info.java | 1 + 50 files changed, 2331 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 lombok.config create mode 100644 src/main/java/com/mkruchok/Application.java create mode 100644 src/main/java/com/mkruchok/controller/AbstractController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/DeviceController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/GroupController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/HubController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/NotificationController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/PermissionController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/RexController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/UserController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/package-info.java create mode 100644 src/main/java/com/mkruchok/controller/package-info.java create mode 100644 src/main/java/com/mkruchok/model/dao/AbstractDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/package-info.java create mode 100644 src/main/java/com/mkruchok/model/dao/package-info.java create mode 100644 src/main/java/com/mkruchok/model/entity/Device.java create mode 100644 src/main/java/com/mkruchok/model/entity/Group.java create mode 100644 src/main/java/com/mkruchok/model/entity/Hub.java create mode 100644 src/main/java/com/mkruchok/model/entity/Notification.java create mode 100644 src/main/java/com/mkruchok/model/entity/Permission.java create mode 100644 src/main/java/com/mkruchok/model/entity/Rex.java create mode 100644 src/main/java/com/mkruchok/model/entity/User.java create mode 100644 src/main/java/com/mkruchok/model/entity/package-info.java create mode 100644 src/main/java/com/mkruchok/model/package-info.java create mode 100644 src/main/java/com/mkruchok/package-info.java create mode 100644 src/main/java/com/mkruchok/persistant/ConnectionManager.java create mode 100644 src/main/java/com/mkruchok/persistant/package-info.java create mode 100644 src/main/java/com/mkruchok/service/AbstractService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/DeviceService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/GroupService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/HubService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/NotificationService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/PermissionService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/RexService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/UserService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/package-info.java create mode 100644 src/main/java/com/mkruchok/service/package-info.java create mode 100644 src/main/java/com/mkruchok/view/Menu.java create mode 100644 src/main/java/com/mkruchok/view/Printable.java create mode 100644 src/main/java/com/mkruchok/view/View.java create mode 100644 src/main/java/com/mkruchok/view/package-info.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1201cbd --- /dev/null +++ b/.gitignore @@ -0,0 +1,60 @@ +# See https://www.dartlang.org/guides/libraries/private-files + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + + +*.html +*.css +*.rss +*.xml +*target + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + + +# Files and directories created by pub +.dart_tool/ +.packages +build/ + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + +### Firebase ### +**/node_modules/* +**/.firebaserc + +### Firebase Patch ### +.runtimeconfig.json +.firebase/ + +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock + +# Directory created by dartdoc +# If you don't generate documentation locally you can remove this line. +doc/api/ + +# Avoid committing generated Javascript files: +*.dart.js +*.info.json # Produced by the --dump-info flag. +*.js # When generated by dart2js. Don't specify *.js if your + # project includes source files written in JavaScript. +*.js_ +*.js.deps +*.js.map diff --git a/README.md b/README.md index 681d633..c000c32 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# Databases - +# Lab 4 + +JDBC Maven diff --git a/lombok.config b/lombok.config new file mode 100644 index 0000000..c068f11 --- /dev/null +++ b/lombok.config @@ -0,0 +1,5 @@ +config.stopBubbling = true +lombok.addLombokGeneratedAnnotation = true +lombok.extern.findbugs.addSuppressFBWarnings = true +lombok.anyConstructor.addConstructorProperties = true +lombok.addNullAnnotations = \ No newline at end of file diff --git a/src/main/java/com/mkruchok/Application.java b/src/main/java/com/mkruchok/Application.java new file mode 100644 index 0000000..d271f52 --- /dev/null +++ b/src/main/java/com/mkruchok/Application.java @@ -0,0 +1,8 @@ +package com.mkruchok; + +import com.mkruchok.view.View; +public final class Application { + public static void main(final String[] args) { + new View().show(); + } +} diff --git a/src/main/java/com/mkruchok/controller/AbstractController.java b/src/main/java/com/mkruchok/controller/AbstractController.java new file mode 100644 index 0000000..a84425f --- /dev/null +++ b/src/main/java/com/mkruchok/controller/AbstractController.java @@ -0,0 +1,28 @@ +package com.mkruchok.controller; + +import java.sql.SQLException; +import java.util.List; + +public interface AbstractController { + + List findAll() throws SQLException; + + default E findById(Integer id) throws SQLException { + return null; + } + + default void create(E entity) throws SQLException { + } + + default void update(Integer id, E entity) throws SQLException { + } + + default void delete(Integer id) throws SQLException { + } + + default void update(String name, E entity) throws SQLException { + } + + default void delete(String name) throws SQLException { + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/DeviceController.java b/src/main/java/com/mkruchok/controller/implementation/DeviceController.java new file mode 100644 index 0000000..81c965a --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/DeviceController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Device; +import com.mkruchok.service.implementation.DeviceService; + +import java.sql.SQLException; +import java.util.List; + +public final class DeviceController implements AbstractController { + + private final DeviceService service = new DeviceService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Device findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Device entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Device entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/GroupController.java b/src/main/java/com/mkruchok/controller/implementation/GroupController.java new file mode 100644 index 0000000..a309428 --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/GroupController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Group; +import com.mkruchok.service.implementation.GroupService; + +import java.sql.SQLException; +import java.util.List; + +public final class GroupController implements AbstractController { + + private final GroupService service = new GroupService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Group findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Group entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Group entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/HubController.java b/src/main/java/com/mkruchok/controller/implementation/HubController.java new file mode 100644 index 0000000..edd2c7d --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/HubController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Hub; +import com.mkruchok.service.implementation.HubService; + +import java.sql.SQLException; +import java.util.List; + +public final class HubController implements AbstractController { + + private final HubService service = new HubService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Hub findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Hub entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Hub entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/NotificationController.java b/src/main/java/com/mkruchok/controller/implementation/NotificationController.java new file mode 100644 index 0000000..3a0d1ca --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/NotificationController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Notification; +import com.mkruchok.service.implementation.NotificationService; + +import java.sql.SQLException; +import java.util.List; + +public final class NotificationController implements AbstractController { + + private final NotificationService service = new NotificationService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Notification findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Notification entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Notification entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/PermissionController.java b/src/main/java/com/mkruchok/controller/implementation/PermissionController.java new file mode 100644 index 0000000..2f75703 --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/PermissionController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Permission; +import com.mkruchok.service.implementation.PermissionService; + +import java.sql.SQLException; +import java.util.List; + +public final class PermissionController implements AbstractController { + + private final PermissionService service = new PermissionService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Permission findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Permission entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Permission entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/RexController.java b/src/main/java/com/mkruchok/controller/implementation/RexController.java new file mode 100644 index 0000000..c3e2f95 --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/RexController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.Rex; +import com.mkruchok.service.implementation.RexService; + +import java.sql.SQLException; +import java.util.List; + +public final class RexController implements AbstractController { + + private final RexService service = new RexService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public Rex findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(Rex entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, Rex entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/UserController.java b/src/main/java/com/mkruchok/controller/implementation/UserController.java new file mode 100644 index 0000000..b765bf9 --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/UserController.java @@ -0,0 +1,38 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.User; +import com.mkruchok.service.implementation.UserService; + +import java.sql.SQLException; +import java.util.List; + +public final class UserController implements AbstractController { + + private final UserService service = new UserService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public User findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(User entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, User entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/package-info.java b/src/main/java/com/mkruchok/controller/implementation/package-info.java new file mode 100644 index 0000000..1dbf70e --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.controller.implementation; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/controller/package-info.java b/src/main/java/com/mkruchok/controller/package-info.java new file mode 100644 index 0000000..2db224e --- /dev/null +++ b/src/main/java/com/mkruchok/controller/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.controller; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/model/dao/AbstractDAO.java b/src/main/java/com/mkruchok/model/dao/AbstractDAO.java new file mode 100644 index 0000000..ceccdc2 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/AbstractDAO.java @@ -0,0 +1,33 @@ +package com.mkruchok.model.dao; + +import java.sql.SQLException; +import java.util.List; + +public interface AbstractDAO { + + List findAll() throws SQLException; + + default void create(E entity) throws SQLException { + } + + default E findById(Integer id) throws SQLException { + return null; + } + + default void update(Integer id, E entity) throws SQLException { + } + + default void delete(Integer id) throws SQLException { + } + + + default E findByName(String name) throws SQLException { + return null; + } + + default void update(String name, E entity) throws SQLException { + } + + default void delete(String name) throws SQLException { + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java new file mode 100644 index 0000000..df07038 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java @@ -0,0 +1,126 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Device; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +@SuppressFBWarnings +@SuppressWarnings("checkstyle:magicnumber") +public final class DeviceDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.device"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.device WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.device " + + "(`model`,`status`,`service_life_end_time`,`warranty_end_time`,`on_battery`,`hub_id`)" + + " VALUES (?, ?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.device" + + " SET model=?, status=?, service_life_end_time=?, warranty_end_time=?, on_battery=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.device WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(DeviceDAO.class); + + + @Override + public List findAll() throws SQLException { + List devices = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Device device = new Device( + resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id") + ); + devices.add(device); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return devices; + } + + @Override + public Device findById(Integer id) throws SQLException { + Device device = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + device = new Device( + resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return device; + } + + @Override + public void create(Device device) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, device.getModel()); + statement.setString(2, device.getStatus()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Device device) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(2, device.getStatus()); + statement.setString(1, device.getModel()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.setInt(7, device.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java new file mode 100644 index 0000000..d996002 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java @@ -0,0 +1,111 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Group; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class GroupDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.group"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.group WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.group " + + "(`name`,`description`,`hub_id`)" + + " VALUES (?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.group" + + " SET name=?, description=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.group WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(GroupDAO.class); + + @Override + public List findAll() throws SQLException { + List groups = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Group group = new Group( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description"), + resultSet.getInt("hub_id") + ); + groups.add(group); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return groups; + } + + @Override + public Group findById(Integer id) throws SQLException { + Group group = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + group = new Group( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description"), + resultSet.getInt("hub_id") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return group; + } + + @Override + public void create(Group group) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, group.getName()); + statement.setString(2, group.getDescription()); + statement.setInt(3, group.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Group group) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, group.getName()); + statement.setString(2, group.getDescription()); + statement.setInt(3, group.getHubId()); + statement.setInt(4, group.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java new file mode 100644 index 0000000..b6bcbd7 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java @@ -0,0 +1,137 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Hub; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class HubDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.hub"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.hub " + + "(`model`,`status`,`service_life_end_time`,`warranty_end_time`,`users_max`,`rooms_max`," + + "`devices_max`,`sirens_max`,`on_battery`) VALUES (?, ?, ?, ?,?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.hub" + + " SET model=?, status=?, service_life_end_time=?, warranty_end_time=?, users_max=?, rooms_max=?, " + + "devices_max=?, sirens_max=?, on_battery=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.hub WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(HubDAO.class); + + @Override + public List findAll() throws SQLException { + List hubs = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Hub hub = new Hub( + resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery") + ); + hubs.add(hub); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return hubs; + + } + + @Override + public Hub findById(Integer id) throws SQLException { + Hub hub = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + hub = new Hub( + resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return hub; + } + + @Override + public void create(Hub hub) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Hub hub) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.setInt(10, hub.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java new file mode 100644 index 0000000..1a072e8 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java @@ -0,0 +1,115 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Notification; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class NotificationDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.notification"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.notification WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.notification " + + "(`timestamp`,`type`,`device_id`,`hub_id`)" + + " VALUES (?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.notification" + + " SET timestamp=?, type=?, device_id=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.notification WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(NotificationDAO.class); + + @Override + public List findAll() throws SQLException { + List notifications = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Notification notification = new Notification( + resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id") + ); + notifications.add(notification); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return notifications; + } + + @Override + public Notification findById(Integer id) throws SQLException { + Notification notification = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + notification = new Notification( + resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return notification; + } + + @Override + public void create(Notification notification) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Notification notification) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.setInt(5, notification.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java new file mode 100644 index 0000000..aa42a48 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java @@ -0,0 +1,107 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Permission; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class PermissionDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.permission " + + "(`name`,`description`)" + + " VALUES (?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.permission" + + " SET name=?, description=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(PermissionDAO.class); + + @Override + public List findAll() throws SQLException { + List permissions = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Permission permission = new Permission( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description") + ); + permissions.add(permission); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return permissions; + } + + @Override + public Permission findById(Integer id) throws SQLException { + Permission permission = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + permission = new Permission( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return permission; + } + + @Override + public void create(Permission permission) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, permission.getName()); + statement.setString(2, permission.getDescription()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Permission permission) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, permission.getName()); + statement.setString(2, permission.getDescription()); + statement.setInt(3, permission.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java new file mode 100644 index 0000000..dfc963e --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java @@ -0,0 +1,111 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.Rex; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class RexDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.rex"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.rex WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.rex " + + "(`name`,`range`,`hub_id`)" + + " VALUES (?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.rex" + + " SET name=?, range=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.group WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(RexDAO.class); + + @Override + public List findAll() throws SQLException { + List rexes = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Rex rex = new Rex( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("range"), + resultSet.getInt("hub_id") + ); + rexes.add(rex); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return rexes; + } + + @Override + public Rex findById(Integer id) throws SQLException { + Rex rex = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + rex = new Rex( + resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("range"), + resultSet.getInt("hub_id") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return rex; + } + + @Override + public void create(Rex rex) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, rex.getName()); + statement.setString(2, rex.getRange()); + statement.setInt(3, rex.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, Rex rex) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, rex.getName()); + statement.setString(2, rex.getRange()); + statement.setInt(3, rex.getHubId()); + statement.setInt(4, rex.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java new file mode 100644 index 0000000..1acd375 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java @@ -0,0 +1,118 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.entity.User; +import com.mkruchok.persistant.ConnectionManager; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +@SuppressFBWarnings +@SuppressWarnings("magicnumber") +public final class UserDAO implements AbstractDAO { + + private static final String GET_ALL = "SELECT * FROM ajax_curr.user"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.user WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.user " + + "(`email`, `password`, `date_created`, `name`, `group_id`) VALUES (?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.user" + + " SET email=?, password=?, date_created=?, name=?, group_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.user WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(UserDAO.class); + + @Override + public List findAll() throws SQLException { + List users = new ArrayList<>(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + User user = new User( + resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("name"), + resultSet.getString("group_id") + ); + users.add(user); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Ops! ", e); + } + return users; + } + + @Override + public User findById(Integer id) throws SQLException { + User user = null; + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + user = new User( + resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("name"), + resultSet.getString("group_id") + ); + } + resultSet.close(); + } catch (Exception e) { + LOGGER.error("Oops!", e); + } + return user; + } + + @Override + public void create(User user) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, user.getEmail()); + statement.setString(2, user.getPassword()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(4, user.getName()); + statement.setString(5, user.getGroupId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + + } + + @Override + public void update(Integer id, User user) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, user.getEmail()); + statement.setString(2, user.getPassword()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(4, user.getName()); + statement.setString(5, user.getGroupId()); + statement.setInt(6, user.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + + @Override + public void delete(Integer id) throws SQLException { + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/package-info.java b/src/main/java/com/mkruchok/model/dao/implementation/package-info.java new file mode 100644 index 0000000..e1c00af --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.model.dao.implementation; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/model/dao/package-info.java b/src/main/java/com/mkruchok/model/dao/package-info.java new file mode 100644 index 0000000..951a6b6 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.model.dao; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/model/entity/Device.java b/src/main/java/com/mkruchok/model/entity/Device.java new file mode 100644 index 0000000..8bc48a8 --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Device.java @@ -0,0 +1,49 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +import java.sql.Timestamp; + +@SuppressFBWarnings +@Getter +@Setter +public final class Device { + private Integer id; + private String model; + private String status; + private Timestamp serviceLifeEndTime; + private Timestamp warrantyEndTime; + private Integer onBattery; + private Integer hubId; + + public Device(Integer id, String model, String status, Timestamp serviceLifeEndTime, + Timestamp warrantyEndTime, Integer onBattery, Integer hubId) { + this.id = id; + this.model = model; + this.status = status; + this.serviceLifeEndTime = serviceLifeEndTime; + this.warrantyEndTime = warrantyEndTime; + this.onBattery = onBattery; + this.hubId = hubId; + } + + public Device(String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, + Integer onBattery, Integer hubId) { + this.model = model; + this.status = status; + this.serviceLifeEndTime = serviceLifeEndTime; + this.warrantyEndTime = warrantyEndTime; + this.onBattery = onBattery; + this.hubId = hubId; + } + + + @Override + public String toString() { + return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + status + ", service_life_end_time: " + + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", on_battery: " + + onBattery + ", hub_id: " + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Group.java b/src/main/java/com/mkruchok/model/entity/Group.java new file mode 100644 index 0000000..ecbf70f --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Group.java @@ -0,0 +1,34 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +@SuppressFBWarnings +@Getter +@Setter +public final class Group { + private Integer id; + private String name; + private String description; + private Integer hubId; + + public Group(Integer id, String name, String description, Integer hubId) { + this.id = id; + this.name = name; + this.description = description; + this.hubId = hubId; + } + + public Group(String name, String description, Integer hubId) { + this.name = name; + this.description = description; + this.hubId = hubId; + } + + @Override + public String toString() { + return "\n\nGroup: id: " + id + ", name: " + name + ", description: " + description + ", hub_id: " + + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Hub.java b/src/main/java/com/mkruchok/model/entity/Hub.java new file mode 100644 index 0000000..cc1c921 --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Hub.java @@ -0,0 +1,54 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +import java.sql.Timestamp; + +@SuppressFBWarnings +@Getter +@Setter +public final class Hub { + private Integer id; + private String model; + private String status; + private Timestamp serviceLifeEndTime; + private Timestamp warrantyEndTime; + private Integer usersMax; + private Integer roomsMax; + private Integer devicesMax; + private Integer sirensMax; + private Integer onBattery; + + public Hub(Integer id, String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, + Integer usersMax, Integer roomsMax, Integer devicesMax, Integer sirensMax, Integer onBattery) { + this.id = id; + this.model = model; + this.status = status; + this.serviceLifeEndTime = new Timestamp(serviceLifeEndTime.getTime()); + this.warrantyEndTime = new Timestamp(warrantyEndTime.getTime()); + this.usersMax = usersMax; + this.roomsMax = roomsMax; + this.devicesMax = devicesMax; + this.sirensMax = sirensMax; + this.onBattery = onBattery; + } + + public Hub(String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, Integer usersMax, Integer roomsMax, Integer devicesMax, Integer sirensMax, Integer onBattery) { + this.model = model; + this.status = status; + this.serviceLifeEndTime = new Timestamp(serviceLifeEndTime.getTime()); + this.warrantyEndTime = new Timestamp(warrantyEndTime.getTime()); + this.usersMax = usersMax; + this.roomsMax = roomsMax; + this.devicesMax = devicesMax; + this.sirensMax = sirensMax; + this.onBattery = onBattery; + } + + @Override + public String toString() { + return "\n\nHub: id: " + id + ", model: " + model + ", status: " + status + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", users_max: " + usersMax + ", rooms_max: " + roomsMax + ", devices_max: " + devicesMax + ", sirens_max: " + sirensMax + ", on_battery: " + onBattery + "]"; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Notification.java b/src/main/java/com/mkruchok/model/entity/Notification.java new file mode 100644 index 0000000..763134e --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Notification.java @@ -0,0 +1,39 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +import java.sql.Timestamp; + +@SuppressFBWarnings +@Getter +@Setter +public final class Notification { + private Integer id; + private Timestamp timestamp; + private String type; + private Integer deviceId; + private Integer hubId; + + public Notification(Integer id, Timestamp timestamp, String type, Integer deviceId, Integer hubId) { + this.id = id; + this.timestamp = timestamp; + this.type = type; + this.deviceId = deviceId; + this.hubId = hubId; + } + + public Notification(Timestamp timestamp, String type, Integer deviceId, Integer hubId) { + this.timestamp = timestamp; + this.type = type; + this.deviceId = deviceId; + this.hubId = hubId; + } + + @Override + public String toString() { + return "\n\nNotification: id: " + id + ", timestamp: " + timestamp + ", type: " + type + ", device_id: " + + deviceId + ", hub_id: " + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Permission.java b/src/main/java/com/mkruchok/model/entity/Permission.java new file mode 100644 index 0000000..f77c642 --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Permission.java @@ -0,0 +1,30 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +@SuppressFBWarnings +@Getter +@Setter +public final class Permission { + private Integer id; + private String name; + private String description; + + public Permission(Integer id, String name, String description) { + this.id = id; + this.name = name; + this.description = description; + } + + public Permission(String name, String description) { + this.name = name; + this.description = description; + } + + @Override + public String toString() { + return "\n\nPermission: id: " + id + ", name: " + name + ", description: " + description; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Rex.java b/src/main/java/com/mkruchok/model/entity/Rex.java new file mode 100644 index 0000000..3b9b52b --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Rex.java @@ -0,0 +1,34 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; + +@SuppressFBWarnings +@Getter +@Setter +public final class Rex { + private Integer id; + private String name; + private String range; + private Integer hubId; + + public Rex(Integer id, String name, String range, Integer hubId) { + this.id = id; + this.name = name; + this.range = range; + this.hubId = hubId; + } + + public Rex(String name, String range, Integer hubId) { + this.name = name; + this.range = range; + this.hubId = hubId; + } + + @Override + public String toString() { + return "\n\nRex: id: " + id + ", name: " + name + ", range: " + range + ", hub_id: " + + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/User.java b/src/main/java/com/mkruchok/model/entity/User.java new file mode 100644 index 0000000..7d045b9 --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/User.java @@ -0,0 +1,42 @@ +package com.mkruchok.model.entity; + + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.Setter; +import java.sql.Timestamp; + +@SuppressFBWarnings +@Getter +@Setter +public final class User { + private Integer id; + private String email; + private String password; + private Timestamp dateCreated; + private String name; + private String groupId; + + public User(Integer id, String email, String password, Timestamp dateCreated, String name, String groupId) { + this.id = id; + this.email = email; + this.password = password; + this.dateCreated = dateCreated; + this.name = name; + this.groupId = groupId; + } + + public User(String email, String password, Timestamp dateCreated, String name, String groupId) { + this.email = email; + this.password = password; + this.dateCreated = dateCreated; + this.name = name; + this.groupId = groupId; + } + + @Override + public String toString() { + return "\n\nUser: id: " + id + ", email: " + email + ", password: " + password + ", date created: " + + dateCreated; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/package-info.java b/src/main/java/com/mkruchok/model/entity/package-info.java new file mode 100644 index 0000000..cd73ddd --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.model.entity; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/model/package-info.java b/src/main/java/com/mkruchok/model/package-info.java new file mode 100644 index 0000000..8f40d85 --- /dev/null +++ b/src/main/java/com/mkruchok/model/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.model; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/package-info.java b/src/main/java/com/mkruchok/package-info.java new file mode 100644 index 0000000..4f8c4fa --- /dev/null +++ b/src/main/java/com/mkruchok/package-info.java @@ -0,0 +1 @@ +package com.mkruchok; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/persistant/ConnectionManager.java b/src/main/java/com/mkruchok/persistant/ConnectionManager.java new file mode 100644 index 0000000..ec2f861 --- /dev/null +++ b/src/main/java/com/mkruchok/persistant/ConnectionManager.java @@ -0,0 +1,42 @@ +package com.mkruchok.persistant; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.Connection; +import java.sql.DriverManager; + +@SuppressFBWarnings +public final class ConnectionManager { + private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; + private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/ajax_curr?useUnicode=true&serverTimezone=UTC"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "admin"; + static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManager.class); + private static Connection databaseConnection; + + public ConnectionManager() { + } + + public static Connection getConnection() { + try { + Class.forName(JDBC_DRIVER); + if (databaseConnection == null || databaseConnection.isClosed()) { + try { + databaseConnection = DriverManager.getConnection( + DATABASE_URL, + USERNAME, + PASSWORD + ); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + return databaseConnection; + } + +} diff --git a/src/main/java/com/mkruchok/persistant/package-info.java b/src/main/java/com/mkruchok/persistant/package-info.java new file mode 100644 index 0000000..866ce58 --- /dev/null +++ b/src/main/java/com/mkruchok/persistant/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.persistant; diff --git a/src/main/java/com/mkruchok/service/AbstractService.java b/src/main/java/com/mkruchok/service/AbstractService.java new file mode 100644 index 0000000..a78ab0b --- /dev/null +++ b/src/main/java/com/mkruchok/service/AbstractService.java @@ -0,0 +1,33 @@ +package com.mkruchok.service; + +import java.sql.SQLException; +import java.util.List; + +public interface AbstractService { + + List findAll() throws SQLException; + + default E findById(Integer id) throws SQLException { + return null; + } + + default void update(Integer id, E entity) throws SQLException { + } + + default void create(E entity) throws SQLException { + } + + default void delete(Integer id) throws SQLException { + } + + + default E findByName(String name) throws SQLException { + return null; + } + + default void update(String name, E entity) throws SQLException { + } + + default void delete(String name) throws SQLException { + } +} diff --git a/src/main/java/com/mkruchok/service/implementation/DeviceService.java b/src/main/java/com/mkruchok/service/implementation/DeviceService.java new file mode 100644 index 0000000..d74d996 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/DeviceService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.DeviceDAO; +import com.mkruchok.model.entity.Device; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class DeviceService implements AbstractService { + + private final DeviceDAO dao = new DeviceDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Device findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Device entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Device entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/GroupService.java b/src/main/java/com/mkruchok/service/implementation/GroupService.java new file mode 100644 index 0000000..d2dd862 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/GroupService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.GroupDAO; +import com.mkruchok.model.entity.Group; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class GroupService implements AbstractService { + + private final GroupDAO dao = new GroupDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Group findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Group entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Group entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/HubService.java b/src/main/java/com/mkruchok/service/implementation/HubService.java new file mode 100644 index 0000000..1dfc554 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/HubService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.HubDAO; +import com.mkruchok.model.entity.Hub; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class HubService implements AbstractService { + + private final HubDAO dao = new HubDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Hub findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Hub entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Hub entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/NotificationService.java b/src/main/java/com/mkruchok/service/implementation/NotificationService.java new file mode 100644 index 0000000..1ca2c75 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/NotificationService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.NotificationDAO; +import com.mkruchok.model.entity.Notification; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class NotificationService implements AbstractService { + + private final NotificationDAO dao = new NotificationDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Notification findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Notification entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Notification entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/PermissionService.java b/src/main/java/com/mkruchok/service/implementation/PermissionService.java new file mode 100644 index 0000000..d56cb6e --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/PermissionService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.PermissionDAO; +import com.mkruchok.model.entity.Permission; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class PermissionService implements AbstractService { + + private final PermissionDAO dao = new PermissionDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Permission findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Permission entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Permission entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/RexService.java b/src/main/java/com/mkruchok/service/implementation/RexService.java new file mode 100644 index 0000000..e081414 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/RexService.java @@ -0,0 +1,39 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.RexDAO; +import com.mkruchok.model.entity.Rex; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + +public final class RexService implements AbstractService { + + private final RexDAO dao = new RexDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public Rex findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(Rex entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, Rex entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/UserService.java b/src/main/java/com/mkruchok/service/implementation/UserService.java new file mode 100644 index 0000000..fc850f5 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/UserService.java @@ -0,0 +1,40 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.UserDAO; +import com.mkruchok.model.entity.User; +import com.mkruchok.service.AbstractService; + +import java.sql.SQLException; +import java.util.List; + + +public final class UserService implements AbstractService { + + private final UserDAO dao = new UserDAO(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public User findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(User entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, User entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/package-info.java b/src/main/java/com/mkruchok/service/implementation/package-info.java new file mode 100644 index 0000000..7334fe8 --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.service.implementation; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/service/package-info.java b/src/main/java/com/mkruchok/service/package-info.java new file mode 100644 index 0000000..fab1eb4 --- /dev/null +++ b/src/main/java/com/mkruchok/service/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.service; \ No newline at end of file diff --git a/src/main/java/com/mkruchok/view/Menu.java b/src/main/java/com/mkruchok/view/Menu.java new file mode 100644 index 0000000..7fd56d7 --- /dev/null +++ b/src/main/java/com/mkruchok/view/Menu.java @@ -0,0 +1,24 @@ +package com.mkruchok.view; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public final class Menu { + static final Logger LOGGER = LoggerFactory.getLogger(Menu.class); + public void displayMenu() { + LOGGER.debug(" _________________________________________________"); + LOGGER.debug("| |"); + LOGGER.debug("| Enter entity and CRUD number : |"); + LOGGER.debug("| |"); + LOGGER.debug("| Table: CRUD: |"); + LOGGER.debug("|_________________________________________________|"); + LOGGER.debug("| 1 | user | 1 | GET TABLE |"); + LOGGER.debug("| 2 | hub | 2 | GET ROW BY ID |"); + LOGGER.debug("| 3 | device | 3 | CREATE ROW |"); + LOGGER.debug("| 4 | notification | 4 | UPDATE ROW |"); + LOGGER.debug("| 5 | group | 5 | DELETE ROW |"); + LOGGER.debug("| 6 | permission | | |"); + LOGGER.debug("| 7 | rex | | |"); + LOGGER.debug("|___|__________________|___|______________________|"); + } +} diff --git a/src/main/java/com/mkruchok/view/Printable.java b/src/main/java/com/mkruchok/view/Printable.java new file mode 100644 index 0000000..c536539 --- /dev/null +++ b/src/main/java/com/mkruchok/view/Printable.java @@ -0,0 +1,8 @@ +package com.mkruchok.view; + +import java.sql.SQLException; + +@FunctionalInterface +public interface Printable { + void print() throws SQLException; +} diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java new file mode 100644 index 0000000..1616d7a --- /dev/null +++ b/src/main/java/com/mkruchok/view/View.java @@ -0,0 +1,429 @@ +package com.mkruchok.view; + +import com.mkruchok.controller.implementation.*; +import com.mkruchok.model.entity.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Scanner; + + +public final class View { + private static final Scanner SCANNER = new Scanner(System.in, "UTF-8"); + private final Map menu = new LinkedHashMap<>(); + + private final HubController hubController = new HubController(); + private final DeviceController deviceController = new DeviceController(); + private final NotificationController notificationController = new NotificationController(); + private final GroupController groupController = new GroupController(); + private final PermissionController permissionController = new PermissionController(); + private final UserController userController = new UserController(); + private final RexController rexController = new RexController(); + static final Logger LOGGER = LoggerFactory.getLogger(View.class); + + + public View() { + menu.put("11", this::getAllUsers); + menu.put("12", this::getUserById); + menu.put("13", this::createUser); + menu.put("14", this::updateUser); + menu.put("15", this::deleteUser); + + menu.put("21", this::getAllHubs); + menu.put("22", this::getHubById); + menu.put("23", this::createHub); + menu.put("24", this::updateHub); + menu.put("25", this::deleteHub); + + menu.put("31", this::getAllDevices); + menu.put("32", this::getDeviceByName); + menu.put("33", this::createDevice); + menu.put("34", this::updateDevice); + menu.put("35", this::deleteDevice); + + menu.put("41", this::getAllNotifications); + menu.put("42", this::getNotificationById); + menu.put("43", this::createNotification); + menu.put("44", this::updateNotification); + menu.put("45", this::deleteNotification); + + menu.put("51", this::getAllGroups); + menu.put("52", this::getGroupById); + menu.put("53", this::createGroup); + menu.put("54", this::updateGroup); + menu.put("55", this::deleteGroup); + + menu.put("61", this::getAllPermissions); + menu.put("62", this::getPermissionById); + menu.put("63", this::createPermission); + menu.put("64", this::updatePermission); + menu.put("65", this::deletePermission); + + menu.put("71", this::getAllRexes); + menu.put("72", this::getRexById); + menu.put("73", this::createRex); + menu.put("74", this::updateRex); + menu.put("75", this::deleteRex); + } + + public void show() { + String input; + Menu showMenu = new Menu(); + showMenu.displayMenu(); + LOGGER.debug("\nEnter numbers:\n"); + do { + try { + input = SCANNER.next(); + menu.get(input).print(); + } catch (Exception e) { + LOGGER.debug("\nSomething is not right...\n"); + } + } while (SCANNER.hasNext()); + } + + private void getAllUsers() throws SQLException { + + LOGGER.debug(userController.findAll().toString()); + } + + private void getUserById() throws SQLException { + LOGGER.debug("\nEnter iD: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(userController.findById(id).toString()); + } + + private User getUserInputs(Integer create) { + LOGGER.debug("Enter email: "); + String email = SCANNER.next(); + LOGGER.debug("Enter password: "); + String password = SCANNER.next(); + LOGGER.debug("Enter name: "); + String name = SCANNER.next(); + Timestamp dateCreated = new Timestamp(System.currentTimeMillis()); + String groupId = null; + if (create == 0) { + LOGGER.debug("Enter group id: "); + groupId = SCANNER.next(); + } + return new User(email, password, dateCreated, name, groupId); + } + + private void createUser() throws SQLException { + + User user = getUserInputs(1); + userController.create(user); + LOGGER.debug("User was added to the table.\nEnter numbers: "); + } + + private void updateUser() throws SQLException { + LOGGER.debug("\nEnter id to updаte: "); + Integer id = SCANNER.nextInt(); + User user = getUserInputs(0); + user.setId(id); + userController.update(user.getId(), user); + LOGGER.debug("Updated user, id = " + id); + } + + private void deleteUser() throws SQLException { + LOGGER.debug("\nEnter ID to delete user: "); + int id = SCANNER.nextInt(); + userController.delete(id); + LOGGER.debug("Deleted user, id = " + id); + } + + + private void getAllHubs() throws SQLException { + + LOGGER.debug(hubController.findAll().toString()); + } + + private void getHubById() throws SQLException { + LOGGER.debug("\nEnter Id: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(hubController.findById(id).toString()); + } + + private Hub getHubInputs() { + LOGGER.debug("\nEnter model: "); + String model = SCANNER.next(); + LOGGER.debug("Enter status: "); + String status = SCANNER.next(); + SCANNER.nextLine(); + LOGGER.debug("Enter service_life_end_time: "); + Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter warranty_end_time: "); + Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter users_max: "); + Integer usersMax = SCANNER.nextInt(); + LOGGER.debug("Enter rooms_max: "); + Integer roomsMax = SCANNER.nextInt(); + LOGGER.debug("Enter devices_max: "); + Integer devicesMax = SCANNER.nextInt(); + LOGGER.debug("Enter sirens_max: "); + Integer sirensMax = SCANNER.nextInt(); + LOGGER.debug("Enter on_battery: "); + Integer onBattery = SCANNER.nextInt(); + return new Hub(model, status, serviceLifeEndTime, warrantyEndTime, + usersMax, roomsMax, devicesMax, sirensMax, onBattery); + } + + private void createHub() throws SQLException { + + Hub hub = getHubInputs(); + hubController.create(hub); + LOGGER.debug("Hub was added to the table.\nEnter numbers: "); + } + + private void updateHub() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + Integer id = SCANNER.nextInt(); + Hub hub = getHubInputs(); + hub.setId(id); + hubController.update(hub.getId(), hub); + LOGGER.debug("Updated hub, id = " + id); + } + + private void deleteHub() throws SQLException { + LOGGER.debug("\nEnter id to delete hub: "); + Integer id = SCANNER.nextInt(); + hubController.delete(id); + LOGGER.debug("Deleted hub, id = " + id); + } + + + private void getAllDevices() throws SQLException { + + LOGGER.debug(deviceController.findAll().toString()); + } + + private void getDeviceByName() throws SQLException { + LOGGER.debug("\nEnter Id: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(deviceController.findById(id).toString()); + } + + private Device getDeviceInputs() { + LOGGER.debug("\nEnter model: "); + String model = SCANNER.next(); + LOGGER.debug("Enter status: "); + String status = SCANNER.next(); + SCANNER.nextLine(); + LOGGER.debug("Enter warranty_end_time: "); + Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter service_life_end_time: "); + Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter on_battery: "); + Integer onBattery = SCANNER.nextInt(); + LOGGER.debug("Enter hub_id: "); + Integer hubId = SCANNER.nextInt(); + return new Device(model, status, serviceLifeEndTime, warrantyEndTime, + onBattery, hubId); + } + + private void createDevice() throws SQLException { + + Device device = getDeviceInputs(); + deviceController.create(device); + LOGGER.debug("Device was added to the table.\nEnter numbers: "); + } + + private void updateDevice() throws SQLException { + LOGGER.debug("\nEnter id to update : "); + Integer id = SCANNER.nextInt(); + Device device = getDeviceInputs(); + device.setId(id); + deviceController.update(device.getId(), device); + LOGGER.debug("Updated device, id = " + id); + } + + private void deleteDevice() throws SQLException { + LOGGER.debug("\nEnter id to delete device: "); + Integer id = SCANNER.nextInt(); + deviceController.delete(id); + LOGGER.debug("Deleted device, id = " + id); + } + + + private void getAllNotifications() throws SQLException { + + LOGGER.debug(notificationController.findAll().toString()); + } + + private void getNotificationById() throws SQLException { + LOGGER.debug("\nEnter Id: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(notificationController.findById(id).toString()); + } + + private Notification getNotificationInputs() { + LOGGER.debug("Enter timestamp: "); + Timestamp timestamp = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter type: "); + String type = SCANNER.next(); + LOGGER.debug("\nEnter device_id: "); + Integer deviceId = SCANNER.nextInt(); + LOGGER.debug("\nEnter hub_id: "); + Integer hubId = SCANNER.nextInt(); + return new Notification(timestamp, type, deviceId, hubId); + } + + private void createNotification() throws SQLException { + + Notification notification = getNotificationInputs(); + notificationController.create(notification); + LOGGER.debug("Notification was added to the table.\nEnter numbers: "); + } + + private void updateNotification() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + Integer id = SCANNER.nextInt(); + Notification notification = getNotificationInputs(); + notification.setId(id); + notificationController.update(notification.getId(), notification); + LOGGER.debug("Updated notification, id = " + id); + } + + private void deleteNotification() throws SQLException { + LOGGER.debug("\nEnter id to delete notification: "); + Integer id = SCANNER.nextInt(); + notificationController.delete(id); + LOGGER.debug("Deleted notification, id = " + id); + } + + + private void getAllGroups() throws SQLException { + + LOGGER.debug(groupController.findAll().toString()); + } + + private void getGroupById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(groupController.findById(id).toString()); + } + + private Group getGroupInputs() { + LOGGER.debug("\nEnter name: "); + String name = SCANNER.next(); + LOGGER.debug("\nEnter description: "); + String description = SCANNER.next(); + LOGGER.debug("Enter hub_id: "); + Integer hubId = SCANNER.nextInt(); + return new Group(name, description, hubId); + } + + private void createGroup() throws SQLException { + + Group group = getGroupInputs(); + groupController.create(group); + LOGGER.debug("Group was added to the table.\nEnter numbers: "); + } + + private void updateGroup() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + Integer id = SCANNER.nextInt(); + Group group = getGroupInputs(); + group.setId(id); + groupController.update(group.getId(), group); + LOGGER.debug("Updated group, id = " + id); + } + + private void deleteGroup() throws SQLException { + LOGGER.debug("\nEnter ID to delete group: "); + int id = SCANNER.nextInt(); + groupController.delete(id); + LOGGER.debug("Deleted group, id = " + id); + } + + + private void getAllPermissions() throws SQLException { + + LOGGER.debug(permissionController.findAll().toString()); + } + + private void getPermissionById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(permissionController.findById(id).toString()); + } + + private Permission getPermissionInputs() { + LOGGER.debug("Enter name: "); + String name = SCANNER.next(); + LOGGER.debug("Enter description: "); + String description = SCANNER.next(); + return new Permission(name, description); + } + + private void createPermission() throws SQLException { + + Permission permission = getPermissionInputs(); + permissionController.create(permission); + LOGGER.debug("Permission was added to the table.\nEnter numbers: "); + } + + private void updatePermission() throws SQLException { + LOGGER.debug("\nEnter id to update: "); + Integer id = SCANNER.nextInt(); + Permission permission = getPermissionInputs(); + permission.setId(id); + permissionController.update(permission.getId(), permission); + LOGGER.debug("Updated permission, id = " + id); + } + + private void deletePermission() throws SQLException { + LOGGER.debug("\nEnter ID to delete permission: "); + int id = SCANNER.nextInt(); + permissionController.delete(id); + LOGGER.debug("Deleted permission, id = " + id); + } + + + private void getAllRexes() throws SQLException { + + LOGGER.debug(rexController.findAll().toString()); + } + + private void getRexById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + Integer id = SCANNER.nextInt(); + LOGGER.debug(rexController.findById(id).toString()); + } + + private Rex getRexInputs() { + LOGGER.debug("\nEnter name: "); + String name = SCANNER.next(); + LOGGER.debug("\nEnter range: "); + String range = SCANNER.next(); + LOGGER.debug("Enter hub_id: "); + Integer hubId = SCANNER.nextInt(); + return new Rex(name, range, hubId); + } + + private void createRex() throws SQLException { + + Rex rex = getRexInputs(); + rexController.create(rex); + LOGGER.debug("Rex was added to the table.\nEnter numbers: "); + } + + private void updateRex() throws SQLException { + LOGGER.debug("\nEnter id to update: "); + Integer id = SCANNER.nextInt(); + Rex rex = getRexInputs(); + rex.setId(id); + rexController.update(rex.getId(), rex); + LOGGER.debug("Updated rex, id = " + id); + } + + private void deleteRex() throws SQLException { + LOGGER.debug("\nEnter id to delete rex: "); + int id = SCANNER.nextInt(); + rexController.delete(id); + LOGGER.debug("Deleted rex, id = " + id); + } +} diff --git a/src/main/java/com/mkruchok/view/package-info.java b/src/main/java/com/mkruchok/view/package-info.java new file mode 100644 index 0000000..45044f2 --- /dev/null +++ b/src/main/java/com/mkruchok/view/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.view; \ No newline at end of file From d3a71298cbabaf3a324d12681ae19f05483032d1 Mon Sep 17 00:00:00 2001 From: Phlake Date: Sun, 15 May 2022 16:46:51 +0300 Subject: [PATCH 2/8] Added necessary files --- .gitignore | 2 +- pom.xml | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore index 1201cbd..a14753b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ *.html *.css *.rss -*.xml + *target # Flutter/Dart/Pub related diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..07b02b8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,93 @@ + + + 4.0.0 + + com.mkruchok + DB4MK + 1.0-SNAPSHOT + + + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.13.0 + + + + + + org.apache.maven.plugins + maven-site-plugin + 3.7.1 + + + org.apache.maven.plugins + maven-pmd-plugin + 3.13.0 + + + maven-compiler-plugin + 3.5.1 + + 1.8 + 1.8 + + + + + + + org.projectlombok + lombok + 1.18.24 + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.1.2 + + + mysql + mysql-connector-java + 8.0.29 + + + com.google.code.findbugs + annotations + 3.0.1 + provided + + + ch.qos.logback + logback-classic + 1.2.11 + + + com.puppycrawl.tools + checkstyle + 10.2 + + + + + + org.codehaus.mojo + findbugs-maven-plugin + 3.0.5 + + true + target/site + + + + org.apache.maven.plugins + maven-pmd-plugin + 3.13.0 + + + + From d766ef23d7205d1f2d99c5e59d37f378c04ec7d9 Mon Sep 17 00:00:00 2001 From: Phlake Date: Tue, 17 May 2022 21:23:27 +0300 Subject: [PATCH 3/8] Changed column names according to lab_5 changes --- .../implementation/GroupController.java | 12 ++--- .../model/dao/implementation/DeviceDAO.java | 12 ++--- .../model/dao/implementation/GroupDAO.java | 46 +++++++++---------- .../model/dao/implementation/HubDAO.java | 12 ++--- .../dao/implementation/NotificationDAO.java | 12 ++--- .../dao/implementation/PermissionDAO.java | 16 +++---- .../model/dao/implementation/RexDAO.java | 22 ++++----- .../model/dao/implementation/UserDAO.java | 20 ++++---- .../com/mkruchok/model/entity/Device.java | 24 ++++------ .../java/com/mkruchok/model/entity/Group.java | 34 -------------- .../java/com/mkruchok/model/entity/Hub.java | 29 ++++-------- .../com/mkruchok/model/entity/HubGroup.java | 31 +++++++++++++ .../mkruchok/model/entity/Notification.java | 20 ++++---- .../com/mkruchok/model/entity/Permission.java | 18 ++++---- .../java/com/mkruchok/model/entity/Rex.java | 22 ++++----- .../java/com/mkruchok/model/entity/User.java | 25 ++++------ .../service/implementation/GroupService.java | 12 ++--- src/main/java/com/mkruchok/view/View.java | 14 +++--- 18 files changed, 174 insertions(+), 207 deletions(-) delete mode 100644 src/main/java/com/mkruchok/model/entity/Group.java create mode 100644 src/main/java/com/mkruchok/model/entity/HubGroup.java diff --git a/src/main/java/com/mkruchok/controller/implementation/GroupController.java b/src/main/java/com/mkruchok/controller/implementation/GroupController.java index a309428..8e45849 100644 --- a/src/main/java/com/mkruchok/controller/implementation/GroupController.java +++ b/src/main/java/com/mkruchok/controller/implementation/GroupController.java @@ -1,33 +1,33 @@ package com.mkruchok.controller.implementation; import com.mkruchok.controller.AbstractController; -import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.HubGroup; import com.mkruchok.service.implementation.GroupService; import java.sql.SQLException; import java.util.List; -public final class GroupController implements AbstractController { +public final class GroupController implements AbstractController { private final GroupService service = new GroupService(); @Override - public List findAll() throws SQLException { + public List findAll() throws SQLException { return service.findAll(); } @Override - public Group findById(Integer id) throws SQLException { + public HubGroup findById(Integer id) throws SQLException { return service.findById(id); } @Override - public void create(Group entity) throws SQLException { + public void create(HubGroup entity) throws SQLException { service.create(entity); } @Override - public void update(Integer id, Group entity) throws SQLException { + public void update(Integer id, HubGroup entity) throws SQLException { service.update(id, entity); } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java index df07038..742853c 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java @@ -21,10 +21,10 @@ public final class DeviceDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.device"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.device WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.device " - + "(`model`,`status`,`service_life_end_time`,`warranty_end_time`,`on_battery`,`hub_id`)" + + + "(`model`,`device_status`,`service_life_end_time`,`warranty_end_time`,`on_battery`,`hub_id`)" + " VALUES (?, ?, ?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.device" - + " SET model=?, status=?, service_life_end_time=?, warranty_end_time=?, on_battery=?, hub_id=? WHERE id=?"; + + " SET model=?, device_status=?, service_life_end_time=?, warranty_end_time=?, on_battery=?, hub_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.device WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(DeviceDAO.class); @@ -39,7 +39,7 @@ public List findAll() throws SQLException { Device device = new Device( resultSet.getInt("id"), resultSet.getString("model"), - resultSet.getString("status"), + resultSet.getString("device_status"), resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("on_battery"), @@ -65,7 +65,7 @@ public Device findById(Integer id) throws SQLException { device = new Device( resultSet.getInt("id"), resultSet.getString("model"), - resultSet.getString("status"), + resultSet.getString("device_status"), resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("on_battery"), @@ -83,7 +83,7 @@ public Device findById(Integer id) throws SQLException { public void create(Device device) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { statement.setString(1, device.getModel()); - statement.setString(2, device.getStatus()); + statement.setString(2, device.getDeviceStatus()); statement.setTimestamp(3, device.getServiceLifeEndTime()); statement.setTimestamp(4, device.getWarrantyEndTime()); statement.setInt(5, device.getOnBattery()); @@ -99,7 +99,7 @@ public void create(Device device) throws SQLException { @Override public void update(Integer id, Device device) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(2, device.getStatus()); + statement.setString(2, device.getDeviceStatus()); statement.setString(1, device.getModel()); statement.setTimestamp(3, device.getServiceLifeEndTime()); statement.setTimestamp(4, device.getWarrantyEndTime()); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java index d996002..ec4511f 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java @@ -1,7 +1,7 @@ package com.mkruchok.model.dao.implementation; import com.mkruchok.model.dao.AbstractDAO; -import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.HubGroup; import com.mkruchok.persistant.ConnectionManager; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.slf4j.Logger; @@ -14,29 +14,29 @@ import java.util.List; @SuppressFBWarnings @SuppressWarnings("magicnumber") -public final class GroupDAO implements AbstractDAO { +public final class GroupDAO implements AbstractDAO { - private static final String GET_ALL = "SELECT * FROM ajax_curr.group"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.group WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.group " - + "(`name`,`description`,`hub_id`)" + + private static final String GET_ALL = "SELECT * FROM ajax_curr.hub_group"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub_group WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.hub_group " + + "(`group_name`,`group_description`,`hub_id`)" + " VALUES (?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.group" - + " SET name=?, description=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.group WHERE id=?"; + private static final String UPDATE = "UPDATE ajax_curr.hub_group" + + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.hub_group WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(GroupDAO.class); @Override - public List findAll() throws SQLException { - List groups = new ArrayList<>(); + public List findAll() throws SQLException { + List groups = new ArrayList<>(); try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { LOGGER.info(String.valueOf(statement)); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { - Group group = new Group( + HubGroup group = new HubGroup( resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("description"), + resultSet.getString("group_name"), + resultSet.getString("group_description"), resultSet.getInt("hub_id") ); groups.add(group); @@ -49,14 +49,14 @@ public List findAll() throws SQLException { } @Override - public Group findById(Integer id) throws SQLException { - Group group = null; + public HubGroup findById(Integer id) throws SQLException { + HubGroup group = null; try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { statement.setInt(1, id); LOGGER.info(String.valueOf(statement)); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { - group = new Group( + group = new HubGroup( resultSet.getInt("id"), resultSet.getString("name"), resultSet.getString("description"), @@ -71,10 +71,10 @@ public Group findById(Integer id) throws SQLException { } @Override - public void create(Group group) throws SQLException { + public void create(HubGroup group) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, group.getName()); - statement.setString(2, group.getDescription()); + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); statement.setInt(3, group.getHubId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -85,10 +85,10 @@ public void create(Group group) throws SQLException { } @Override - public void update(Integer id, Group group) throws SQLException { + public void update(Integer id, HubGroup group) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, group.getName()); - statement.setString(2, group.getDescription()); + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); statement.setInt(3, group.getHubId()); statement.setInt(4, group.getId()); statement.executeUpdate(); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java index b6bcbd7..f46b802 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java @@ -19,10 +19,10 @@ public final class HubDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.hub"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.hub " - + "(`model`,`status`,`service_life_end_time`,`warranty_end_time`,`users_max`,`rooms_max`," + + + "(`model`,`hub_status`,`service_life_end_time`,`warranty_end_time`,`users_max`,`rooms_max`," + "`devices_max`,`sirens_max`,`on_battery`) VALUES (?, ?, ?, ?,?, ?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.hub" - + " SET model=?, status=?, service_life_end_time=?, warranty_end_time=?, users_max=?, rooms_max=?, " + + + " SET model=?, hub_status=?, service_life_end_time=?, warranty_end_time=?, users_max=?, rooms_max=?, " + "devices_max=?, sirens_max=?, on_battery=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.hub WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(HubDAO.class); @@ -37,7 +37,7 @@ public List findAll() throws SQLException { Hub hub = new Hub( resultSet.getInt("id"), resultSet.getString("model"), - resultSet.getString("status"), + resultSet.getString("hub_status"), resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("users_max"), @@ -67,7 +67,7 @@ public Hub findById(Integer id) throws SQLException { hub = new Hub( resultSet.getInt("id"), resultSet.getString("model"), - resultSet.getString("status"), + resultSet.getString("hub_status"), resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("users_max"), @@ -88,7 +88,7 @@ public Hub findById(Integer id) throws SQLException { public void create(Hub hub) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { statement.setString(1, hub.getModel()); - statement.setString(2, hub.getStatus()); + statement.setString(2, hub.getHubStatus()); statement.setTimestamp(3, hub.getServiceLifeEndTime()); statement.setTimestamp(4, hub.getWarrantyEndTime()); statement.setInt(6, hub.getRoomsMax()); @@ -108,7 +108,7 @@ public void create(Hub hub) throws SQLException { public void update(Integer id, Hub hub) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { statement.setString(1, hub.getModel()); - statement.setString(2, hub.getStatus()); + statement.setString(2, hub.getHubStatus()); statement.setTimestamp(3, hub.getServiceLifeEndTime()); statement.setTimestamp(4, hub.getWarrantyEndTime()); statement.setInt(5, hub.getUsersMax()); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java index 1a072e8..3fe427e 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java @@ -19,10 +19,10 @@ public final class NotificationDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.notification"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.notification WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.notification " - + "(`timestamp`,`type`,`device_id`,`hub_id`)" + + + "(`timestamp`,`notification_type`,`device_id`,`hub_id`)" + " VALUES (?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.notification" - + " SET timestamp=?, type=?, device_id=?, hub_id=? WHERE id=?"; + + " SET timestamp=?, notification_type=?, device_id=?, hub_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.notification WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(NotificationDAO.class); @@ -36,7 +36,7 @@ public List findAll() throws SQLException { Notification notification = new Notification( resultSet.getInt("id"), resultSet.getTimestamp("timestamp"), - resultSet.getString("type"), + resultSet.getString("notification_type"), resultSet.getInt("device_id"), resultSet.getInt("hub_id") ); @@ -60,7 +60,7 @@ public Notification findById(Integer id) throws SQLException { notification = new Notification( resultSet.getInt("id"), resultSet.getTimestamp("timestamp"), - resultSet.getString("type"), + resultSet.getString("notification_type"), resultSet.getInt("device_id"), resultSet.getInt("hub_id") ); @@ -76,7 +76,7 @@ public Notification findById(Integer id) throws SQLException { public void create(Notification notification) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getType()); + statement.setString(2, notification.getNotificationType()); statement.setInt(3, notification.getDeviceId()); statement.setInt(4, notification.getHubId()); statement.executeUpdate(); @@ -91,7 +91,7 @@ public void create(Notification notification) throws SQLException { public void update(Integer id, Notification notification) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getType()); + statement.setString(2, notification.getNotificationType()); statement.setInt(3, notification.getDeviceId()); statement.setInt(4, notification.getHubId()); statement.setInt(5, notification.getId()); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java index aa42a48..51b5b21 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java @@ -19,10 +19,10 @@ public final class PermissionDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.permission " - + "(`name`,`description`)" + + + "(`permission_name`,`permission_description`)" + " VALUES (?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.permission" - + " SET name=?, description=? WHERE id=?"; + + " SET permission_name=?, permission_description=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(PermissionDAO.class); @@ -35,8 +35,8 @@ public List findAll() throws SQLException { while (resultSet.next()) { Permission permission = new Permission( resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("description") + resultSet.getString("permission_name"), + resultSet.getString("permission_description") ); permissions.add(permission); } @@ -57,8 +57,8 @@ public Permission findById(Integer id) throws SQLException { while (resultSet.next()) { permission = new Permission( resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("description") + resultSet.getString("permission_name"), + resultSet.getString("permission_description") ); } resultSet.close(); @@ -71,7 +71,7 @@ public Permission findById(Integer id) throws SQLException { @Override public void create(Permission permission) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, permission.getName()); + statement.setString(1, permission.getPermissionName()); statement.setString(2, permission.getDescription()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -84,7 +84,7 @@ public void create(Permission permission) throws SQLException { @Override public void update(Integer id, Permission permission) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, permission.getName()); + statement.setString(1, permission.getPermissionName()); statement.setString(2, permission.getDescription()); statement.setInt(3, permission.getId()); statement.executeUpdate(); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java index dfc963e..361cc60 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java @@ -19,11 +19,11 @@ public final class RexDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.rex"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.rex WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.rex " - + "(`name`,`range`,`hub_id`)" + + + "(`rex_name`,`rex_range`,`hub_id`)" + " VALUES (?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.rex" - + " SET name=?, range=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.group WHERE id=?"; + + " SET rex_name=?, rex_range=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.rex WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(RexDAO.class); @Override @@ -35,8 +35,8 @@ public List findAll() throws SQLException { while (resultSet.next()) { Rex rex = new Rex( resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("range"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), resultSet.getInt("hub_id") ); rexes.add(rex); @@ -58,8 +58,8 @@ public Rex findById(Integer id) throws SQLException { while (resultSet.next()) { rex = new Rex( resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("range"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), resultSet.getInt("hub_id") ); } @@ -73,8 +73,8 @@ public Rex findById(Integer id) throws SQLException { @Override public void create(Rex rex) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, rex.getName()); - statement.setString(2, rex.getRange()); + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); statement.setInt(3, rex.getHubId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -87,8 +87,8 @@ public void create(Rex rex) throws SQLException { @Override public void update(Integer id, Rex rex) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, rex.getName()); - statement.setString(2, rex.getRange()); + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); statement.setInt(3, rex.getHubId()); statement.setInt(4, rex.getId()); statement.executeUpdate(); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java index 1acd375..4687a16 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java @@ -19,9 +19,9 @@ public final class UserDAO implements AbstractDAO { private static final String GET_ALL = "SELECT * FROM ajax_curr.user"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.user WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.user " - + "(`email`, `password`, `date_created`, `name`, `group_id`) VALUES (?, ?, ?, ?, ?)"; + + "(`email`, `user_password`, `date_created`, `user_name`, `group_id`) VALUES (?, ?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.user" - + " SET email=?, password=?, date_created=?, name=?, group_id=? WHERE id=?"; + + " SET email=?, user_password=?, date_created=?, user_name=?, group_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.user WHERE id=?"; static final Logger LOGGER = LoggerFactory.getLogger(UserDAO.class); @@ -35,9 +35,9 @@ public List findAll() throws SQLException { User user = new User( resultSet.getInt("id"), resultSet.getString("email"), - resultSet.getString("password"), + resultSet.getString("user_password"), resultSet.getTimestamp("date_created"), - resultSet.getString("name"), + resultSet.getString("user_name"), resultSet.getString("group_id") ); users.add(user); @@ -60,9 +60,9 @@ public User findById(Integer id) throws SQLException { user = new User( resultSet.getInt("id"), resultSet.getString("email"), - resultSet.getString("password"), + resultSet.getString("user_password"), resultSet.getTimestamp("date_created"), - resultSet.getString("name"), + resultSet.getString("user_name"), resultSet.getString("group_id") ); } @@ -77,9 +77,9 @@ public User findById(Integer id) throws SQLException { public void create(User user) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { statement.setString(1, user.getEmail()); - statement.setString(2, user.getPassword()); + statement.setString(2, user.getUserPassword()); statement.setTimestamp(3, user.getDateCreated()); - statement.setString(4, user.getName()); + statement.setString(4, user.getUserName()); statement.setString(5, user.getGroupId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -93,9 +93,9 @@ public void create(User user) throws SQLException { public void update(Integer id, User user) throws SQLException { try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { statement.setString(1, user.getEmail()); - statement.setString(2, user.getPassword()); + statement.setString(2, user.getUserPassword()); statement.setTimestamp(3, user.getDateCreated()); - statement.setString(4, user.getName()); + statement.setString(4, user.getUserName()); statement.setString(5, user.getGroupId()); statement.setInt(6, user.getId()); statement.executeUpdate(); diff --git a/src/main/java/com/mkruchok/model/entity/Device.java b/src/main/java/com/mkruchok/model/entity/Device.java index 8bc48a8..6308673 100644 --- a/src/main/java/com/mkruchok/model/entity/Device.java +++ b/src/main/java/com/mkruchok/model/entity/Device.java @@ -2,47 +2,39 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; import java.sql.Timestamp; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class Device { private Integer id; private String model; - private String status; + private String deviceStatus; private Timestamp serviceLifeEndTime; private Timestamp warrantyEndTime; private Integer onBattery; private Integer hubId; - public Device(Integer id, String model, String status, Timestamp serviceLifeEndTime, - Timestamp warrantyEndTime, Integer onBattery, Integer hubId) { - this.id = id; - this.model = model; - this.status = status; - this.serviceLifeEndTime = serviceLifeEndTime; - this.warrantyEndTime = warrantyEndTime; - this.onBattery = onBattery; - this.hubId = hubId; - } - public Device(String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, - Integer onBattery, Integer hubId) { + public Device(String model, String deviceStatus, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, Integer onBattery, Integer hubId) { this.model = model; - this.status = status; + this.deviceStatus = deviceStatus; this.serviceLifeEndTime = serviceLifeEndTime; this.warrantyEndTime = warrantyEndTime; this.onBattery = onBattery; this.hubId = hubId; } - @Override public String toString() { - return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + status + ", service_life_end_time: " + + return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + deviceStatus + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", on_battery: " + onBattery + ", hub_id: " + hubId; } diff --git a/src/main/java/com/mkruchok/model/entity/Group.java b/src/main/java/com/mkruchok/model/entity/Group.java deleted file mode 100644 index ecbf70f..0000000 --- a/src/main/java/com/mkruchok/model/entity/Group.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.mkruchok.model.entity; - -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; -import lombok.Setter; - -@SuppressFBWarnings -@Getter -@Setter -public final class Group { - private Integer id; - private String name; - private String description; - private Integer hubId; - - public Group(Integer id, String name, String description, Integer hubId) { - this.id = id; - this.name = name; - this.description = description; - this.hubId = hubId; - } - - public Group(String name, String description, Integer hubId) { - this.name = name; - this.description = description; - this.hubId = hubId; - } - - @Override - public String toString() { - return "\n\nGroup: id: " + id + ", name: " + name + ", description: " + description + ", hub_id: " + - hubId; - } -} diff --git a/src/main/java/com/mkruchok/model/entity/Hub.java b/src/main/java/com/mkruchok/model/entity/Hub.java index cc1c921..b99ab1e 100644 --- a/src/main/java/com/mkruchok/model/entity/Hub.java +++ b/src/main/java/com/mkruchok/model/entity/Hub.java @@ -2,17 +2,21 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; import java.sql.Timestamp; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class Hub { private Integer id; private String model; - private String status; + private String hubStatus; private Timestamp serviceLifeEndTime; private Timestamp warrantyEndTime; private Integer usersMax; @@ -21,25 +25,12 @@ public final class Hub { private Integer sirensMax; private Integer onBattery; - public Hub(Integer id, String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, + public Hub(String model, String hubStatus, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, Integer usersMax, Integer roomsMax, Integer devicesMax, Integer sirensMax, Integer onBattery) { - this.id = id; this.model = model; - this.status = status; - this.serviceLifeEndTime = new Timestamp(serviceLifeEndTime.getTime()); - this.warrantyEndTime = new Timestamp(warrantyEndTime.getTime()); - this.usersMax = usersMax; - this.roomsMax = roomsMax; - this.devicesMax = devicesMax; - this.sirensMax = sirensMax; - this.onBattery = onBattery; - } - - public Hub(String model, String status, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, Integer usersMax, Integer roomsMax, Integer devicesMax, Integer sirensMax, Integer onBattery) { - this.model = model; - this.status = status; - this.serviceLifeEndTime = new Timestamp(serviceLifeEndTime.getTime()); - this.warrantyEndTime = new Timestamp(warrantyEndTime.getTime()); + this.hubStatus = hubStatus; + this.serviceLifeEndTime = serviceLifeEndTime; + this.warrantyEndTime = warrantyEndTime; this.usersMax = usersMax; this.roomsMax = roomsMax; this.devicesMax = devicesMax; @@ -49,6 +40,6 @@ public Hub(String model, String status, Timestamp serviceLifeEndTime, Timestamp @Override public String toString() { - return "\n\nHub: id: " + id + ", model: " + model + ", status: " + status + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", users_max: " + usersMax + ", rooms_max: " + roomsMax + ", devices_max: " + devicesMax + ", sirens_max: " + sirensMax + ", on_battery: " + onBattery + "]"; + return "\n\nHub: id: " + id + ", model: " + model + ", status: " + hubStatus + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", users_max: " + usersMax + ", rooms_max: " + roomsMax + ", devices_max: " + devicesMax + ", sirens_max: " + sirensMax + ", on_battery: " + onBattery + "]"; } } diff --git a/src/main/java/com/mkruchok/model/entity/HubGroup.java b/src/main/java/com/mkruchok/model/entity/HubGroup.java new file mode 100644 index 0000000..8f3524e --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/HubGroup.java @@ -0,0 +1,31 @@ +package com.mkruchok.model.entity; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor +@Getter +@Setter +public final class HubGroup { + private Integer id; + private String groupName; + private String groupDescription; + private Integer hubId; + + public HubGroup(String groupName, String groupDescription, Integer hubId) { + this.groupName = groupName; + this.groupDescription = groupDescription; + this.hubId = hubId; + } + + @Override + public String toString() { + return "\n\nGroup: id: " + id + ", name: " + groupName + ", description: " + groupDescription + ", hub_id: " + + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Notification.java b/src/main/java/com/mkruchok/model/entity/Notification.java index 763134e..3090557 100644 --- a/src/main/java/com/mkruchok/model/entity/Notification.java +++ b/src/main/java/com/mkruchok/model/entity/Notification.java @@ -2,38 +2,34 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; import java.sql.Timestamp; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class Notification { private Integer id; private Timestamp timestamp; - private String type; + private String notificationType; private Integer deviceId; private Integer hubId; - public Notification(Integer id, Timestamp timestamp, String type, Integer deviceId, Integer hubId) { - this.id = id; + public Notification(Timestamp timestamp, String notificationType, Integer deviceId, Integer hubId) { this.timestamp = timestamp; - this.type = type; - this.deviceId = deviceId; - this.hubId = hubId; - } - - public Notification(Timestamp timestamp, String type, Integer deviceId, Integer hubId) { - this.timestamp = timestamp; - this.type = type; + this.notificationType = notificationType; this.deviceId = deviceId; this.hubId = hubId; } @Override public String toString() { - return "\n\nNotification: id: " + id + ", timestamp: " + timestamp + ", type: " + type + ", device_id: " + + return "\n\nNotification: id: " + id + ", timestamp: " + timestamp + ", type: " + notificationType + ", device_id: " + deviceId + ", hub_id: " + hubId; } } diff --git a/src/main/java/com/mkruchok/model/entity/Permission.java b/src/main/java/com/mkruchok/model/entity/Permission.java index f77c642..d5b1cc3 100644 --- a/src/main/java/com/mkruchok/model/entity/Permission.java +++ b/src/main/java/com/mkruchok/model/entity/Permission.java @@ -2,29 +2,27 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class Permission { private Integer id; - private String name; + private String permissionName; private String description; - public Permission(Integer id, String name, String description) { - this.id = id; - this.name = name; - this.description = description; - } - - public Permission(String name, String description) { - this.name = name; + public Permission(String permissionName, String description) { + this.permissionName = permissionName; this.description = description; } @Override public String toString() { - return "\n\nPermission: id: " + id + ", name: " + name + ", description: " + description; + return "\n\nPermission: id: " + id + ", name: " + permissionName + ", description: " + description; } } diff --git a/src/main/java/com/mkruchok/model/entity/Rex.java b/src/main/java/com/mkruchok/model/entity/Rex.java index 3b9b52b..700c4b0 100644 --- a/src/main/java/com/mkruchok/model/entity/Rex.java +++ b/src/main/java/com/mkruchok/model/entity/Rex.java @@ -2,33 +2,31 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class Rex { private Integer id; - private String name; - private String range; + private String rexName; + private String rexRange; private Integer hubId; - public Rex(Integer id, String name, String range, Integer hubId) { - this.id = id; - this.name = name; - this.range = range; - this.hubId = hubId; - } - public Rex(String name, String range, Integer hubId) { - this.name = name; - this.range = range; + public Rex(String rexName, String rexRange, Integer hubId) { + this.rexName = rexName; + this.rexRange = rexRange; this.hubId = hubId; } @Override public String toString() { - return "\n\nRex: id: " + id + ", name: " + name + ", range: " + range + ", hub_id: " + + return "\n\nRex: id: " + id + ", name: " + rexName + ", range: " + rexRange + ", hub_id: " + hubId; } } diff --git a/src/main/java/com/mkruchok/model/entity/User.java b/src/main/java/com/mkruchok/model/entity/User.java index 7d045b9..fc9c63b 100644 --- a/src/main/java/com/mkruchok/model/entity/User.java +++ b/src/main/java/com/mkruchok/model/entity/User.java @@ -3,40 +3,35 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import lombok.Getter; +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; import lombok.Setter; import java.sql.Timestamp; @SuppressFBWarnings +@AllArgsConstructor +@NoArgsConstructor @Getter @Setter public final class User { private Integer id; private String email; - private String password; + private String userPassword; private Timestamp dateCreated; - private String name; + private String userName; private String groupId; - public User(Integer id, String email, String password, Timestamp dateCreated, String name, String groupId) { - this.id = id; + public User(String email, String userPassword, Timestamp dateCreated, String userName, String groupId) { this.email = email; - this.password = password; + this.userPassword = userPassword; this.dateCreated = dateCreated; - this.name = name; - this.groupId = groupId; - } - - public User(String email, String password, Timestamp dateCreated, String name, String groupId) { - this.email = email; - this.password = password; - this.dateCreated = dateCreated; - this.name = name; + this.userName = userName; this.groupId = groupId; } @Override public String toString() { - return "\n\nUser: id: " + id + ", email: " + email + ", password: " + password + ", date created: " + + return "\n\nUser: id: " + id + ", email: " + email + ", password: " + userPassword + ", date created: " + dateCreated; } } diff --git a/src/main/java/com/mkruchok/service/implementation/GroupService.java b/src/main/java/com/mkruchok/service/implementation/GroupService.java index d2dd862..33f346c 100644 --- a/src/main/java/com/mkruchok/service/implementation/GroupService.java +++ b/src/main/java/com/mkruchok/service/implementation/GroupService.java @@ -1,33 +1,33 @@ package com.mkruchok.service.implementation; import com.mkruchok.model.dao.implementation.GroupDAO; -import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.HubGroup; import com.mkruchok.service.AbstractService; import java.sql.SQLException; import java.util.List; -public final class GroupService implements AbstractService { +public final class GroupService implements AbstractService { private final GroupDAO dao = new GroupDAO(); @Override - public List findAll() throws SQLException { + public List findAll() throws SQLException { return dao.findAll(); } @Override - public Group findById(Integer id) throws SQLException { + public HubGroup findById(Integer id) throws SQLException { return dao.findById(id); } @Override - public void create(Group entity) throws SQLException { + public void create(HubGroup entity) throws SQLException { dao.create(entity); } @Override - public void update(Integer id, Group entity) throws SQLException { + public void update(Integer id, HubGroup entity) throws SQLException { dao.update(id, entity); } diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index 1616d7a..44c85a6 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -100,7 +100,7 @@ private User getUserInputs(Integer create) { LOGGER.debug("Enter email: "); String email = SCANNER.next(); LOGGER.debug("Enter password: "); - String password = SCANNER.next(); + String user_password = SCANNER.next(); LOGGER.debug("Enter name: "); String name = SCANNER.next(); Timestamp dateCreated = new Timestamp(System.currentTimeMillis()); @@ -109,7 +109,7 @@ private User getUserInputs(Integer create) { LOGGER.debug("Enter group id: "); groupId = SCANNER.next(); } - return new User(email, password, dateCreated, name, groupId); + return new User(email, user_password, dateCreated, name, groupId); } private void createUser() throws SQLException { @@ -260,7 +260,7 @@ private void getNotificationById() throws SQLException { } private Notification getNotificationInputs() { - LOGGER.debug("Enter timestamp: "); + LOGGER.debug("Enter timestamp: ");SCANNER.nextLine(); Timestamp timestamp = Timestamp.valueOf(SCANNER.nextLine()); LOGGER.debug("Enter type: "); String type = SCANNER.next(); @@ -306,19 +306,19 @@ private void getGroupById() throws SQLException { LOGGER.debug(groupController.findById(id).toString()); } - private Group getGroupInputs() { + private HubGroup getGroupInputs() { LOGGER.debug("\nEnter name: "); String name = SCANNER.next(); LOGGER.debug("\nEnter description: "); String description = SCANNER.next(); LOGGER.debug("Enter hub_id: "); Integer hubId = SCANNER.nextInt(); - return new Group(name, description, hubId); + return new HubGroup(name, description, hubId); } private void createGroup() throws SQLException { - Group group = getGroupInputs(); + HubGroup group = getGroupInputs(); groupController.create(group); LOGGER.debug("Group was added to the table.\nEnter numbers: "); } @@ -326,7 +326,7 @@ private void createGroup() throws SQLException { private void updateGroup() throws SQLException { LOGGER.debug("\nEnter id to update:"); Integer id = SCANNER.nextInt(); - Group group = getGroupInputs(); + HubGroup group = getGroupInputs(); group.setId(id); groupController.update(group.getId(), group); LOGGER.debug("Updated group, id = " + id); From cc32fef0ee12a82e34ae04633491505c29d78e04 Mon Sep 17 00:00:00 2001 From: Phlake Date: Sat, 21 May 2022 20:39:59 +0300 Subject: [PATCH 4/8] Reformatted, improved logic --- pom.xml | 37 + src/main/java/com/mkruchok/Application.java | 7 +- .../controller/AbstractController.java | 25 +- .../implementation/DeviceController.java | 43 +- .../implementation/GroupController.java | 47 +- .../implementation/HubController.java | 43 +- .../NotificationController.java | 43 +- .../implementation/PermissionController.java | 43 +- .../implementation/RexController.java | 43 +- .../implementation/UserController.java | 43 +- .../com/mkruchok/model/dao/AbstractDAO.java | 32 +- .../model/dao/implementation/DeviceDAO.java | 190 ++-- .../model/dao/implementation/GroupDAO.java | 166 ++-- .../model/dao/implementation/HubDAO.java | 214 ++--- .../dao/implementation/NotificationDAO.java | 172 ++-- .../dao/implementation/PermissionDAO.java | 156 ++-- .../model/dao/implementation/RexDAO.java | 163 ++-- .../model/dao/implementation/UserDAO.java | 179 ++-- .../com/mkruchok/model/entity/Device.java | 41 +- .../java/com/mkruchok/model/entity/Group.java | 26 + .../java/com/mkruchok/model/entity/Hub.java | 52 +- .../com/mkruchok/model/entity/HubGroup.java | 31 - .../mkruchok/model/entity/Notification.java | 32 +- .../com/mkruchok/model/entity/Permission.java | 25 +- .../java/com/mkruchok/model/entity/Rex.java | 34 +- .../java/com/mkruchok/model/entity/User.java | 36 +- .../persistant/ConnectionManager.java | 42 - .../com/mkruchok/persistant/package-info.java | 1 - .../persistent/ConnectionManager.java | 37 + .../com/mkruchok/persistent/package-info.java | 1 + .../com/mkruchok/service/AbstractService.java | 31 +- .../service/implementation/DeviceService.java | 45 +- .../service/implementation/GroupService.java | 49 +- .../service/implementation/HubService.java | 45 +- .../implementation/NotificationService.java | 45 +- .../implementation/PermissionService.java | 45 +- .../service/implementation/RexService.java | 45 +- .../service/implementation/UserService.java | 45 +- src/main/java/com/mkruchok/view/Menu.java | 35 +- .../java/com/mkruchok/view/Printable.java | 2 +- src/main/java/com/mkruchok/view/View.java | 861 +++++++++--------- 41 files changed, 1536 insertions(+), 1716 deletions(-) create mode 100644 src/main/java/com/mkruchok/model/entity/Group.java delete mode 100644 src/main/java/com/mkruchok/model/entity/HubGroup.java delete mode 100644 src/main/java/com/mkruchok/persistant/ConnectionManager.java delete mode 100644 src/main/java/com/mkruchok/persistant/package-info.java create mode 100644 src/main/java/com/mkruchok/persistent/ConnectionManager.java create mode 100644 src/main/java/com/mkruchok/persistent/package-info.java diff --git a/pom.xml b/pom.xml index 07b02b8..d683bdf 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,11 @@ com.mkruchok DB4MK 1.0-SNAPSHOT + + UTF-8 + UTF-8 + https://github.com/MKruchok/Databases/tree/lab_4 + @@ -19,11 +24,28 @@ + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.1.2 + + + com.puppycrawl.tools + checkstyle + 10.2 + + + org.apache.maven.plugins maven-site-plugin 3.7.1 + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.3.0 + org.apache.maven.plugins maven-pmd-plugin @@ -83,6 +105,21 @@ target/site + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.1.2 + + google_checks.xml + + + + + checkstyle + + + + org.apache.maven.plugins maven-pmd-plugin diff --git a/src/main/java/com/mkruchok/Application.java b/src/main/java/com/mkruchok/Application.java index d271f52..5673f70 100644 --- a/src/main/java/com/mkruchok/Application.java +++ b/src/main/java/com/mkruchok/Application.java @@ -1,8 +1,9 @@ package com.mkruchok; import com.mkruchok.view.View; + public final class Application { - public static void main(final String[] args) { - new View().show(); - } + public static void main(final String[] args) { + new View().show(); + } } diff --git a/src/main/java/com/mkruchok/controller/AbstractController.java b/src/main/java/com/mkruchok/controller/AbstractController.java index a84425f..748d427 100644 --- a/src/main/java/com/mkruchok/controller/AbstractController.java +++ b/src/main/java/com/mkruchok/controller/AbstractController.java @@ -5,24 +5,19 @@ public interface AbstractController { - List findAll() throws SQLException; + List findAll() throws SQLException; - default E findById(Integer id) throws SQLException { - return null; - } + default E findById(Integer id) throws SQLException { + return null; + } - default void create(E entity) throws SQLException { - } + default void create(E entity) throws SQLException { + } - default void update(Integer id, E entity) throws SQLException { - } + default void update(Integer id, E entity) throws SQLException { + } - default void delete(Integer id) throws SQLException { - } + default void delete(Integer id) throws SQLException { + } - default void update(String name, E entity) throws SQLException { - } - - default void delete(String name) throws SQLException { - } } diff --git a/src/main/java/com/mkruchok/controller/implementation/DeviceController.java b/src/main/java/com/mkruchok/controller/implementation/DeviceController.java index 81c965a..0e6d4ff 100644 --- a/src/main/java/com/mkruchok/controller/implementation/DeviceController.java +++ b/src/main/java/com/mkruchok/controller/implementation/DeviceController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.Device; import com.mkruchok.service.implementation.DeviceService; - import java.sql.SQLException; import java.util.List; public final class DeviceController implements AbstractController { - private final DeviceService service = new DeviceService(); + private final DeviceService service = new DeviceService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public Device findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Device findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(Device entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Device entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, Device entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Device entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/GroupController.java b/src/main/java/com/mkruchok/controller/implementation/GroupController.java index 8e45849..374d5e3 100644 --- a/src/main/java/com/mkruchok/controller/implementation/GroupController.java +++ b/src/main/java/com/mkruchok/controller/implementation/GroupController.java @@ -1,38 +1,37 @@ package com.mkruchok.controller.implementation; import com.mkruchok.controller.AbstractController; -import com.mkruchok.model.entity.HubGroup; +import com.mkruchok.model.entity.Group; import com.mkruchok.service.implementation.GroupService; - import java.sql.SQLException; import java.util.List; -public final class GroupController implements AbstractController { +public final class GroupController implements AbstractController { - private final GroupService service = new GroupService(); + private final GroupService service = new GroupService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public HubGroup findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Group findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(HubGroup entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Group entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, HubGroup entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Group entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/HubController.java b/src/main/java/com/mkruchok/controller/implementation/HubController.java index edd2c7d..000a104 100644 --- a/src/main/java/com/mkruchok/controller/implementation/HubController.java +++ b/src/main/java/com/mkruchok/controller/implementation/HubController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.Hub; import com.mkruchok.service.implementation.HubService; - import java.sql.SQLException; import java.util.List; public final class HubController implements AbstractController { - private final HubService service = new HubService(); + private final HubService service = new HubService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public Hub findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Hub findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(Hub entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Hub entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, Hub entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Hub entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/NotificationController.java b/src/main/java/com/mkruchok/controller/implementation/NotificationController.java index 3a0d1ca..49e31c2 100644 --- a/src/main/java/com/mkruchok/controller/implementation/NotificationController.java +++ b/src/main/java/com/mkruchok/controller/implementation/NotificationController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.Notification; import com.mkruchok.service.implementation.NotificationService; - import java.sql.SQLException; import java.util.List; public final class NotificationController implements AbstractController { - private final NotificationService service = new NotificationService(); + private final NotificationService service = new NotificationService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public Notification findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Notification findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(Notification entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Notification entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, Notification entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Notification entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/PermissionController.java b/src/main/java/com/mkruchok/controller/implementation/PermissionController.java index 2f75703..ae70148 100644 --- a/src/main/java/com/mkruchok/controller/implementation/PermissionController.java +++ b/src/main/java/com/mkruchok/controller/implementation/PermissionController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.Permission; import com.mkruchok.service.implementation.PermissionService; - import java.sql.SQLException; import java.util.List; public final class PermissionController implements AbstractController { - private final PermissionService service = new PermissionService(); + private final PermissionService service = new PermissionService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public Permission findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Permission findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(Permission entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Permission entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, Permission entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Permission entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/RexController.java b/src/main/java/com/mkruchok/controller/implementation/RexController.java index c3e2f95..41f3846 100644 --- a/src/main/java/com/mkruchok/controller/implementation/RexController.java +++ b/src/main/java/com/mkruchok/controller/implementation/RexController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.Rex; import com.mkruchok.service.implementation.RexService; - import java.sql.SQLException; import java.util.List; public final class RexController implements AbstractController { - private final RexService service = new RexService(); + private final RexService service = new RexService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public Rex findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public Rex findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(Rex entity) throws SQLException { - service.create(entity); - } + @Override + public void create(Rex entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, Rex entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, Rex entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/controller/implementation/UserController.java b/src/main/java/com/mkruchok/controller/implementation/UserController.java index b765bf9..e6bbd57 100644 --- a/src/main/java/com/mkruchok/controller/implementation/UserController.java +++ b/src/main/java/com/mkruchok/controller/implementation/UserController.java @@ -3,36 +3,35 @@ import com.mkruchok.controller.AbstractController; import com.mkruchok.model.entity.User; import com.mkruchok.service.implementation.UserService; - import java.sql.SQLException; import java.util.List; public final class UserController implements AbstractController { - private final UserService service = new UserService(); + private final UserService service = new UserService(); - @Override - public List findAll() throws SQLException { - return service.findAll(); - } + @Override + public List findAll() throws SQLException { + return service.findAll(); + } - @Override - public User findById(Integer id) throws SQLException { - return service.findById(id); - } + @Override + public User findById(Integer id) throws SQLException { + return service.findById(id); + } - @Override - public void create(User entity) throws SQLException { - service.create(entity); - } + @Override + public void create(User entity) throws SQLException { + service.create(entity); + } - @Override - public void update(Integer id, User entity) throws SQLException { - service.update(id, entity); - } + @Override + public void update(Integer id, User entity) throws SQLException { + service.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } } diff --git a/src/main/java/com/mkruchok/model/dao/AbstractDAO.java b/src/main/java/com/mkruchok/model/dao/AbstractDAO.java index ceccdc2..103d773 100644 --- a/src/main/java/com/mkruchok/model/dao/AbstractDAO.java +++ b/src/main/java/com/mkruchok/model/dao/AbstractDAO.java @@ -3,31 +3,21 @@ import java.sql.SQLException; import java.util.List; -public interface AbstractDAO { +public interface AbstractDao { - List findAll() throws SQLException; + List findAll() throws SQLException; - default void create(E entity) throws SQLException { - } + default void create(E entity) throws SQLException { + } - default E findById(Integer id) throws SQLException { - return null; - } + default E findById(Integer id) throws SQLException { + return null; + } - default void update(Integer id, E entity) throws SQLException { - } + default void update(Integer id, E entity) throws SQLException { + } - default void delete(Integer id) throws SQLException { - } + default void delete(Integer id) throws SQLException { + } - - default E findByName(String name) throws SQLException { - return null; - } - - default void update(String name, E entity) throws SQLException { - } - - default void delete(String name) throws SQLException { - } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java index 742853c..a264f50 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java @@ -1,126 +1,102 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.Device; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -@SuppressFBWarnings -@SuppressWarnings("checkstyle:magicnumber") -public final class DeviceDAO implements AbstractDAO { - private static final String GET_ALL = "SELECT * FROM ajax_curr.device"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.device WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.device " - + "(`model`,`device_status`,`service_life_end_time`,`warranty_end_time`,`on_battery`,`hub_id`)" + - " VALUES (?, ?, ?, ?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.device" - + " SET model=?, device_status=?, service_life_end_time=?, warranty_end_time=?, on_battery=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.device WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(DeviceDAO.class); +public final class DeviceDao implements AbstractDao { + static final Logger LOGGER = LoggerFactory.getLogger(DeviceDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.device"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.device WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.device " + + "(`model`,`device_status`,`service_life_end_time`,`warranty_end_time`," + + "`on_battery`,`hub_id`)" + " VALUES (?, ?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.device" + + " SET model=?, device_status=?, service_life_end_time=?, warranty_end_time=?," + + " on_battery=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.device WHERE id=?"; - @Override - public List findAll() throws SQLException { - List devices = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Device device = new Device( - resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("device_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("on_battery"), - resultSet.getInt("hub_id") - ); - devices.add(device); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return devices; + @Override + public List findAll() throws SQLException { + List devices = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Device device = new Device(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("device_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id")); + devices.add(device); } + resultSet.close(); + return devices; + } - @Override - public Device findById(Integer id) throws SQLException { - Device device = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - device = new Device( - resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("device_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("on_battery"), - resultSet.getInt("hub_id") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return device; + @Override + public Device findById(Integer id) throws SQLException { + Device device = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + device = new Device(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("device_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id")); } + resultSet.close(); + return device; + } - @Override - public void create(Device device) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, device.getModel()); - statement.setString(2, device.getDeviceStatus()); - statement.setTimestamp(3, device.getServiceLifeEndTime()); - statement.setTimestamp(4, device.getWarrantyEndTime()); - statement.setInt(5, device.getOnBattery()); - statement.setInt(6, device.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Device device) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, device.getModel()); + statement.setString(2, device.getDeviceStatus()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - } + @Override + public void update(Integer id, Device device) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(2, device.getDeviceStatus()); + statement.setString(1, device.getModel()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.setInt(7, device.getId()); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } - @Override - public void update(Integer id, Device device) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(2, device.getDeviceStatus()); - statement.setString(1, device.getModel()); - statement.setTimestamp(3, device.getServiceLifeEndTime()); - statement.setTimestamp(4, device.getWarrantyEndTime()); - statement.setInt(5, device.getOnBattery()); - statement.setInt(6, device.getHubId()); - statement.setInt(7, device.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } - - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java index ec4511f..55692a5 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java @@ -1,111 +1,89 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; -import com.mkruchok.model.entity.HubGroup; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.model.dao.AbstractDao; +import com.mkruchok.model.entity.Group; +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class GroupDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.hub_group"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub_group WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.hub_group " - + "(`group_name`,`group_description`,`hub_id`)" + - " VALUES (?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.hub_group" - + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.hub_group WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(GroupDAO.class); +public final class GroupDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List groups = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - HubGroup group = new HubGroup( - resultSet.getInt("id"), - resultSet.getString("group_name"), - resultSet.getString("group_description"), - resultSet.getInt("hub_id") - ); - groups.add(group); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return groups; + static final Logger LOGGER = LoggerFactory.getLogger(GroupDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.hub_group"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub_group WHERE id=?"; + private static final String CREATE = + "INSERT ajax_curr.hub_group " + "(`group_name`,`group_description`,`hub_id`)" + + " VALUES (?, ?, ?)"; + private static final String UPDATE = + "UPDATE ajax_curr.hub_group" + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.hub_group WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List groups = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Group group = new Group(resultSet.getInt("id"), + resultSet.getString("group_name"), + resultSet.getString("group_description"), + resultSet.getInt("hub_id")); + groups.add(group); } + resultSet.close(); + return groups; + } - @Override - public HubGroup findById(Integer id) throws SQLException { - HubGroup group = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - group = new HubGroup( - resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("description"), - resultSet.getInt("hub_id") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return group; + @Override + public Group findById(Integer id) throws SQLException { + Group group = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + group = new Group(resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description"), + resultSet.getInt("hub_id")); } + resultSet.close(); + return group; + } - @Override - public void create(HubGroup group) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, group.getGroupName()); - statement.setString(2, group.getGroupDescription()); - statement.setInt(3, group.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Group group) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); + statement.setInt(3, group.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, HubGroup group) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, group.getGroupName()); - statement.setString(2, group.getGroupDescription()); - statement.setInt(3, group.getHubId()); - statement.setInt(4, group.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - } + @Override + public void update(Integer id, Group group) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); + statement.setInt(3, group.getHubId()); + statement.setInt(4, group.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java index f46b802..9e309d3 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java @@ -1,137 +1,115 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.Hub; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class HubDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.hub"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.hub " - + "(`model`,`hub_status`,`service_life_end_time`,`warranty_end_time`,`users_max`,`rooms_max`," + - "`devices_max`,`sirens_max`,`on_battery`) VALUES (?, ?, ?, ?,?, ?, ?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.hub" - + " SET model=?, hub_status=?, service_life_end_time=?, warranty_end_time=?, users_max=?, rooms_max=?, " + - "devices_max=?, sirens_max=?, on_battery=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.hub WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(HubDAO.class); +public final class HubDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List hubs = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Hub hub = new Hub( - resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("hub_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("users_max"), - resultSet.getInt("rooms_max"), - resultSet.getInt("devices_max"), - resultSet.getInt("sirens_max"), - resultSet.getInt("on_battery") - ); - hubs.add(hub); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return hubs; + static final Logger LOGGER = LoggerFactory.getLogger(HubDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.hub"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.hub " + + "(`model`,`hub_status`,`service_life_end_time`,`warranty_end_time`,`users_max`,`rooms_max`," + + "`devices_max`,`sirens_max`,`on_battery`) VALUES (?, ?, ?, ?,?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.hub" + + " SET model=?, hub_status=?, service_life_end_time=?, warranty_end_time=?, users_max=?," + + " rooms_max=?, devices_max=?, sirens_max=?, on_battery=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.hub WHERE id=?"; + @Override + public List findAll() throws SQLException { + List hubs = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Hub hub = new Hub(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("hub_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery")); + hubs.add(hub); } + resultSet.close(); + return hubs; - @Override - public Hub findById(Integer id) throws SQLException { - Hub hub = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - hub = new Hub( - resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("hub_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("users_max"), - resultSet.getInt("rooms_max"), - resultSet.getInt("devices_max"), - resultSet.getInt("sirens_max"), - resultSet.getInt("on_battery") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return hub; + } + + @Override + public Hub findById(Integer id) throws SQLException { + Hub hub = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + hub = new Hub(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("hub_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery")); } + resultSet.close(); + return hub; + } - @Override - public void create(Hub hub) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, hub.getModel()); - statement.setString(2, hub.getHubStatus()); - statement.setTimestamp(3, hub.getServiceLifeEndTime()); - statement.setTimestamp(4, hub.getWarrantyEndTime()); - statement.setInt(6, hub.getRoomsMax()); - statement.setInt(5, hub.getUsersMax()); - statement.setInt(7, hub.getDevicesMax()); - statement.setInt(8, hub.getSirensMax()); - statement.setInt(9, hub.getOnBattery()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Hub hub) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getHubStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, Hub hub) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, hub.getModel()); - statement.setString(2, hub.getHubStatus()); - statement.setTimestamp(3, hub.getServiceLifeEndTime()); - statement.setTimestamp(4, hub.getWarrantyEndTime()); - statement.setInt(5, hub.getUsersMax()); - statement.setInt(6, hub.getRoomsMax()); - statement.setInt(7, hub.getDevicesMax()); - statement.setInt(8, hub.getSirensMax()); - statement.setInt(9, hub.getOnBattery()); - statement.setInt(10, hub.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void update(Integer id, Hub hub) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getHubStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.setInt(10, hub.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java index 3fe427e..7eab674 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java @@ -1,115 +1,93 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.Notification; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class NotificationDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.notification"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.notification WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.notification " - + "(`timestamp`,`notification_type`,`device_id`,`hub_id`)" + - " VALUES (?, ?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.notification" - + " SET timestamp=?, notification_type=?, device_id=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.notification WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(NotificationDAO.class); +public final class NotificationDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List notifications = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Notification notification = new Notification( - resultSet.getInt("id"), - resultSet.getTimestamp("timestamp"), - resultSet.getString("notification_type"), - resultSet.getInt("device_id"), - resultSet.getInt("hub_id") - ); - notifications.add(notification); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return notifications; + static final Logger LOGGER = LoggerFactory.getLogger(NotificationDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.notification"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.notification WHERE id=?"; + private static final String CREATE = + "INSERT ajax_curr.notification " + "(`timestamp`,`notification_type`,`device_id`,`hub_id`)" + + " VALUES (?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.notification" + + " SET timestamp=?, notification_type=?, device_id=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.notification WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List notifications = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Notification notification = new Notification(resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("notification_type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id")); + notifications.add(notification); } + resultSet.close(); + return notifications; + } - @Override - public Notification findById(Integer id) throws SQLException { - Notification notification = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - notification = new Notification( - resultSet.getInt("id"), - resultSet.getTimestamp("timestamp"), - resultSet.getString("notification_type"), - resultSet.getInt("device_id"), - resultSet.getInt("hub_id") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return notification; + @Override + public Notification findById(Integer id) throws SQLException { + Notification notification = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + notification = new Notification(resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("notification_type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id")); } + resultSet.close(); + return notification; + } - @Override - public void create(Notification notification) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getNotificationType()); - statement.setInt(3, notification.getDeviceId()); - statement.setInt(4, notification.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Notification notification) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getNotificationType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, Notification notification) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getNotificationType()); - statement.setInt(3, notification.getDeviceId()); - statement.setInt(4, notification.getHubId()); - statement.setInt(5, notification.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void update(Integer id, Notification notification) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getNotificationType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.setInt(5, notification.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java index 51b5b21..7c8f382 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java @@ -1,107 +1,85 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.Permission; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class PermissionDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.permission " - + "(`permission_name`,`permission_description`)" + - " VALUES (?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.permission" - + " SET permission_name=?, permission_description=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(PermissionDAO.class); +public final class PermissionDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List permissions = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Permission permission = new Permission( - resultSet.getInt("id"), - resultSet.getString("permission_name"), - resultSet.getString("permission_description") - ); - permissions.add(permission); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return permissions; + static final Logger LOGGER = LoggerFactory.getLogger(PermissionDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; + private static final String CREATE = + "INSERT ajax_curr.permission " + "(`permission_name`,`permission_description`)" + + " VALUES (?, ?)"; + private static final String UPDATE = + "UPDATE ajax_curr.permission" + " SET permission_name=?, permission_description=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List permissions = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Permission permission = new Permission(resultSet.getInt("id"), + resultSet.getString("permission_name"), + resultSet.getString("permission_description")); + permissions.add(permission); } + resultSet.close(); + return permissions; + } - @Override - public Permission findById(Integer id) throws SQLException { - Permission permission = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - permission = new Permission( - resultSet.getInt("id"), - resultSet.getString("permission_name"), - resultSet.getString("permission_description") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return permission; + @Override + public Permission findById(Integer id) throws SQLException { + Permission permission = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + permission = new Permission(resultSet.getInt("id"), + resultSet.getString("permission_name"), + resultSet.getString("permission_description")); } + resultSet.close(); + return permission; + } - @Override - public void create(Permission permission) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, permission.getPermissionName()); - statement.setString(2, permission.getDescription()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Permission permission) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, permission.getPermissionName()); + statement.setString(2, permission.getDescription()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, Permission permission) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, permission.getPermissionName()); - statement.setString(2, permission.getDescription()); - statement.setInt(3, permission.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void update(Integer id, Permission permission) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, permission.getPermissionName()); + statement.setString(2, permission.getDescription()); + statement.setInt(3, permission.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java index 361cc60..99746b7 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java @@ -1,111 +1,88 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.Rex; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class RexDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.rex"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.rex WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.rex " - + "(`rex_name`,`rex_range`,`hub_id`)" + - " VALUES (?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.rex" - + " SET rex_name=?, rex_range=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.rex WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(RexDAO.class); +public final class RexDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List rexes = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Rex rex = new Rex( - resultSet.getInt("id"), - resultSet.getString("rex_name"), - resultSet.getString("rex_range"), - resultSet.getInt("hub_id") - ); - rexes.add(rex); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return rexes; + static final Logger LOGGER = LoggerFactory.getLogger(RexDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.rex"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.rex WHERE id=?"; + private static final String CREATE = + "INSERT ajax_curr.rex " + "(`rex_name`,`rex_range`,`hub_id`)" + " VALUES (?, ?, ?)"; + private static final String UPDATE = + "UPDATE ajax_curr.rex" + " SET rex_name=?, rex_range=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.rex WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List rexes = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Rex rex = new Rex(resultSet.getInt("id"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), + resultSet.getInt("hub_id")); + rexes.add(rex); } + resultSet.close(); + return rexes; + } - @Override - public Rex findById(Integer id) throws SQLException { - Rex rex = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - rex = new Rex( - resultSet.getInt("id"), - resultSet.getString("rex_name"), - resultSet.getString("rex_range"), - resultSet.getInt("hub_id") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return rex; + @Override + public Rex findById(Integer id) throws SQLException { + Rex rex = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + rex = new Rex(resultSet.getInt("id"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), + resultSet.getInt("hub_id")); } + resultSet.close(); + return rex; + } - @Override - public void create(Rex rex) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, rex.getRexName()); - statement.setString(2, rex.getRexRange()); - statement.setInt(3, rex.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(Rex rex) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); + statement.setInt(3, rex.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, Rex rex) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, rex.getRexName()); - statement.setString(2, rex.getRexRange()); - statement.setInt(3, rex.getHubId()); - statement.setInt(4, rex.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void update(Integer id, Rex rex) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); + statement.setInt(3, rex.getHubId()); + statement.setInt(4, rex.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java index 4687a16..7634605 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java @@ -1,118 +1,97 @@ package com.mkruchok.model.dao.implementation; -import com.mkruchok.model.dao.AbstractDAO; +import com.mkruchok.model.dao.AbstractDao; import com.mkruchok.model.entity.User; -import com.mkruchok.persistant.ConnectionManager; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -@SuppressFBWarnings -@SuppressWarnings("magicnumber") -public final class UserDAO implements AbstractDAO { +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; - private static final String GET_ALL = "SELECT * FROM ajax_curr.user"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.user WHERE id=?"; - private static final String CREATE = "INSERT ajax_curr.user " - + "(`email`, `user_password`, `date_created`, `user_name`, `group_id`) VALUES (?, ?, ?, ?, ?)"; - private static final String UPDATE = "UPDATE ajax_curr.user" - + " SET email=?, user_password=?, date_created=?, user_name=?, group_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.user WHERE id=?"; - static final Logger LOGGER = LoggerFactory.getLogger(UserDAO.class); +public final class UserDao implements AbstractDao { - @Override - public List findAll() throws SQLException { - List users = new ArrayList<>(); - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - User user = new User( - resultSet.getInt("id"), - resultSet.getString("email"), - resultSet.getString("user_password"), - resultSet.getTimestamp("date_created"), - resultSet.getString("user_name"), - resultSet.getString("group_id") - ); - users.add(user); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Ops! ", e); - } - return users; + static final Logger LOGGER = LoggerFactory.getLogger(UserDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.user"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.user WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.user " + + "(`email`, `user_password`, `date_created`, `user_name`, `group_id`)" + + " VALUES (?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.user" + + " SET email=?, user_password=?, date_created=?, user_name=?, group_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.user WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List users = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + User user = new User(resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("user_password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("user_name"), + resultSet.getString("group_id")); + users.add(user); } + resultSet.close(); + return users; + } - @Override - public User findById(Integer id) throws SQLException { - User user = null; - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID)) { - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - user = new User( - resultSet.getInt("id"), - resultSet.getString("email"), - resultSet.getString("user_password"), - resultSet.getTimestamp("date_created"), - resultSet.getString("user_name"), - resultSet.getString("group_id") - ); - } - resultSet.close(); - } catch (Exception e) { - LOGGER.error("Oops!", e); - } - return user; + @Override + public User findById(Integer id) throws SQLException { + User user = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + user = new User(resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("user_password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("user_name"), + resultSet.getString("group_id")); } + resultSet.close(); + return user; + } - @Override - public void create(User user) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { - statement.setString(1, user.getEmail()); - statement.setString(2, user.getUserPassword()); - statement.setTimestamp(3, user.getDateCreated()); - statement.setString(4, user.getUserName()); - statement.setString(5, user.getGroupId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } + @Override + public void create(User user) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, user.getEmail()); + statement.setString(2, user.getUserPassword()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(4, user.getUserName()); + statement.setString(5, user.getGroupId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); - } + } - @Override - public void update(Integer id, User user) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { - statement.setString(1, user.getEmail()); - statement.setString(2, user.getUserPassword()); - statement.setTimestamp(3, user.getDateCreated()); - statement.setString(4, user.getUserName()); - statement.setString(5, user.getGroupId()); - statement.setInt(6, user.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void update(Integer id, User user) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, user.getEmail()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(2, user.getUserPassword()); + statement.setString(4, user.getUserName()); + statement.setString(5, user.getGroupId()); + statement.setInt(6, user.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } - @Override - public void delete(Integer id) throws SQLException { - try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } } diff --git a/src/main/java/com/mkruchok/model/entity/Device.java b/src/main/java/com/mkruchok/model/entity/Device.java index 6308673..d5edb6f 100644 --- a/src/main/java/com/mkruchok/model/entity/Device.java +++ b/src/main/java/com/mkruchok/model/entity/Device.java @@ -1,41 +1,30 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; +import java.sql.Timestamp; import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import java.sql.Timestamp; -@SuppressFBWarnings @AllArgsConstructor @NoArgsConstructor @Getter @Setter public final class Device { - private Integer id; - private String model; - private String deviceStatus; - private Timestamp serviceLifeEndTime; - private Timestamp warrantyEndTime; - private Integer onBattery; - private Integer hubId; - + private Integer id; + private String model; + private String deviceStatus; + private Timestamp serviceLifeEndTime; + private Timestamp warrantyEndTime; + private Integer onBattery; + private Integer hubId; - public Device(String model, String deviceStatus, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, Integer onBattery, Integer hubId) { - this.model = model; - this.deviceStatus = deviceStatus; - this.serviceLifeEndTime = serviceLifeEndTime; - this.warrantyEndTime = warrantyEndTime; - this.onBattery = onBattery; - this.hubId = hubId; - } - @Override - public String toString() { - return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + deviceStatus + ", service_life_end_time: " + - serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", on_battery: " - + onBattery + ", hub_id: " + hubId; - } + @Override + public String toString() { + return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + deviceStatus + + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + + warrantyEndTime + ", on_battery: " + onBattery + ", hub_id: " + hubId; + } } diff --git a/src/main/java/com/mkruchok/model/entity/Group.java b/src/main/java/com/mkruchok/model/entity/Group.java new file mode 100644 index 0000000..a2fec91 --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/Group.java @@ -0,0 +1,26 @@ +package com.mkruchok.model.entity; + + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + + +@AllArgsConstructor +@NoArgsConstructor +@Getter +@Setter +public final class Group { + private Integer id; + private String groupName; + private String groupDescription; + private Integer hubId; + + + @Override + public String toString() { + return "\n\nGroup: id: " + id + ", name: " + groupName + ", description: " + groupDescription + + ", hub_id: " + hubId; + } +} diff --git a/src/main/java/com/mkruchok/model/entity/Hub.java b/src/main/java/com/mkruchok/model/entity/Hub.java index b99ab1e..c390fb2 100644 --- a/src/main/java/com/mkruchok/model/entity/Hub.java +++ b/src/main/java/com/mkruchok/model/entity/Hub.java @@ -1,45 +1,37 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; +import java.sql.Timestamp; +import javax.annotation.Nullable; import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import java.sql.Timestamp; -@SuppressFBWarnings @AllArgsConstructor @NoArgsConstructor @Getter @Setter +@Nullable public final class Hub { - private Integer id; - private String model; - private String hubStatus; - private Timestamp serviceLifeEndTime; - private Timestamp warrantyEndTime; - private Integer usersMax; - private Integer roomsMax; - private Integer devicesMax; - private Integer sirensMax; - private Integer onBattery; + private Integer id; + private String model; + private String hubStatus; + private Timestamp serviceLifeEndTime; + private Timestamp warrantyEndTime; + private Integer usersMax; + private Integer roomsMax; + private Integer devicesMax; + private Integer sirensMax; + private Integer onBattery; - public Hub(String model, String hubStatus, Timestamp serviceLifeEndTime, Timestamp warrantyEndTime, - Integer usersMax, Integer roomsMax, Integer devicesMax, Integer sirensMax, Integer onBattery) { - this.model = model; - this.hubStatus = hubStatus; - this.serviceLifeEndTime = serviceLifeEndTime; - this.warrantyEndTime = warrantyEndTime; - this.usersMax = usersMax; - this.roomsMax = roomsMax; - this.devicesMax = devicesMax; - this.sirensMax = sirensMax; - this.onBattery = onBattery; - } - @Override - public String toString() { - return "\n\nHub: id: " + id + ", model: " + model + ", status: " + hubStatus + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + warrantyEndTime + ", users_max: " + usersMax + ", rooms_max: " + roomsMax + ", devices_max: " + devicesMax + ", sirens_max: " + sirensMax + ", on_battery: " + onBattery + "]"; - } + @Override + public String toString() { + return "\n\nHub: id: " + id + ", model: " + model + ", status: " + hubStatus + + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " + + warrantyEndTime + ", users_max: " + usersMax + ", rooms_max: " + roomsMax + + ", devices_max: " + devicesMax + ", sirens_max: " + sirensMax + ", on_battery: " + + onBattery + "]"; + } } diff --git a/src/main/java/com/mkruchok/model/entity/HubGroup.java b/src/main/java/com/mkruchok/model/entity/HubGroup.java deleted file mode 100644 index 8f3524e..0000000 --- a/src/main/java/com/mkruchok/model/entity/HubGroup.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.mkruchok.model.entity; - -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; -import lombok.AllArgsConstructor; -import lombok.NoArgsConstructor; -import lombok.Setter; - -@SuppressFBWarnings -@AllArgsConstructor -@NoArgsConstructor -@Getter -@Setter -public final class HubGroup { - private Integer id; - private String groupName; - private String groupDescription; - private Integer hubId; - - public HubGroup(String groupName, String groupDescription, Integer hubId) { - this.groupName = groupName; - this.groupDescription = groupDescription; - this.hubId = hubId; - } - - @Override - public String toString() { - return "\n\nGroup: id: " + id + ", name: " + groupName + ", description: " + groupDescription + ", hub_id: " + - hubId; - } -} diff --git a/src/main/java/com/mkruchok/model/entity/Notification.java b/src/main/java/com/mkruchok/model/entity/Notification.java index 3090557..3eb2396 100644 --- a/src/main/java/com/mkruchok/model/entity/Notification.java +++ b/src/main/java/com/mkruchok/model/entity/Notification.java @@ -1,35 +1,27 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; +import java.sql.Timestamp; import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import java.sql.Timestamp; -@SuppressFBWarnings @AllArgsConstructor @NoArgsConstructor @Getter @Setter public final class Notification { - private Integer id; - private Timestamp timestamp; - private String notificationType; - private Integer deviceId; - private Integer hubId; + private Integer id; + private Timestamp timestamp; + private String notificationType; + private Integer deviceId; + private Integer hubId; - public Notification(Timestamp timestamp, String notificationType, Integer deviceId, Integer hubId) { - this.timestamp = timestamp; - this.notificationType = notificationType; - this.deviceId = deviceId; - this.hubId = hubId; - } - @Override - public String toString() { - return "\n\nNotification: id: " + id + ", timestamp: " + timestamp + ", type: " + notificationType + ", device_id: " + - deviceId + ", hub_id: " + hubId; - } + @Override + public String toString() { + return "\n\nNotification: id: " + id + ", timestamp: " + timestamp + ", type: " + + notificationType + ", device_id: " + deviceId + ", hub_id: " + hubId; + } } diff --git a/src/main/java/com/mkruchok/model/entity/Permission.java b/src/main/java/com/mkruchok/model/entity/Permission.java index d5b1cc3..5aae32d 100644 --- a/src/main/java/com/mkruchok/model/entity/Permission.java +++ b/src/main/java/com/mkruchok/model/entity/Permission.java @@ -1,28 +1,25 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; + import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -@SuppressFBWarnings + @AllArgsConstructor @NoArgsConstructor @Getter @Setter public final class Permission { - private Integer id; - private String permissionName; - private String description; + private Integer id; + private String permissionName; + private String description; - public Permission(String permissionName, String description) { - this.permissionName = permissionName; - this.description = description; - } - @Override - public String toString() { - return "\n\nPermission: id: " + id + ", name: " + permissionName + ", description: " + description; - } + @Override + public String toString() { + return "\n\nPermission: id: " + id + ", name: " + permissionName + ", description: " + + description; + } } diff --git a/src/main/java/com/mkruchok/model/entity/Rex.java b/src/main/java/com/mkruchok/model/entity/Rex.java index 700c4b0..493bac9 100644 --- a/src/main/java/com/mkruchok/model/entity/Rex.java +++ b/src/main/java/com/mkruchok/model/entity/Rex.java @@ -1,32 +1,32 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; + import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -@SuppressFBWarnings + @AllArgsConstructor @NoArgsConstructor @Getter @Setter public final class Rex { - private Integer id; - private String rexName; - private String rexRange; - private Integer hubId; + private Integer id; + private String rexName; + private String rexRange; + private Integer hubId; - public Rex(String rexName, String rexRange, Integer hubId) { - this.rexName = rexName; - this.rexRange = rexRange; - this.hubId = hubId; - } + public Rex(String rexName, String rexRange, Integer hubId) { + this.rexName = rexName; + this.rexRange = rexRange; + this.hubId = hubId; + } - @Override - public String toString() { - return "\n\nRex: id: " + id + ", name: " + rexName + ", range: " + rexRange + ", hub_id: " + - hubId; - } + @Override + public String toString() { + return "\n\nRex: id: " + id + ", name: " + rexName + ", range: " + rexRange + ", hub_id: " + + hubId; + } } diff --git a/src/main/java/com/mkruchok/model/entity/User.java b/src/main/java/com/mkruchok/model/entity/User.java index fc9c63b..a551baf 100644 --- a/src/main/java/com/mkruchok/model/entity/User.java +++ b/src/main/java/com/mkruchok/model/entity/User.java @@ -1,37 +1,29 @@ package com.mkruchok.model.entity; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import lombok.Getter; +import java.sql.Timestamp; import lombok.AllArgsConstructor; +import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import java.sql.Timestamp; -@SuppressFBWarnings + @AllArgsConstructor @NoArgsConstructor @Getter @Setter public final class User { - private Integer id; - private String email; - private String userPassword; - private Timestamp dateCreated; - private String userName; - private String groupId; + private Integer id; + private String email; + private String userPassword; + private Timestamp dateCreated; + private String userName; + private String groupId; - public User(String email, String userPassword, Timestamp dateCreated, String userName, String groupId) { - this.email = email; - this.userPassword = userPassword; - this.dateCreated = dateCreated; - this.userName = userName; - this.groupId = groupId; - } - @Override - public String toString() { - return "\n\nUser: id: " + id + ", email: " + email + ", password: " + userPassword + ", date created: " + - dateCreated; - } + @Override + public String toString() { + return "\n\nUser: id: " + id + ", email: " + email + ", password: " + userPassword + + ", date created: " + dateCreated; + } } diff --git a/src/main/java/com/mkruchok/persistant/ConnectionManager.java b/src/main/java/com/mkruchok/persistant/ConnectionManager.java deleted file mode 100644 index ec2f861..0000000 --- a/src/main/java/com/mkruchok/persistant/ConnectionManager.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.mkruchok.persistant; - -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.sql.Connection; -import java.sql.DriverManager; - -@SuppressFBWarnings -public final class ConnectionManager { - private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; - private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/ajax_curr?useUnicode=true&serverTimezone=UTC"; - private static final String USERNAME = "root"; - private static final String PASSWORD = "admin"; - static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManager.class); - private static Connection databaseConnection; - - public ConnectionManager() { - } - - public static Connection getConnection() { - try { - Class.forName(JDBC_DRIVER); - if (databaseConnection == null || databaseConnection.isClosed()) { - try { - databaseConnection = DriverManager.getConnection( - DATABASE_URL, - USERNAME, - PASSWORD - ); - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - } - } catch (Exception e) { - LOGGER.error("Ops!", e); - } - return databaseConnection; - } - -} diff --git a/src/main/java/com/mkruchok/persistant/package-info.java b/src/main/java/com/mkruchok/persistant/package-info.java deleted file mode 100644 index 866ce58..0000000 --- a/src/main/java/com/mkruchok/persistant/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package com.mkruchok.persistant; diff --git a/src/main/java/com/mkruchok/persistent/ConnectionManager.java b/src/main/java/com/mkruchok/persistent/ConnectionManager.java new file mode 100644 index 0000000..37a129f --- /dev/null +++ b/src/main/java/com/mkruchok/persistent/ConnectionManager.java @@ -0,0 +1,37 @@ +package com.mkruchok.persistent; + +import java.sql.Connection; +import java.sql.DriverManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public final class ConnectionManager { + static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManager.class); + private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; + private static final String DATABASE_URL = + "jdbc:mysql://localhost:3306/ajax_curr?useUnicode=true&serverTimezone=UTC"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "admin"; + private static Connection databaseConnection; + + public ConnectionManager() { + } + + public static Connection getConnection() { + try { + Class.forName(JDBC_DRIVER); + if (databaseConnection == null || databaseConnection.isClosed()) { + try { + databaseConnection = DriverManager.getConnection(DATABASE_URL, USERNAME, PASSWORD); + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + } + } catch (Exception e) { + LOGGER.error("Ops!", e); + } + return databaseConnection; + } + +} diff --git a/src/main/java/com/mkruchok/persistent/package-info.java b/src/main/java/com/mkruchok/persistent/package-info.java new file mode 100644 index 0000000..5aff0f0 --- /dev/null +++ b/src/main/java/com/mkruchok/persistent/package-info.java @@ -0,0 +1 @@ +package com.mkruchok.persistent; diff --git a/src/main/java/com/mkruchok/service/AbstractService.java b/src/main/java/com/mkruchok/service/AbstractService.java index a78ab0b..91cc9e8 100644 --- a/src/main/java/com/mkruchok/service/AbstractService.java +++ b/src/main/java/com/mkruchok/service/AbstractService.java @@ -5,29 +5,18 @@ public interface AbstractService { - List findAll() throws SQLException; + List findAll() throws SQLException; - default E findById(Integer id) throws SQLException { - return null; - } + default E findById(Integer id) throws SQLException { + return null; + } - default void update(Integer id, E entity) throws SQLException { - } + default void update(Integer id, E entity) throws SQLException { + } - default void create(E entity) throws SQLException { - } + default void create(E entity) throws SQLException { + } - default void delete(Integer id) throws SQLException { - } - - - default E findByName(String name) throws SQLException { - return null; - } - - default void update(String name, E entity) throws SQLException { - } - - default void delete(String name) throws SQLException { - } + default void delete(Integer id) throws SQLException { + } } diff --git a/src/main/java/com/mkruchok/service/implementation/DeviceService.java b/src/main/java/com/mkruchok/service/implementation/DeviceService.java index d74d996..7f05239 100644 --- a/src/main/java/com/mkruchok/service/implementation/DeviceService.java +++ b/src/main/java/com/mkruchok/service/implementation/DeviceService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.DeviceDAO; +import com.mkruchok.model.dao.implementation.DeviceDao; import com.mkruchok.model.entity.Device; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class DeviceService implements AbstractService { - private final DeviceDAO dao = new DeviceDAO(); + private final DeviceDao dao = new DeviceDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public Device findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Device findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(Device entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Device entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, Device entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Device entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/GroupService.java b/src/main/java/com/mkruchok/service/implementation/GroupService.java index 33f346c..e11f583 100644 --- a/src/main/java/com/mkruchok/service/implementation/GroupService.java +++ b/src/main/java/com/mkruchok/service/implementation/GroupService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.GroupDAO; -import com.mkruchok.model.entity.HubGroup; +import com.mkruchok.model.dao.implementation.GroupDao; +import com.mkruchok.model.entity.Group; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; -public final class GroupService implements AbstractService { +public final class GroupService implements AbstractService { - private final GroupDAO dao = new GroupDAO(); + private final GroupDao dao = new GroupDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public HubGroup findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Group findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(HubGroup entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Group entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, HubGroup entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Group entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/HubService.java b/src/main/java/com/mkruchok/service/implementation/HubService.java index 1dfc554..3a66f4c 100644 --- a/src/main/java/com/mkruchok/service/implementation/HubService.java +++ b/src/main/java/com/mkruchok/service/implementation/HubService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.HubDAO; +import com.mkruchok.model.dao.implementation.HubDao; import com.mkruchok.model.entity.Hub; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class HubService implements AbstractService { - private final HubDAO dao = new HubDAO(); + private final HubDao dao = new HubDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public Hub findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Hub findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(Hub entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Hub entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, Hub entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Hub entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/NotificationService.java b/src/main/java/com/mkruchok/service/implementation/NotificationService.java index 1ca2c75..7c16e5a 100644 --- a/src/main/java/com/mkruchok/service/implementation/NotificationService.java +++ b/src/main/java/com/mkruchok/service/implementation/NotificationService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.NotificationDAO; +import com.mkruchok.model.dao.implementation.NotificationDao; import com.mkruchok.model.entity.Notification; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class NotificationService implements AbstractService { - private final NotificationDAO dao = new NotificationDAO(); + private final NotificationDao dao = new NotificationDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public Notification findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Notification findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(Notification entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Notification entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, Notification entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Notification entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/PermissionService.java b/src/main/java/com/mkruchok/service/implementation/PermissionService.java index d56cb6e..2cbb732 100644 --- a/src/main/java/com/mkruchok/service/implementation/PermissionService.java +++ b/src/main/java/com/mkruchok/service/implementation/PermissionService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.PermissionDAO; +import com.mkruchok.model.dao.implementation.PermissionDao; import com.mkruchok.model.entity.Permission; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class PermissionService implements AbstractService { - private final PermissionDAO dao = new PermissionDAO(); + private final PermissionDao dao = new PermissionDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public Permission findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Permission findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(Permission entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Permission entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, Permission entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Permission entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/RexService.java b/src/main/java/com/mkruchok/service/implementation/RexService.java index e081414..acbe1bd 100644 --- a/src/main/java/com/mkruchok/service/implementation/RexService.java +++ b/src/main/java/com/mkruchok/service/implementation/RexService.java @@ -1,39 +1,38 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.RexDAO; +import com.mkruchok.model.dao.implementation.RexDao; import com.mkruchok.model.entity.Rex; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class RexService implements AbstractService { - private final RexDAO dao = new RexDAO(); + private final RexDao dao = new RexDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public Rex findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public Rex findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(Rex entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(Rex entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, Rex entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, Rex entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/service/implementation/UserService.java b/src/main/java/com/mkruchok/service/implementation/UserService.java index fc850f5..bb10e5d 100644 --- a/src/main/java/com/mkruchok/service/implementation/UserService.java +++ b/src/main/java/com/mkruchok/service/implementation/UserService.java @@ -1,40 +1,39 @@ package com.mkruchok.service.implementation; -import com.mkruchok.model.dao.implementation.UserDAO; +import com.mkruchok.model.dao.implementation.UserDao; import com.mkruchok.model.entity.User; import com.mkruchok.service.AbstractService; - import java.sql.SQLException; import java.util.List; public final class UserService implements AbstractService { - private final UserDAO dao = new UserDAO(); + private final UserDao dao = new UserDao(); - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } - @Override - public User findById(Integer id) throws SQLException { - return dao.findById(id); - } + @Override + public User findById(Integer id) throws SQLException { + return dao.findById(id); + } - @Override - public void create(User entity) throws SQLException { - dao.create(entity); - } + @Override + public void create(User entity) throws SQLException { + dao.create(entity); + } - @Override - public void update(Integer id, User entity) throws SQLException { - dao.update(id, entity); - } + @Override + public void update(Integer id, User entity) throws SQLException { + dao.update(id, entity); + } - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } } diff --git a/src/main/java/com/mkruchok/view/Menu.java b/src/main/java/com/mkruchok/view/Menu.java index 7fd56d7..308f734 100644 --- a/src/main/java/com/mkruchok/view/Menu.java +++ b/src/main/java/com/mkruchok/view/Menu.java @@ -4,21 +4,22 @@ import org.slf4j.LoggerFactory; public final class Menu { - static final Logger LOGGER = LoggerFactory.getLogger(Menu.class); - public void displayMenu() { - LOGGER.debug(" _________________________________________________"); - LOGGER.debug("| |"); - LOGGER.debug("| Enter entity and CRUD number : |"); - LOGGER.debug("| |"); - LOGGER.debug("| Table: CRUD: |"); - LOGGER.debug("|_________________________________________________|"); - LOGGER.debug("| 1 | user | 1 | GET TABLE |"); - LOGGER.debug("| 2 | hub | 2 | GET ROW BY ID |"); - LOGGER.debug("| 3 | device | 3 | CREATE ROW |"); - LOGGER.debug("| 4 | notification | 4 | UPDATE ROW |"); - LOGGER.debug("| 5 | group | 5 | DELETE ROW |"); - LOGGER.debug("| 6 | permission | | |"); - LOGGER.debug("| 7 | rex | | |"); - LOGGER.debug("|___|__________________|___|______________________|"); - } + static final Logger LOGGER = LoggerFactory.getLogger(Menu.class); + + public void displayMenu() { + LOGGER.debug(" _________________________________________________"); + LOGGER.debug("| |"); + LOGGER.debug("| Enter entity and CRUD number : |"); + LOGGER.debug("| |"); + LOGGER.debug("| Table: CRUD: |"); + LOGGER.debug("|_________________________________________________|"); + LOGGER.debug("| 1 | user | 1 | GET TABLE |"); + LOGGER.debug("| 2 | hub | 2 | GET ROW BY ID |"); + LOGGER.debug("| 3 | device | 3 | CREATE ROW |"); + LOGGER.debug("| 4 | notification | 4 | UPDATE ROW |"); + LOGGER.debug("| 5 | group | 5 | DELETE ROW |"); + LOGGER.debug("| 6 | permission | | |"); + LOGGER.debug("| 7 | rex | | |"); + LOGGER.debug("|___|__________________|___|______________________|"); + } } diff --git a/src/main/java/com/mkruchok/view/Printable.java b/src/main/java/com/mkruchok/view/Printable.java index c536539..f6da866 100644 --- a/src/main/java/com/mkruchok/view/Printable.java +++ b/src/main/java/com/mkruchok/view/Printable.java @@ -4,5 +4,5 @@ @FunctionalInterface public interface Printable { - void print() throws SQLException; + void print() throws SQLException; } diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index 44c85a6..0254fc2 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -1,429 +1,454 @@ package com.mkruchok.view; -import com.mkruchok.controller.implementation.*; -import com.mkruchok.model.entity.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import com.mkruchok.controller.implementation.DeviceController; +import com.mkruchok.controller.implementation.GroupController; +import com.mkruchok.controller.implementation.HubController; +import com.mkruchok.controller.implementation.NotificationController; +import com.mkruchok.controller.implementation.PermissionController; +import com.mkruchok.controller.implementation.RexController; +import com.mkruchok.controller.implementation.UserController; +import com.mkruchok.model.entity.Device; +import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.Hub; +import com.mkruchok.model.entity.Notification; +import com.mkruchok.model.entity.Permission; +import com.mkruchok.model.entity.Rex; +import com.mkruchok.model.entity.User; import java.sql.SQLException; import java.sql.Timestamp; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Objects; import java.util.Scanner; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public final class View { - private static final Scanner SCANNER = new Scanner(System.in, "UTF-8"); - private final Map menu = new LinkedHashMap<>(); - - private final HubController hubController = new HubController(); - private final DeviceController deviceController = new DeviceController(); - private final NotificationController notificationController = new NotificationController(); - private final GroupController groupController = new GroupController(); - private final PermissionController permissionController = new PermissionController(); - private final UserController userController = new UserController(); - private final RexController rexController = new RexController(); - static final Logger LOGGER = LoggerFactory.getLogger(View.class); - - - public View() { - menu.put("11", this::getAllUsers); - menu.put("12", this::getUserById); - menu.put("13", this::createUser); - menu.put("14", this::updateUser); - menu.put("15", this::deleteUser); - - menu.put("21", this::getAllHubs); - menu.put("22", this::getHubById); - menu.put("23", this::createHub); - menu.put("24", this::updateHub); - menu.put("25", this::deleteHub); - - menu.put("31", this::getAllDevices); - menu.put("32", this::getDeviceByName); - menu.put("33", this::createDevice); - menu.put("34", this::updateDevice); - menu.put("35", this::deleteDevice); - - menu.put("41", this::getAllNotifications); - menu.put("42", this::getNotificationById); - menu.put("43", this::createNotification); - menu.put("44", this::updateNotification); - menu.put("45", this::deleteNotification); - - menu.put("51", this::getAllGroups); - menu.put("52", this::getGroupById); - menu.put("53", this::createGroup); - menu.put("54", this::updateGroup); - menu.put("55", this::deleteGroup); - - menu.put("61", this::getAllPermissions); - menu.put("62", this::getPermissionById); - menu.put("63", this::createPermission); - menu.put("64", this::updatePermission); - menu.put("65", this::deletePermission); - - menu.put("71", this::getAllRexes); - menu.put("72", this::getRexById); - menu.put("73", this::createRex); - menu.put("74", this::updateRex); - menu.put("75", this::deleteRex); - } - - public void show() { - String input; - Menu showMenu = new Menu(); - showMenu.displayMenu(); - LOGGER.debug("\nEnter numbers:\n"); - do { - try { - input = SCANNER.next(); - menu.get(input).print(); - } catch (Exception e) { - LOGGER.debug("\nSomething is not right...\n"); - } - } while (SCANNER.hasNext()); - } - - private void getAllUsers() throws SQLException { - - LOGGER.debug(userController.findAll().toString()); - } - - private void getUserById() throws SQLException { - LOGGER.debug("\nEnter iD: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(userController.findById(id).toString()); - } - - private User getUserInputs(Integer create) { - LOGGER.debug("Enter email: "); - String email = SCANNER.next(); - LOGGER.debug("Enter password: "); - String user_password = SCANNER.next(); - LOGGER.debug("Enter name: "); - String name = SCANNER.next(); - Timestamp dateCreated = new Timestamp(System.currentTimeMillis()); - String groupId = null; - if (create == 0) { - LOGGER.debug("Enter group id: "); - groupId = SCANNER.next(); - } - return new User(email, user_password, dateCreated, name, groupId); - } - - private void createUser() throws SQLException { - - User user = getUserInputs(1); - userController.create(user); - LOGGER.debug("User was added to the table.\nEnter numbers: "); - } - - private void updateUser() throws SQLException { - LOGGER.debug("\nEnter id to updаte: "); - Integer id = SCANNER.nextInt(); - User user = getUserInputs(0); - user.setId(id); - userController.update(user.getId(), user); - LOGGER.debug("Updated user, id = " + id); - } - - private void deleteUser() throws SQLException { - LOGGER.debug("\nEnter ID to delete user: "); - int id = SCANNER.nextInt(); - userController.delete(id); - LOGGER.debug("Deleted user, id = " + id); - } - - - private void getAllHubs() throws SQLException { - - LOGGER.debug(hubController.findAll().toString()); - } - - private void getHubById() throws SQLException { - LOGGER.debug("\nEnter Id: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(hubController.findById(id).toString()); - } - - private Hub getHubInputs() { - LOGGER.debug("\nEnter model: "); - String model = SCANNER.next(); - LOGGER.debug("Enter status: "); - String status = SCANNER.next(); - SCANNER.nextLine(); - LOGGER.debug("Enter service_life_end_time: "); - Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); - LOGGER.debug("Enter warranty_end_time: "); - Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); - LOGGER.debug("Enter users_max: "); - Integer usersMax = SCANNER.nextInt(); - LOGGER.debug("Enter rooms_max: "); - Integer roomsMax = SCANNER.nextInt(); - LOGGER.debug("Enter devices_max: "); - Integer devicesMax = SCANNER.nextInt(); - LOGGER.debug("Enter sirens_max: "); - Integer sirensMax = SCANNER.nextInt(); - LOGGER.debug("Enter on_battery: "); - Integer onBattery = SCANNER.nextInt(); - return new Hub(model, status, serviceLifeEndTime, warrantyEndTime, - usersMax, roomsMax, devicesMax, sirensMax, onBattery); - } - - private void createHub() throws SQLException { - - Hub hub = getHubInputs(); - hubController.create(hub); - LOGGER.debug("Hub was added to the table.\nEnter numbers: "); - } - - private void updateHub() throws SQLException { - LOGGER.debug("\nEnter id to update:"); - Integer id = SCANNER.nextInt(); - Hub hub = getHubInputs(); - hub.setId(id); - hubController.update(hub.getId(), hub); - LOGGER.debug("Updated hub, id = " + id); - } - - private void deleteHub() throws SQLException { - LOGGER.debug("\nEnter id to delete hub: "); - Integer id = SCANNER.nextInt(); - hubController.delete(id); - LOGGER.debug("Deleted hub, id = " + id); - } - - - private void getAllDevices() throws SQLException { - - LOGGER.debug(deviceController.findAll().toString()); - } - - private void getDeviceByName() throws SQLException { - LOGGER.debug("\nEnter Id: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(deviceController.findById(id).toString()); - } - - private Device getDeviceInputs() { - LOGGER.debug("\nEnter model: "); - String model = SCANNER.next(); - LOGGER.debug("Enter status: "); - String status = SCANNER.next(); - SCANNER.nextLine(); - LOGGER.debug("Enter warranty_end_time: "); - Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); - LOGGER.debug("Enter service_life_end_time: "); - Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); - LOGGER.debug("Enter on_battery: "); - Integer onBattery = SCANNER.nextInt(); - LOGGER.debug("Enter hub_id: "); - Integer hubId = SCANNER.nextInt(); - return new Device(model, status, serviceLifeEndTime, warrantyEndTime, - onBattery, hubId); - } - - private void createDevice() throws SQLException { - - Device device = getDeviceInputs(); - deviceController.create(device); - LOGGER.debug("Device was added to the table.\nEnter numbers: "); - } - - private void updateDevice() throws SQLException { - LOGGER.debug("\nEnter id to update : "); - Integer id = SCANNER.nextInt(); - Device device = getDeviceInputs(); - device.setId(id); - deviceController.update(device.getId(), device); - LOGGER.debug("Updated device, id = " + id); - } - - private void deleteDevice() throws SQLException { - LOGGER.debug("\nEnter id to delete device: "); - Integer id = SCANNER.nextInt(); - deviceController.delete(id); - LOGGER.debug("Deleted device, id = " + id); - } - - - private void getAllNotifications() throws SQLException { - - LOGGER.debug(notificationController.findAll().toString()); - } - - private void getNotificationById() throws SQLException { - LOGGER.debug("\nEnter Id: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(notificationController.findById(id).toString()); - } - - private Notification getNotificationInputs() { - LOGGER.debug("Enter timestamp: ");SCANNER.nextLine(); - Timestamp timestamp = Timestamp.valueOf(SCANNER.nextLine()); - LOGGER.debug("Enter type: "); - String type = SCANNER.next(); - LOGGER.debug("\nEnter device_id: "); - Integer deviceId = SCANNER.nextInt(); - LOGGER.debug("\nEnter hub_id: "); - Integer hubId = SCANNER.nextInt(); - return new Notification(timestamp, type, deviceId, hubId); - } - - private void createNotification() throws SQLException { - - Notification notification = getNotificationInputs(); - notificationController.create(notification); - LOGGER.debug("Notification was added to the table.\nEnter numbers: "); - } - - private void updateNotification() throws SQLException { - LOGGER.debug("\nEnter id to update:"); - Integer id = SCANNER.nextInt(); - Notification notification = getNotificationInputs(); - notification.setId(id); - notificationController.update(notification.getId(), notification); - LOGGER.debug("Updated notification, id = " + id); - } - - private void deleteNotification() throws SQLException { - LOGGER.debug("\nEnter id to delete notification: "); - Integer id = SCANNER.nextInt(); - notificationController.delete(id); - LOGGER.debug("Deleted notification, id = " + id); - } - - - private void getAllGroups() throws SQLException { - - LOGGER.debug(groupController.findAll().toString()); - } - - private void getGroupById() throws SQLException { - LOGGER.debug("\nEnter ID: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(groupController.findById(id).toString()); - } - - private HubGroup getGroupInputs() { - LOGGER.debug("\nEnter name: "); - String name = SCANNER.next(); - LOGGER.debug("\nEnter description: "); - String description = SCANNER.next(); - LOGGER.debug("Enter hub_id: "); - Integer hubId = SCANNER.nextInt(); - return new HubGroup(name, description, hubId); - } - - private void createGroup() throws SQLException { - - HubGroup group = getGroupInputs(); - groupController.create(group); - LOGGER.debug("Group was added to the table.\nEnter numbers: "); - } - - private void updateGroup() throws SQLException { - LOGGER.debug("\nEnter id to update:"); - Integer id = SCANNER.nextInt(); - HubGroup group = getGroupInputs(); - group.setId(id); - groupController.update(group.getId(), group); - LOGGER.debug("Updated group, id = " + id); - } - - private void deleteGroup() throws SQLException { - LOGGER.debug("\nEnter ID to delete group: "); - int id = SCANNER.nextInt(); - groupController.delete(id); - LOGGER.debug("Deleted group, id = " + id); - } - - - private void getAllPermissions() throws SQLException { - - LOGGER.debug(permissionController.findAll().toString()); - } - - private void getPermissionById() throws SQLException { - LOGGER.debug("\nEnter ID: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(permissionController.findById(id).toString()); - } - - private Permission getPermissionInputs() { - LOGGER.debug("Enter name: "); - String name = SCANNER.next(); - LOGGER.debug("Enter description: "); - String description = SCANNER.next(); - return new Permission(name, description); - } - - private void createPermission() throws SQLException { - - Permission permission = getPermissionInputs(); - permissionController.create(permission); - LOGGER.debug("Permission was added to the table.\nEnter numbers: "); - } - - private void updatePermission() throws SQLException { - LOGGER.debug("\nEnter id to update: "); - Integer id = SCANNER.nextInt(); - Permission permission = getPermissionInputs(); - permission.setId(id); - permissionController.update(permission.getId(), permission); - LOGGER.debug("Updated permission, id = " + id); - } - - private void deletePermission() throws SQLException { - LOGGER.debug("\nEnter ID to delete permission: "); - int id = SCANNER.nextInt(); - permissionController.delete(id); - LOGGER.debug("Deleted permission, id = " + id); - } - - - private void getAllRexes() throws SQLException { - - LOGGER.debug(rexController.findAll().toString()); - } - - private void getRexById() throws SQLException { - LOGGER.debug("\nEnter ID: "); - Integer id = SCANNER.nextInt(); - LOGGER.debug(rexController.findById(id).toString()); - } - - private Rex getRexInputs() { - LOGGER.debug("\nEnter name: "); - String name = SCANNER.next(); - LOGGER.debug("\nEnter range: "); - String range = SCANNER.next(); - LOGGER.debug("Enter hub_id: "); - Integer hubId = SCANNER.nextInt(); - return new Rex(name, range, hubId); - } - - private void createRex() throws SQLException { - - Rex rex = getRexInputs(); - rexController.create(rex); - LOGGER.debug("Rex was added to the table.\nEnter numbers: "); - } - - private void updateRex() throws SQLException { - LOGGER.debug("\nEnter id to update: "); - Integer id = SCANNER.nextInt(); - Rex rex = getRexInputs(); - rex.setId(id); - rexController.update(rex.getId(), rex); - LOGGER.debug("Updated rex, id = " + id); - } - - private void deleteRex() throws SQLException { - LOGGER.debug("\nEnter id to delete rex: "); - int id = SCANNER.nextInt(); - rexController.delete(id); - LOGGER.debug("Deleted rex, id = " + id); - } + static final Logger LOGGER = LoggerFactory.getLogger(View.class); + private static final Scanner SCANNER = new Scanner(System.in, "UTF-8"); + private final Map menu = new LinkedHashMap<>(); + private final HubController hubController = new HubController(); + private final DeviceController deviceController = new DeviceController(); + private final NotificationController notificationController = new NotificationController(); + private final GroupController groupController = new GroupController(); + private final PermissionController permissionController = new PermissionController(); + private final UserController userController = new UserController(); + private final RexController rexController = new RexController(); + + + public View() { + menu.put("11", this::getAllUsers); + menu.put("12", this::getUserById); + menu.put("13", this::createUser); + menu.put("14", this::updateUser); + menu.put("15", this::deleteUser); + + menu.put("21", this::getAllHubs); + menu.put("22", this::getHubById); + menu.put("23", this::createHub); + menu.put("24", this::updateHub); + menu.put("25", this::deleteHub); + + menu.put("31", this::getAllDevices); + menu.put("32", this::getDeviceByName); + menu.put("33", this::createDevice); + menu.put("34", this::updateDevice); + menu.put("35", this::deleteDevice); + + menu.put("41", this::getAllNotifications); + menu.put("42", this::getNotificationById); + menu.put("43", this::createNotification); + menu.put("44", this::updateNotification); + menu.put("45", this::deleteNotification); + + menu.put("51", this::getAllGroups); + menu.put("52", this::getGroupById); + menu.put("53", this::createGroup); + menu.put("54", this::updateGroup); + menu.put("55", this::deleteGroup); + + menu.put("61", this::getAllPermissions); + menu.put("62", this::getPermissionById); + menu.put("63", this::createPermission); + menu.put("64", this::updatePermission); + menu.put("65", this::deletePermission); + + menu.put("71", this::getAllRexes); + menu.put("72", this::getRexById); + menu.put("73", this::createRex); + menu.put("74", this::updateRex); + menu.put("75", this::deleteRex); + } + + public void show() { + String input; + Menu showMenu = new Menu(); + showMenu.displayMenu(); + LOGGER.debug("\nEnter numbers:\n"); + do { + try { + input = SCANNER.next(); + menu.get(input).print(); + } catch (Exception e) { + LOGGER.debug("\nSomething is not right...\n"); + } + } while (SCANNER.hasNext()); + } + + private void getAllUsers() throws SQLException { + + LOGGER.debug(userController.findAll().toString()); + } + + private void getUserById() throws SQLException { + LOGGER.debug("\nEnter iD: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(userController.findById(id).toString()); + } + + private User getUserInputs() { + LOGGER.debug("Enter email: "); + final String email = SCANNER.next(); + LOGGER.debug("Enter password: "); + final String userPassword = SCANNER.next(); + LOGGER.debug("Enter name: "); + final String name = SCANNER.next(); + final Timestamp dateCreated = new Timestamp(System.currentTimeMillis()); + LOGGER.debug("Enter null or group_id: "); + final String groupId = SCANNER.next(); + return new User(null, + email, + userPassword, + dateCreated, + name, + Objects.equals(groupId, "null") ? null : groupId); + } + + private void createUser() throws SQLException { + + User user = getUserInputs(); + userController.create(user); + LOGGER.debug("User was added to the table.\nEnter numbers: "); + } + + private void updateUser() throws SQLException { + LOGGER.debug("\nEnter id to updаte: "); + final Integer id = SCANNER.nextInt(); + User user = getUserInputs(); + user.setId(id); + userController.update(user.getId(), user); + LOGGER.debug("Updated user, id = " + id); + } + + private void deleteUser() throws SQLException { + LOGGER.debug("\nEnter ID to delete user: "); + final int id = SCANNER.nextInt(); + userController.delete(id); + LOGGER.debug("Deleted user, id = " + id); + } + + + private void getAllHubs() throws SQLException { + + LOGGER.debug(hubController.findAll().toString()); + } + + private void getHubById() throws SQLException { + LOGGER.debug("\nEnter Id: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(hubController.findById(id).toString()); + } + + private Hub getHubInputs() { + LOGGER.debug("\nEnter model: "); + final String model = SCANNER.next(); + LOGGER.debug("Enter status: "); + final String status = SCANNER.next(); + SCANNER.nextLine(); + LOGGER.debug("Enter service_life_end_time: "); + final Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter warranty_end_time: "); + final Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter users_max: "); + final Integer usersMax = SCANNER.nextInt(); + LOGGER.debug("Enter rooms_max: "); + final Integer roomsMax = SCANNER.nextInt(); + LOGGER.debug("Enter devices_max: "); + final Integer devicesMax = SCANNER.nextInt(); + LOGGER.debug("Enter sirens_max: "); + final Integer sirensMax = SCANNER.nextInt(); + LOGGER.debug("Enter on_battery: "); + final Integer onBattery = SCANNER.nextInt(); + return new Hub(null, + model, + status, + serviceLifeEndTime, + warrantyEndTime, + usersMax, + roomsMax, + devicesMax, + sirensMax, + onBattery); + } + + private void createHub() throws SQLException { + + Hub hub = getHubInputs(); + hubController.create(hub); + LOGGER.debug("Hub was added to the table.\nEnter numbers: "); + } + + private void updateHub() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + final Integer id = SCANNER.nextInt(); + Hub hub = getHubInputs(); + hub.setId(id); + hubController.update(hub.getId(), hub); + LOGGER.debug("Updated hub, id = " + id); + } + + private void deleteHub() throws SQLException { + LOGGER.debug("\nEnter id to delete hub: "); + final Integer id = SCANNER.nextInt(); + hubController.delete(id); + LOGGER.debug("Deleted hub, id = " + id); + } + + + private void getAllDevices() throws SQLException { + + LOGGER.debug(deviceController.findAll().toString()); + } + + private void getDeviceByName() throws SQLException { + LOGGER.debug("\nEnter Id: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(deviceController.findById(id).toString()); + } + + private Device getDeviceInputs() { + LOGGER.debug("\nEnter model: "); + final String model = SCANNER.next(); + LOGGER.debug("Enter status: "); + final String status = SCANNER.next(); + SCANNER.nextLine(); + LOGGER.debug("Enter warranty_end_time: "); + final Timestamp warrantyEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter service_life_end_time: "); + final Timestamp serviceLifeEndTime = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter on_battery: "); + final Integer onBattery = SCANNER.nextInt(); + LOGGER.debug("Enter hub_id: "); + final Integer hubId = SCANNER.nextInt(); + return new Device(null, model, status, serviceLifeEndTime, warrantyEndTime, onBattery, hubId); + } + + private void createDevice() throws SQLException { + + final Device device = getDeviceInputs(); + deviceController.create(device); + LOGGER.debug("Device was added to the table.\nEnter numbers: "); + } + + private void updateDevice() throws SQLException { + LOGGER.debug("\nEnter id to update : "); + final Integer id = SCANNER.nextInt(); + final Device device = getDeviceInputs(); + device.setId(id); + deviceController.update(device.getId(), device); + LOGGER.debug("Updated device, id = " + id); + } + + private void deleteDevice() throws SQLException { + LOGGER.debug("\nEnter id to delete device: "); + final Integer id = SCANNER.nextInt(); + deviceController.delete(id); + LOGGER.debug("Deleted device, id = " + id); + } + + + private void getAllNotifications() throws SQLException { + + LOGGER.debug(notificationController.findAll().toString()); + } + + private void getNotificationById() throws SQLException { + LOGGER.debug("\nEnter Id: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(notificationController.findById(id).toString()); + } + + private Notification getNotificationInputs() { + LOGGER.debug("Enter timestamp: "); + SCANNER.nextLine(); + final Timestamp timestamp = Timestamp.valueOf(SCANNER.nextLine()); + LOGGER.debug("Enter type: "); + final String type = SCANNER.next(); + LOGGER.debug("\nEnter null or device_id: "); + final String deviceId = SCANNER.next(); + LOGGER.debug("\nEnter null or hub_id: "); + final String hubId = SCANNER.next(); + return new Notification(null, + timestamp, + type, + Objects.equals(deviceId, "null") ? null : Integer.valueOf(deviceId), + Objects.equals(hubId, "null") ? null : Integer.valueOf(hubId)); + } + + private void createNotification() throws SQLException { + + Notification notification = getNotificationInputs(); + notificationController.create(notification); + LOGGER.debug("Notification was added to the table.\nEnter numbers: "); + } + + private void updateNotification() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + final Integer id = SCANNER.nextInt(); + Notification notification = getNotificationInputs(); + notification.setId(id); + notificationController.update(notification.getId(), notification); + LOGGER.debug("Updated notification, id = " + id); + } + + private void deleteNotification() throws SQLException { + LOGGER.debug("\nEnter id to delete notification: "); + final Integer id = SCANNER.nextInt(); + notificationController.delete(id); + LOGGER.debug("Deleted notification, id = " + id); + } + + + private void getAllGroups() throws SQLException { + + LOGGER.debug(groupController.findAll().toString()); + } + + private void getGroupById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(groupController.findById(id).toString()); + } + + private Group getGroupInputs() { + LOGGER.debug("\nEnter name: "); + final String name = SCANNER.next(); + LOGGER.debug("\nEnter description: "); + final String description = SCANNER.next(); + LOGGER.debug("Enter hub_id: "); + final Integer hubId = SCANNER.nextInt(); + return new Group(null, name, description, hubId); + } + + private void createGroup() throws SQLException { + + Group group = getGroupInputs(); + groupController.create(group); + LOGGER.debug("Group was added to the table.\nEnter numbers: "); + } + + private void updateGroup() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + final Integer id = SCANNER.nextInt(); + Group group = getGroupInputs(); + group.setId(id); + groupController.update(group.getId(), group); + LOGGER.debug("Updated group, id = " + id); + } + + private void deleteGroup() throws SQLException { + LOGGER.debug("\nEnter ID to delete group: "); + final int id = SCANNER.nextInt(); + groupController.delete(id); + LOGGER.debug("Deleted group, id = " + id); + } + + + private void getAllPermissions() throws SQLException { + + LOGGER.debug(permissionController.findAll().toString()); + } + + private void getPermissionById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(permissionController.findById(id).toString()); + } + + private Permission getPermissionInputs() { + LOGGER.debug("Enter name: "); + final String name = SCANNER.next(); + LOGGER.debug("Enter description: "); + final String description = SCANNER.next(); + return new Permission(null, name, description); + } + + private void createPermission() throws SQLException { + + Permission permission = getPermissionInputs(); + permissionController.create(permission); + LOGGER.debug("Permission was added to the table.\nEnter numbers: "); + } + + private void updatePermission() throws SQLException { + LOGGER.debug("\nEnter id to update: "); + final Integer id = SCANNER.nextInt(); + Permission permission = getPermissionInputs(); + permission.setId(id); + permissionController.update(permission.getId(), permission); + LOGGER.debug("Updated permission, id = " + id); + } + + private void deletePermission() throws SQLException { + LOGGER.debug("\nEnter ID to delete permission: "); + final int id = SCANNER.nextInt(); + permissionController.delete(id); + LOGGER.debug("Deleted permission, id = " + id); + } + + + private void getAllRexes() throws SQLException { + + LOGGER.debug(rexController.findAll().toString()); + } + + private void getRexById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(rexController.findById(id).toString()); + } + + private Rex getRexInputs() { + LOGGER.debug("\nEnter name: "); + final String name = SCANNER.next(); + LOGGER.debug("\nEnter range: "); + final String range = SCANNER.next(); + LOGGER.debug("Enter hub_id: "); + final Integer hubId = SCANNER.nextInt(); + return new Rex(name, range, hubId); + } + + private void createRex() throws SQLException { + + Rex rex = getRexInputs(); + rexController.create(rex); + LOGGER.debug("Rex was added to the table.\nEnter numbers: "); + } + + private void updateRex() throws SQLException { + LOGGER.debug("\nEnter id to update: "); + final Integer id = SCANNER.nextInt(); + Rex rex = getRexInputs(); + rex.setId(id); + rexController.update(rex.getId(), rex); + LOGGER.debug("Updated rex, id = " + id); + } + + private void deleteRex() throws SQLException { + LOGGER.debug("\nEnter id to delete rex: "); + final int id = SCANNER.nextInt(); + rexController.delete(id); + LOGGER.debug("Deleted rex, id = " + id); + } } From 15687ccd9eec9f1b87695f36f9187c569061d0e9 Mon Sep 17 00:00:00 2001 From: Phlake Date: Mon, 13 Jun 2022 17:35:18 +0300 Subject: [PATCH 5/8] minor changes --- .../DevicesGroupController.java | 37 +++++ .../implementation/GroupController.java | 37 ----- .../implementation/UsersGroupController.java | 37 +++++ .../{AbstractDAO.java => AbstractDao.java} | 0 .../{DeviceDAO.java => DeviceDao.java} | 14 +- .../dao/implementation/DevicesGroupDao.java | 81 +++++++++++ .../{HubDAO.java => HubDao.java} | 0 ...ificationDAO.java => NotificationDao.java} | 0 ...{PermissionDAO.java => PermissionDao.java} | 26 +++- .../{RexDAO.java => RexDao.java} | 0 .../{UserDAO.java => UserDao.java} | 12 +- .../{GroupDAO.java => UsersGroupDao.java} | 32 ++--- .../com/mkruchok/model/entity/Device.java | 10 +- .../mkruchok/model/entity/DevicesGroup.java | 20 +++ .../com/mkruchok/model/entity/Permission.java | 13 +- .../java/com/mkruchok/model/entity/User.java | 10 +- .../entity/{Group.java => UsersGroup.java} | 2 +- .../implementation/DevicesGroupService.java | 38 +++++ .../service/implementation/GroupService.java | 38 ----- .../implementation/UsersGroupService.java | 38 +++++ src/main/java/com/mkruchok/view/Menu.java | 7 +- src/main/java/com/mkruchok/view/View.java | 133 +++++++++++++----- 22 files changed, 415 insertions(+), 170 deletions(-) create mode 100644 src/main/java/com/mkruchok/controller/implementation/DevicesGroupController.java delete mode 100644 src/main/java/com/mkruchok/controller/implementation/GroupController.java create mode 100644 src/main/java/com/mkruchok/controller/implementation/UsersGroupController.java rename src/main/java/com/mkruchok/model/dao/{AbstractDAO.java => AbstractDao.java} (100%) rename src/main/java/com/mkruchok/model/dao/implementation/{DeviceDAO.java => DeviceDao.java} (89%) create mode 100644 src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java rename src/main/java/com/mkruchok/model/dao/implementation/{HubDAO.java => HubDao.java} (100%) rename src/main/java/com/mkruchok/model/dao/implementation/{NotificationDAO.java => NotificationDao.java} (100%) rename src/main/java/com/mkruchok/model/dao/implementation/{PermissionDAO.java => PermissionDao.java} (74%) rename src/main/java/com/mkruchok/model/dao/implementation/{RexDAO.java => RexDao.java} (100%) rename src/main/java/com/mkruchok/model/dao/implementation/{UserDAO.java => UserDao.java} (93%) rename src/main/java/com/mkruchok/model/dao/implementation/{GroupDAO.java => UsersGroupDao.java} (71%) create mode 100644 src/main/java/com/mkruchok/model/entity/DevicesGroup.java rename src/main/java/com/mkruchok/model/entity/{Group.java => UsersGroup.java} (93%) create mode 100644 src/main/java/com/mkruchok/service/implementation/DevicesGroupService.java delete mode 100644 src/main/java/com/mkruchok/service/implementation/GroupService.java create mode 100644 src/main/java/com/mkruchok/service/implementation/UsersGroupService.java diff --git a/src/main/java/com/mkruchok/controller/implementation/DevicesGroupController.java b/src/main/java/com/mkruchok/controller/implementation/DevicesGroupController.java new file mode 100644 index 0000000..473c64f --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/DevicesGroupController.java @@ -0,0 +1,37 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.DevicesGroup; +import com.mkruchok.service.implementation.DevicesGroupService; +import java.sql.SQLException; +import java.util.List; + +public final class DevicesGroupController implements AbstractController { + + private final DevicesGroupService service = new DevicesGroupService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public DevicesGroup findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(DevicesGroup entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, DevicesGroup entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/controller/implementation/GroupController.java b/src/main/java/com/mkruchok/controller/implementation/GroupController.java deleted file mode 100644 index 374d5e3..0000000 --- a/src/main/java/com/mkruchok/controller/implementation/GroupController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.mkruchok.controller.implementation; - -import com.mkruchok.controller.AbstractController; -import com.mkruchok.model.entity.Group; -import com.mkruchok.service.implementation.GroupService; -import java.sql.SQLException; -import java.util.List; - -public final class GroupController implements AbstractController { - - private final GroupService service = new GroupService(); - - @Override - public List findAll() throws SQLException { - return service.findAll(); - } - - @Override - public Group findById(Integer id) throws SQLException { - return service.findById(id); - } - - @Override - public void create(Group entity) throws SQLException { - service.create(entity); - } - - @Override - public void update(Integer id, Group entity) throws SQLException { - service.update(id, entity); - } - - @Override - public void delete(Integer id) throws SQLException { - service.delete(id); - } -} diff --git a/src/main/java/com/mkruchok/controller/implementation/UsersGroupController.java b/src/main/java/com/mkruchok/controller/implementation/UsersGroupController.java new file mode 100644 index 0000000..4e26764 --- /dev/null +++ b/src/main/java/com/mkruchok/controller/implementation/UsersGroupController.java @@ -0,0 +1,37 @@ +package com.mkruchok.controller.implementation; + +import com.mkruchok.controller.AbstractController; +import com.mkruchok.model.entity.UsersGroup; +import com.mkruchok.service.implementation.UsersGroupService; +import java.sql.SQLException; +import java.util.List; + +public final class UsersGroupController implements AbstractController { + + private final UsersGroupService service = new UsersGroupService(); + + @Override + public List findAll() throws SQLException { + return service.findAll(); + } + + @Override + public UsersGroup findById(Integer id) throws SQLException { + return service.findById(id); + } + + @Override + public void create(UsersGroup entity) throws SQLException { + service.create(entity); + } + + @Override + public void update(Integer id, UsersGroup entity) throws SQLException { + service.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + service.delete(id); + } +} diff --git a/src/main/java/com/mkruchok/model/dao/AbstractDAO.java b/src/main/java/com/mkruchok/model/dao/AbstractDao.java similarity index 100% rename from src/main/java/com/mkruchok/model/dao/AbstractDAO.java rename to src/main/java/com/mkruchok/model/dao/AbstractDao.java diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java similarity index 89% rename from src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java index a264f50..97eea9a 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java @@ -19,10 +19,10 @@ public final class DeviceDao implements AbstractDao { private static final String GET_BY_ID = "SELECT * FROM ajax_curr.device WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.device " + "(`model`,`device_status`,`service_life_end_time`,`warranty_end_time`," - + "`on_battery`,`hub_id`)" + " VALUES (?, ?, ?, ?, ?, ?)"; + + "`on_battery`,`hub_id`, `devices_group_id`)" + " VALUES (?, ?, ?, ?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.device" + " SET model=?, device_status=?, service_life_end_time=?, warranty_end_time=?," - + " on_battery=?, hub_id=? WHERE id=?"; + + " on_battery=?, hub_id=?, devices_group_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.device WHERE id=?"; @Override @@ -38,7 +38,8 @@ public List findAll() throws SQLException { resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("on_battery"), - resultSet.getInt("hub_id")); + resultSet.getInt("hub_id"), + resultSet.getInt("devices_group_id")); devices.add(device); } resultSet.close(); @@ -59,7 +60,8 @@ public Device findById(Integer id) throws SQLException { resultSet.getTimestamp("service_life_end_time"), resultSet.getTimestamp("warranty_end_time"), resultSet.getInt("on_battery"), - resultSet.getInt("hub_id")); + resultSet.getInt("hub_id"), + resultSet.getInt("devices_group_id")); } resultSet.close(); return device; @@ -74,6 +76,7 @@ public void create(Device device) throws SQLException { statement.setTimestamp(4, device.getWarrantyEndTime()); statement.setInt(5, device.getOnBattery()); statement.setInt(6, device.getHubId()); + statement.setInt(6, device.getDevicesGroupId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); } @@ -87,7 +90,8 @@ public void update(Integer id, Device device) throws SQLException { statement.setTimestamp(4, device.getWarrantyEndTime()); statement.setInt(5, device.getOnBattery()); statement.setInt(6, device.getHubId()); - statement.setInt(7, device.getId()); + statement.setInt(6, device.getDevicesGroupId()); + statement.setInt(8, device.getId()); LOGGER.info(String.valueOf(statement)); statement.executeUpdate(); } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java b/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java new file mode 100644 index 0000000..8a533b1 --- /dev/null +++ b/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java @@ -0,0 +1,81 @@ +package com.mkruchok.model.dao.implementation; + +import com.mkruchok.model.dao.AbstractDao; +import com.mkruchok.model.entity.DevicesGroup; +import com.mkruchok.persistent.ConnectionManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public final class DevicesGroupDao implements AbstractDao { + + static final Logger LOGGER = LoggerFactory.getLogger(DevicesGroupDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.devices_group"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.devices_group WHERE id=?"; + private static final String CREATE = + "INSERT ajax_curr.devices_group " + "(`group_name`)" + + " VALUES (?)"; + private static final String UPDATE = + "UPDATE ajax_curr.devices_group" + " SET group_name=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.users_group WHERE id=?"; + + @Override + public List findAll() throws SQLException { + List devicesGroups = new ArrayList<>(); + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + DevicesGroup devicesGroup = new DevicesGroup(resultSet.getInt("id"), + resultSet.getString("group_name")); + devicesGroups.add(devicesGroup); + } + resultSet.close(); + return devicesGroups; + } + + @Override + public DevicesGroup findById(Integer id) throws SQLException { + DevicesGroup group = null; + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + group = new DevicesGroup(resultSet.getInt("id"), + resultSet.getString("group_name")); + } + resultSet.close(); + return group; + } + + @Override + public void create(DevicesGroup group) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); + statement.setString(1, group.getGroupName()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + + } + + @Override + public void update(Integer id, DevicesGroup group) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); + statement.setString(1, group.getGroupName()); + statement.setInt(2, group.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } + + @Override + public void delete(Integer id) throws SQLException { + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } +} diff --git a/src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/HubDao.java similarity index 100% rename from src/main/java/com/mkruchok/model/dao/implementation/HubDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/HubDao.java diff --git a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java similarity index 100% rename from src/main/java/com/mkruchok/model/dao/implementation/NotificationDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java diff --git a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java similarity index 74% rename from src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java index 7c8f382..6ddd28a 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java @@ -17,10 +17,10 @@ public final class PermissionDao implements AbstractDao { private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; private static final String CREATE = - "INSERT ajax_curr.permission " + "(`permission_name`,`permission_description`)" - + " VALUES (?, ?)"; + "INSERT ajax_curr.permission " + "(`permission_name`,`hub_id`,`user_id`,`group_id`,`device_id`)" + + " VALUES (?, ?, ?, ?, ?)"; private static final String UPDATE = - "UPDATE ajax_curr.permission" + " SET permission_name=?, permission_description=? WHERE id=?"; + "UPDATE ajax_curr.permission" + " SET permission_name=?, hub_id=?, user_id=?, group_id=?, device_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; @Override @@ -32,7 +32,10 @@ public List findAll() throws SQLException { while (resultSet.next()) { Permission permission = new Permission(resultSet.getInt("id"), resultSet.getString("permission_name"), - resultSet.getString("permission_description")); + resultSet.getInt("hub_id"), + resultSet.getInt("user_id"), + resultSet.getInt("group_id"), + resultSet.getInt("device_id")); permissions.add(permission); } resultSet.close(); @@ -49,7 +52,10 @@ public Permission findById(Integer id) throws SQLException { while (resultSet.next()) { permission = new Permission(resultSet.getInt("id"), resultSet.getString("permission_name"), - resultSet.getString("permission_description")); + resultSet.getInt("hub_id"), + resultSet.getInt("user_id"), + resultSet.getInt("group_id"), + resultSet.getInt("device_id")); } resultSet.close(); return permission; @@ -59,7 +65,10 @@ public Permission findById(Integer id) throws SQLException { public void create(Permission permission) throws SQLException { PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); statement.setString(1, permission.getPermissionName()); - statement.setString(2, permission.getDescription()); + statement.setInt(2, permission.getHub_id()); + statement.setInt(3, permission.getUser_id()); + statement.setInt(4, permission.getGroup_id()); + statement.setInt(5, permission.getDevice_id()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -69,7 +78,10 @@ public void create(Permission permission) throws SQLException { public void update(Integer id, Permission permission) throws SQLException { PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); statement.setString(1, permission.getPermissionName()); - statement.setString(2, permission.getDescription()); + statement.setInt(2, permission.getHub_id()); + statement.setInt(4, permission.getGroup_id()); + statement.setInt(3, permission.getUser_id()); + statement.setInt(5, permission.getDevice_id()); statement.setInt(3, permission.getId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/RexDao.java similarity index 100% rename from src/main/java/com/mkruchok/model/dao/implementation/RexDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/RexDao.java diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java similarity index 93% rename from src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/UserDao.java index 7634605..e23eca8 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/UserDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java @@ -17,10 +17,10 @@ public final class UserDao implements AbstractDao { private static final String GET_ALL = "SELECT * FROM ajax_curr.user"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.user WHERE id=?"; private static final String CREATE = "INSERT ajax_curr.user " - + "(`email`, `user_password`, `date_created`, `user_name`, `group_id`)" + + "(`email`, `user_password`, `date_created`, `user_name`, `users_group_id`)" + " VALUES (?, ?, ?, ?, ?)"; private static final String UPDATE = "UPDATE ajax_curr.user" - + " SET email=?, user_password=?, date_created=?, user_name=?, group_id=? WHERE id=?"; + + " SET email=?, user_password=?, date_created=?, user_name=?, users_group_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.user WHERE id=?"; @Override @@ -35,7 +35,7 @@ public List findAll() throws SQLException { resultSet.getString("user_password"), resultSet.getTimestamp("date_created"), resultSet.getString("user_name"), - resultSet.getString("group_id")); + resultSet.getString("users_group_id")); users.add(user); } resultSet.close(); @@ -55,7 +55,7 @@ public User findById(Integer id) throws SQLException { resultSet.getString("user_password"), resultSet.getTimestamp("date_created"), resultSet.getString("user_name"), - resultSet.getString("group_id")); + resultSet.getString("users_group_id")); } resultSet.close(); return user; @@ -68,7 +68,7 @@ public void create(User user) throws SQLException { statement.setString(2, user.getUserPassword()); statement.setTimestamp(3, user.getDateCreated()); statement.setString(4, user.getUserName()); - statement.setString(5, user.getGroupId()); + statement.setString(5, user.getUsersGroupId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); @@ -81,7 +81,7 @@ public void update(Integer id, User user) throws SQLException { statement.setTimestamp(3, user.getDateCreated()); statement.setString(2, user.getUserPassword()); statement.setString(4, user.getUserName()); - statement.setString(5, user.getGroupId()); + statement.setString(5, user.getUsersGroupId()); statement.setInt(6, user.getId()); statement.executeUpdate(); LOGGER.info(String.valueOf(statement)); diff --git a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java b/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java similarity index 71% rename from src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java rename to src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java index 55692a5..6423e9f 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/GroupDAO.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java @@ -1,7 +1,7 @@ package com.mkruchok.model.dao.implementation; import com.mkruchok.model.dao.AbstractDao; -import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.UsersGroup; import com.mkruchok.persistent.ConnectionManager; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -11,26 +11,26 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public final class GroupDao implements AbstractDao { +public final class UsersGroupDao implements AbstractDao { - static final Logger LOGGER = LoggerFactory.getLogger(GroupDao.class); - private static final String GET_ALL = "SELECT * FROM ajax_curr.hub_group"; - private static final String GET_BY_ID = "SELECT * FROM ajax_curr.hub_group WHERE id=?"; + static final Logger LOGGER = LoggerFactory.getLogger(UsersGroupDao.class); + private static final String GET_ALL = "SELECT * FROM ajax_curr.users_group"; + private static final String GET_BY_ID = "SELECT * FROM ajax_curr.users_group WHERE id=?"; private static final String CREATE = - "INSERT ajax_curr.hub_group " + "(`group_name`,`group_description`,`hub_id`)" + "INSERT ajax_curr.users_group " + "(`group_name`,`group_description`,`hub_id`)" + " VALUES (?, ?, ?)"; private static final String UPDATE = - "UPDATE ajax_curr.hub_group" + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; - private static final String DELETE = "DELETE FROM ajax_curr.hub_group WHERE id=?"; + "UPDATE ajax_curr.users_group" + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; + private static final String DELETE = "DELETE FROM ajax_curr.users_group WHERE id=?"; @Override - public List findAll() throws SQLException { - List groups = new ArrayList<>(); + public List findAll() throws SQLException { + List groups = new ArrayList<>(); PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); LOGGER.info(String.valueOf(statement)); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { - Group group = new Group(resultSet.getInt("id"), + UsersGroup group = new UsersGroup(resultSet.getInt("id"), resultSet.getString("group_name"), resultSet.getString("group_description"), resultSet.getInt("hub_id")); @@ -41,14 +41,14 @@ public List findAll() throws SQLException { } @Override - public Group findById(Integer id) throws SQLException { - Group group = null; + public UsersGroup findById(Integer id) throws SQLException { + UsersGroup group = null; PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); statement.setInt(1, id); LOGGER.info(String.valueOf(statement)); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { - group = new Group(resultSet.getInt("id"), + group = new UsersGroup(resultSet.getInt("id"), resultSet.getString("name"), resultSet.getString("description"), resultSet.getInt("hub_id")); @@ -58,7 +58,7 @@ public Group findById(Integer id) throws SQLException { } @Override - public void create(Group group) throws SQLException { + public void create(UsersGroup group) throws SQLException { PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); statement.setString(1, group.getGroupName()); statement.setString(2, group.getGroupDescription()); @@ -69,7 +69,7 @@ public void create(Group group) throws SQLException { } @Override - public void update(Integer id, Group group) throws SQLException { + public void update(Integer id, UsersGroup group) throws SQLException { PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); statement.setString(1, group.getGroupName()); statement.setString(2, group.getGroupDescription()); diff --git a/src/main/java/com/mkruchok/model/entity/Device.java b/src/main/java/com/mkruchok/model/entity/Device.java index d5edb6f..f208acc 100644 --- a/src/main/java/com/mkruchok/model/entity/Device.java +++ b/src/main/java/com/mkruchok/model/entity/Device.java @@ -5,12 +5,14 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import lombok.ToString; @AllArgsConstructor @NoArgsConstructor @Getter @Setter +@ToString public final class Device { private Integer id; private String model; @@ -19,12 +21,8 @@ public final class Device { private Timestamp warrantyEndTime; private Integer onBattery; private Integer hubId; + private Integer devicesGroupId; + - @Override - public String toString() { - return "\n\nDevice: id: " + id + ", model: " + model + ", status: " + deviceStatus - + ", service_life_end_time: " + serviceLifeEndTime + ", warranty_end_time: " - + warrantyEndTime + ", on_battery: " + onBattery + ", hub_id: " + hubId; - } } diff --git a/src/main/java/com/mkruchok/model/entity/DevicesGroup.java b/src/main/java/com/mkruchok/model/entity/DevicesGroup.java new file mode 100644 index 0000000..28f7f5b --- /dev/null +++ b/src/main/java/com/mkruchok/model/entity/DevicesGroup.java @@ -0,0 +1,20 @@ +package com.mkruchok.model.entity; + + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + + +@AllArgsConstructor +@NoArgsConstructor +@Getter +@Setter +@ToString +public final class DevicesGroup { + private Integer id; + private String groupName; + +} diff --git a/src/main/java/com/mkruchok/model/entity/Permission.java b/src/main/java/com/mkruchok/model/entity/Permission.java index 5aae32d..9b59173 100644 --- a/src/main/java/com/mkruchok/model/entity/Permission.java +++ b/src/main/java/com/mkruchok/model/entity/Permission.java @@ -5,21 +5,22 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import lombok.ToString; @AllArgsConstructor @NoArgsConstructor @Getter @Setter +@ToString public final class Permission { private Integer id; private String permissionName; - private String description; + private Integer hub_id; + private Integer user_id; + private Integer group_id; + private Integer device_id; + - @Override - public String toString() { - return "\n\nPermission: id: " + id + ", name: " + permissionName + ", description: " - + description; - } } diff --git a/src/main/java/com/mkruchok/model/entity/User.java b/src/main/java/com/mkruchok/model/entity/User.java index a551baf..2469574 100644 --- a/src/main/java/com/mkruchok/model/entity/User.java +++ b/src/main/java/com/mkruchok/model/entity/User.java @@ -6,24 +6,22 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import lombok.ToString; @AllArgsConstructor @NoArgsConstructor @Getter @Setter +@ToString public final class User { private Integer id; private String email; private String userPassword; private Timestamp dateCreated; private String userName; - private String groupId; + private String usersGroupId; + - @Override - public String toString() { - return "\n\nUser: id: " + id + ", email: " + email + ", password: " + userPassword - + ", date created: " + dateCreated; - } } diff --git a/src/main/java/com/mkruchok/model/entity/Group.java b/src/main/java/com/mkruchok/model/entity/UsersGroup.java similarity index 93% rename from src/main/java/com/mkruchok/model/entity/Group.java rename to src/main/java/com/mkruchok/model/entity/UsersGroup.java index a2fec91..4b6b686 100644 --- a/src/main/java/com/mkruchok/model/entity/Group.java +++ b/src/main/java/com/mkruchok/model/entity/UsersGroup.java @@ -11,7 +11,7 @@ @NoArgsConstructor @Getter @Setter -public final class Group { +public final class UsersGroup { private Integer id; private String groupName; private String groupDescription; diff --git a/src/main/java/com/mkruchok/service/implementation/DevicesGroupService.java b/src/main/java/com/mkruchok/service/implementation/DevicesGroupService.java new file mode 100644 index 0000000..0936b3d --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/DevicesGroupService.java @@ -0,0 +1,38 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.DevicesGroupDao; +import com.mkruchok.model.entity.DevicesGroup; +import com.mkruchok.service.AbstractService; +import java.sql.SQLException; +import java.util.List; + +public final class DevicesGroupService implements AbstractService { + + private final DevicesGroupDao dao = new DevicesGroupDao(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public DevicesGroup findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(DevicesGroup entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, DevicesGroup entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/service/implementation/GroupService.java b/src/main/java/com/mkruchok/service/implementation/GroupService.java deleted file mode 100644 index e11f583..0000000 --- a/src/main/java/com/mkruchok/service/implementation/GroupService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.mkruchok.service.implementation; - -import com.mkruchok.model.dao.implementation.GroupDao; -import com.mkruchok.model.entity.Group; -import com.mkruchok.service.AbstractService; -import java.sql.SQLException; -import java.util.List; - -public final class GroupService implements AbstractService { - - private final GroupDao dao = new GroupDao(); - - @Override - public List findAll() throws SQLException { - return dao.findAll(); - } - - @Override - public Group findById(Integer id) throws SQLException { - return dao.findById(id); - } - - @Override - public void create(Group entity) throws SQLException { - dao.create(entity); - } - - @Override - public void update(Integer id, Group entity) throws SQLException { - dao.update(id, entity); - } - - @Override - public void delete(Integer id) throws SQLException { - dao.delete(id); - } - -} diff --git a/src/main/java/com/mkruchok/service/implementation/UsersGroupService.java b/src/main/java/com/mkruchok/service/implementation/UsersGroupService.java new file mode 100644 index 0000000..13d43fd --- /dev/null +++ b/src/main/java/com/mkruchok/service/implementation/UsersGroupService.java @@ -0,0 +1,38 @@ +package com.mkruchok.service.implementation; + +import com.mkruchok.model.dao.implementation.UsersGroupDao; +import com.mkruchok.model.entity.UsersGroup; +import com.mkruchok.service.AbstractService; +import java.sql.SQLException; +import java.util.List; + +public final class UsersGroupService implements AbstractService { + + private final UsersGroupDao dao = new UsersGroupDao(); + + @Override + public List findAll() throws SQLException { + return dao.findAll(); + } + + @Override + public UsersGroup findById(Integer id) throws SQLException { + return dao.findById(id); + } + + @Override + public void create(UsersGroup entity) throws SQLException { + dao.create(entity); + } + + @Override + public void update(Integer id, UsersGroup entity) throws SQLException { + dao.update(id, entity); + } + + @Override + public void delete(Integer id) throws SQLException { + dao.delete(id); + } + +} diff --git a/src/main/java/com/mkruchok/view/Menu.java b/src/main/java/com/mkruchok/view/Menu.java index 308f734..47d8139 100644 --- a/src/main/java/com/mkruchok/view/Menu.java +++ b/src/main/java/com/mkruchok/view/Menu.java @@ -17,9 +17,10 @@ public void displayMenu() { LOGGER.debug("| 2 | hub | 2 | GET ROW BY ID |"); LOGGER.debug("| 3 | device | 3 | CREATE ROW |"); LOGGER.debug("| 4 | notification | 4 | UPDATE ROW |"); - LOGGER.debug("| 5 | group | 5 | DELETE ROW |"); - LOGGER.debug("| 6 | permission | | |"); - LOGGER.debug("| 7 | rex | | |"); + LOGGER.debug("| 5 | userGroup | 5 | DELETE ROW |"); + LOGGER.debug("| 6 | devicesGroup | 5 | DELETE ROW |"); + LOGGER.debug("| 7 | permission | | |"); + LOGGER.debug("| 8 | rex | | |"); LOGGER.debug("|___|__________________|___|______________________|"); } } diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index 0254fc2..f219ac1 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -1,14 +1,16 @@ package com.mkruchok.view; import com.mkruchok.controller.implementation.DeviceController; -import com.mkruchok.controller.implementation.GroupController; +import com.mkruchok.controller.implementation.DevicesGroupController; +import com.mkruchok.controller.implementation.UsersGroupController; import com.mkruchok.controller.implementation.HubController; import com.mkruchok.controller.implementation.NotificationController; import com.mkruchok.controller.implementation.PermissionController; import com.mkruchok.controller.implementation.RexController; import com.mkruchok.controller.implementation.UserController; import com.mkruchok.model.entity.Device; -import com.mkruchok.model.entity.Group; +import com.mkruchok.model.entity.DevicesGroup; +import com.mkruchok.model.entity.UsersGroup; import com.mkruchok.model.entity.Hub; import com.mkruchok.model.entity.Notification; import com.mkruchok.model.entity.Permission; @@ -31,7 +33,8 @@ public final class View { private final HubController hubController = new HubController(); private final DeviceController deviceController = new DeviceController(); private final NotificationController notificationController = new NotificationController(); - private final GroupController groupController = new GroupController(); + private final UsersGroupController usersGroupController = new UsersGroupController(); + private final DevicesGroupController devicesGroupController = new DevicesGroupController(); private final PermissionController permissionController = new PermissionController(); private final UserController userController = new UserController(); private final RexController rexController = new RexController(); @@ -62,23 +65,29 @@ public View() { menu.put("44", this::updateNotification); menu.put("45", this::deleteNotification); - menu.put("51", this::getAllGroups); - menu.put("52", this::getGroupById); - menu.put("53", this::createGroup); - menu.put("54", this::updateGroup); - menu.put("55", this::deleteGroup); + menu.put("51", this::getAllUsersGroups); + menu.put("52", this::getUsersGroupById); + menu.put("53", this::createUsersGroup); + menu.put("54", this::updateUsersGroup); + menu.put("55", this::deleteUsersGroup); - menu.put("61", this::getAllPermissions); - menu.put("62", this::getPermissionById); - menu.put("63", this::createPermission); - menu.put("64", this::updatePermission); - menu.put("65", this::deletePermission); + menu.put("61", this::getAllDevicesGroups); + menu.put("62", this::getDevicesGroupById); + menu.put("63", this::createDevicesGroup); + menu.put("64", this::updateDevicesGroup); + menu.put("65", this::deleteDevicesGroup); - menu.put("71", this::getAllRexes); - menu.put("72", this::getRexById); - menu.put("73", this::createRex); - menu.put("74", this::updateRex); - menu.put("75", this::deleteRex); + menu.put("71", this::getAllPermissions); + menu.put("72", this::getPermissionById); + menu.put("73", this::createPermission); + menu.put("74", this::updatePermission); + menu.put("75", this::deletePermission); + + menu.put("81", this::getAllRexes); + menu.put("82", this::getRexById); + menu.put("83", this::createRex); + menu.put("84", this::updateRex); + menu.put("85", this::deleteRex); } public void show() { @@ -241,7 +250,10 @@ private Device getDeviceInputs() { final Integer onBattery = SCANNER.nextInt(); LOGGER.debug("Enter hub_id: "); final Integer hubId = SCANNER.nextInt(); - return new Device(null, model, status, serviceLifeEndTime, warrantyEndTime, onBattery, hubId); + LOGGER.debug("Enter devices_group_id: "); + final Integer devicesGroupId = SCANNER.nextInt(); + return new Device(null, model, status, serviceLifeEndTime, warrantyEndTime, onBattery, + hubId, devicesGroupId); } private void createDevice() throws SQLException { @@ -320,47 +332,84 @@ private void deleteNotification() throws SQLException { } - private void getAllGroups() throws SQLException { - - LOGGER.debug(groupController.findAll().toString()); + private void getAllUsersGroups() throws SQLException { + LOGGER.debug(usersGroupController.findAll().toString()); } - private void getGroupById() throws SQLException { + private void getUsersGroupById() throws SQLException { LOGGER.debug("\nEnter ID: "); final Integer id = SCANNER.nextInt(); - LOGGER.debug(groupController.findById(id).toString()); + LOGGER.debug(usersGroupController.findById(id).toString()); } - private Group getGroupInputs() { + private UsersGroup getGroupInputs() { LOGGER.debug("\nEnter name: "); final String name = SCANNER.next(); LOGGER.debug("\nEnter description: "); final String description = SCANNER.next(); LOGGER.debug("Enter hub_id: "); final Integer hubId = SCANNER.nextInt(); - return new Group(null, name, description, hubId); + return new UsersGroup(null, name, description, hubId); } - private void createGroup() throws SQLException { - - Group group = getGroupInputs(); - groupController.create(group); + private void createUsersGroup() throws SQLException { + UsersGroup group = getGroupInputs(); + usersGroupController.create(group); LOGGER.debug("Group was added to the table.\nEnter numbers: "); } - private void updateGroup() throws SQLException { + private void updateUsersGroup() throws SQLException { + LOGGER.debug("\nEnter id to update:"); + final Integer id = SCANNER.nextInt(); + UsersGroup group = getGroupInputs(); + group.setId(id); + usersGroupController.update(group.getId(), group); + LOGGER.debug("Updated group, id = " + id); + } + + private void deleteUsersGroup() throws SQLException { + LOGGER.debug("\nEnter ID to delete group: "); + final int id = SCANNER.nextInt(); + usersGroupController.delete(id); + LOGGER.debug("Deleted group, id = " + id); + } + + + private void getAllDevicesGroups() throws SQLException { + LOGGER.debug(devicesGroupController.findAll().toString()); + } + + private void getDevicesGroupById() throws SQLException { + LOGGER.debug("\nEnter ID: "); + final Integer id = SCANNER.nextInt(); + LOGGER.debug(devicesGroupController.findById(id).toString()); + } + + private DevicesGroup getDevicesGroupInputs() { + LOGGER.debug("\nEnter name: "); + final String name = SCANNER.next(); + return new DevicesGroup(null, name); + } + + private void createDevicesGroup() throws SQLException { + DevicesGroup group = getDevicesGroupInputs(); + devicesGroupController.create(group); + LOGGER.debug("Devices group was added to the table.\nEnter numbers: "); + } + + private void updateDevicesGroup() throws SQLException { LOGGER.debug("\nEnter id to update:"); final Integer id = SCANNER.nextInt(); - Group group = getGroupInputs(); + DevicesGroup group = getDevicesGroupInputs(); group.setId(id); - groupController.update(group.getId(), group); + devicesGroupController.update(group.getId(), group); LOGGER.debug("Updated group, id = " + id); } - private void deleteGroup() throws SQLException { + private void deleteDevicesGroup() throws SQLException { LOGGER.debug("\nEnter ID to delete group: "); final int id = SCANNER.nextInt(); - groupController.delete(id); + devicesGroupController.delete(id); LOGGER.debug("Deleted group, id = " + id); } @@ -377,11 +426,17 @@ private void getPermissionById() throws SQLException { } private Permission getPermissionInputs() { - LOGGER.debug("Enter name: "); + LOGGER.debug("Enter permission_name: "); final String name = SCANNER.next(); - LOGGER.debug("Enter description: "); - final String description = SCANNER.next(); - return new Permission(null, name, description); + LOGGER.debug("Enter hub_id: "); + final Integer hub_id = SCANNER.nextInt(); + LOGGER.debug("Enter user_id: "); + final Integer user_id = SCANNER.nextInt(); + LOGGER.debug("Enter group_id: "); + final Integer group_id = SCANNER.nextInt(); + LOGGER.debug("Enter device_id: "); + final Integer device_id = SCANNER.nextInt(); + return new Permission(null, name, hub_id, user_id, group_id, device_id); } private void createPermission() throws SQLException { From 3fd41bfd69172f33cadf1c4691ea1eb8cea448a3 Mon Sep 17 00:00:00 2001 From: Phlake Date: Thu, 16 Jun 2022 16:00:54 +0300 Subject: [PATCH 6/8] bug fixes --- pom.xml | 20 ++- .../model/dao/implementation/DeviceDao.java | 121 ++++++++------- .../dao/implementation/DevicesGroupDao.java | 76 ++++++---- .../model/dao/implementation/HubDao.java | 138 ++++++++++-------- .../dao/implementation/NotificationDao.java | 101 +++++++------ .../dao/implementation/PermissionDao.java | 119 ++++++++------- .../model/dao/implementation/RexDao.java | 92 +++++++----- .../model/dao/implementation/UserDao.java | 110 ++++++++------ .../dao/implementation/UsersGroupDao.java | 98 ++++++++----- .../com/mkruchok/model/entity/Device.java | 1 - .../com/mkruchok/model/entity/Permission.java | 9 +- .../java/com/mkruchok/model/entity/User.java | 1 - src/main/java/com/mkruchok/view/View.java | 17 ++- 13 files changed, 523 insertions(+), 380 deletions(-) diff --git a/pom.xml b/pom.xml index d683bdf..0e920fe 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,11 @@ 1.8 + + com.github.spotbugs + spotbugs-maven-plugin + 4.4.1 + @@ -67,6 +72,11 @@ lombok 1.18.24 + + com.github.spotbugs + spotbugs + 4.7.0 + org.apache.maven.plugins maven-checkstyle-plugin @@ -97,13 +107,9 @@ - org.codehaus.mojo - findbugs-maven-plugin - 3.0.5 - - true - target/site - + com.github.spotbugs + spotbugs-maven-plugin + 4.4.1 org.apache.maven.plugins diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java index 97eea9a..eff956e 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/DeviceDao.java @@ -28,79 +28,94 @@ public final class DeviceDao implements AbstractDao { @Override public List findAll() throws SQLException { List devices = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Device device = new Device(resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("device_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("on_battery"), - resultSet.getInt("hub_id"), - resultSet.getInt("devices_group_id")); - devices.add(device); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Device device = new Device(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("device_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id"), + resultSet.getInt("devices_group_id")); + devices.add(device); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return devices; } @Override public Device findById(Integer id) throws SQLException { Device device = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - device = new Device(resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("device_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("on_battery"), - resultSet.getInt("hub_id"), - resultSet.getInt("devices_group_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + device = new Device(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("device_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("on_battery"), + resultSet.getInt("hub_id"), + resultSet.getInt("devices_group_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return device; } @Override public void create(Device device) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, device.getModel()); - statement.setString(2, device.getDeviceStatus()); - statement.setTimestamp(3, device.getServiceLifeEndTime()); - statement.setTimestamp(4, device.getWarrantyEndTime()); - statement.setInt(5, device.getOnBattery()); - statement.setInt(6, device.getHubId()); - statement.setInt(6, device.getDevicesGroupId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, device.getModel()); + statement.setString(2, device.getDeviceStatus()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.setInt(6, device.getDevicesGroupId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, Device device) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(2, device.getDeviceStatus()); - statement.setString(1, device.getModel()); - statement.setTimestamp(3, device.getServiceLifeEndTime()); - statement.setTimestamp(4, device.getWarrantyEndTime()); - statement.setInt(5, device.getOnBattery()); - statement.setInt(6, device.getHubId()); - statement.setInt(6, device.getDevicesGroupId()); - statement.setInt(8, device.getId()); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(2, device.getDeviceStatus()); + statement.setString(1, device.getModel()); + statement.setTimestamp(3, device.getServiceLifeEndTime()); + statement.setTimestamp(4, device.getWarrantyEndTime()); + statement.setInt(5, device.getOnBattery()); + statement.setInt(6, device.getHubId()); + statement.setInt(6, device.getDevicesGroupId()); + statement.setInt(8, device.getId()); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java b/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java index 8a533b1..a2987c6 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/DevicesGroupDao.java @@ -17,8 +17,7 @@ public final class DevicesGroupDao implements AbstractDao { private static final String GET_ALL = "SELECT * FROM ajax_curr.devices_group"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.devices_group WHERE id=?"; private static final String CREATE = - "INSERT ajax_curr.devices_group " + "(`group_name`)" - + " VALUES (?)"; + "INSERT ajax_curr.devices_group " + "(`group_name`)" + " VALUES (?)"; private static final String UPDATE = "UPDATE ajax_curr.devices_group" + " SET group_name=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.users_group WHERE id=?"; @@ -26,56 +25,69 @@ public final class DevicesGroupDao implements AbstractDao { @Override public List findAll() throws SQLException { List devicesGroups = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - DevicesGroup devicesGroup = new DevicesGroup(resultSet.getInt("id"), - resultSet.getString("group_name")); - devicesGroups.add(devicesGroup); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + DevicesGroup devicesGroup = + new DevicesGroup(resultSet.getInt("id"), resultSet.getString("group_name")); + devicesGroups.add(devicesGroup); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return devicesGroups; } @Override public DevicesGroup findById(Integer id) throws SQLException { DevicesGroup group = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - group = new DevicesGroup(resultSet.getInt("id"), - resultSet.getString("group_name")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + group = new DevicesGroup(resultSet.getInt("id"), resultSet.getString("group_name")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return group; } @Override public void create(DevicesGroup group) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, group.getGroupName()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, group.getGroupName()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, DevicesGroup group) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, group.getGroupName()); - statement.setInt(2, group.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, group.getGroupName()); + statement.setInt(2, group.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/HubDao.java b/src/main/java/com/mkruchok/model/dao/implementation/HubDao.java index 9e309d3..a84b61f 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/HubDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/HubDao.java @@ -27,23 +27,26 @@ public final class HubDao implements AbstractDao { @Override public List findAll() throws SQLException { List hubs = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Hub hub = new Hub(resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("hub_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("users_max"), - resultSet.getInt("rooms_max"), - resultSet.getInt("devices_max"), - resultSet.getInt("sirens_max"), - resultSet.getInt("on_battery")); - hubs.add(hub); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Hub hub = new Hub(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("hub_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery")); + hubs.add(hub); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return hubs; } @@ -51,65 +54,76 @@ public List findAll() throws SQLException { @Override public Hub findById(Integer id) throws SQLException { Hub hub = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - hub = new Hub(resultSet.getInt("id"), - resultSet.getString("model"), - resultSet.getString("hub_status"), - resultSet.getTimestamp("service_life_end_time"), - resultSet.getTimestamp("warranty_end_time"), - resultSet.getInt("users_max"), - resultSet.getInt("rooms_max"), - resultSet.getInt("devices_max"), - resultSet.getInt("sirens_max"), - resultSet.getInt("on_battery")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + hub = new Hub(resultSet.getInt("id"), + resultSet.getString("model"), + resultSet.getString("hub_status"), + resultSet.getTimestamp("service_life_end_time"), + resultSet.getTimestamp("warranty_end_time"), + resultSet.getInt("users_max"), + resultSet.getInt("rooms_max"), + resultSet.getInt("devices_max"), + resultSet.getInt("sirens_max"), + resultSet.getInt("on_battery")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return hub; } @Override public void create(Hub hub) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, hub.getModel()); - statement.setString(2, hub.getHubStatus()); - statement.setTimestamp(3, hub.getServiceLifeEndTime()); - statement.setTimestamp(4, hub.getWarrantyEndTime()); - statement.setInt(6, hub.getRoomsMax()); - statement.setInt(5, hub.getUsersMax()); - statement.setInt(7, hub.getDevicesMax()); - statement.setInt(8, hub.getSirensMax()); - statement.setInt(9, hub.getOnBattery()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getHubStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, Hub hub) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, hub.getModel()); - statement.setString(2, hub.getHubStatus()); - statement.setTimestamp(3, hub.getServiceLifeEndTime()); - statement.setTimestamp(4, hub.getWarrantyEndTime()); - statement.setInt(5, hub.getUsersMax()); - statement.setInt(6, hub.getRoomsMax()); - statement.setInt(7, hub.getDevicesMax()); - statement.setInt(8, hub.getSirensMax()); - statement.setInt(9, hub.getOnBattery()); - statement.setInt(10, hub.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, hub.getModel()); + statement.setString(2, hub.getHubStatus()); + statement.setTimestamp(3, hub.getServiceLifeEndTime()); + statement.setTimestamp(4, hub.getWarrantyEndTime()); + statement.setInt(5, hub.getUsersMax()); + statement.setInt(6, hub.getRoomsMax()); + statement.setInt(7, hub.getDevicesMax()); + statement.setInt(8, hub.getSirensMax()); + statement.setInt(9, hub.getOnBattery()); + statement.setInt(10, hub.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try (PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java index 7eab674..e0dda94 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/NotificationDao.java @@ -26,68 +26,85 @@ public final class NotificationDao implements AbstractDao { @Override public List findAll() throws SQLException { List notifications = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Notification notification = new Notification(resultSet.getInt("id"), - resultSet.getTimestamp("timestamp"), - resultSet.getString("notification_type"), - resultSet.getInt("device_id"), - resultSet.getInt("hub_id")); - notifications.add(notification); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Notification notification = new Notification(resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("notification_type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id")); + notifications.add(notification); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return notifications; } @Override public Notification findById(Integer id) throws SQLException { Notification notification = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - notification = new Notification(resultSet.getInt("id"), - resultSet.getTimestamp("timestamp"), - resultSet.getString("notification_type"), - resultSet.getInt("device_id"), - resultSet.getInt("hub_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + notification = new Notification(resultSet.getInt("id"), + resultSet.getTimestamp("timestamp"), + resultSet.getString("notification_type"), + resultSet.getInt("device_id"), + resultSet.getInt("hub_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return notification; } @Override public void create(Notification notification) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getNotificationType()); - statement.setInt(3, notification.getDeviceId()); - statement.setInt(4, notification.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getNotificationType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, Notification notification) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setTimestamp(1, notification.getTimestamp()); - statement.setString(2, notification.getNotificationType()); - statement.setInt(3, notification.getDeviceId()); - statement.setInt(4, notification.getHubId()); - statement.setInt(5, notification.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setTimestamp(1, notification.getTimestamp()); + statement.setString(2, notification.getNotificationType()); + statement.setInt(3, notification.getDeviceId()); + statement.setInt(4, notification.getHubId()); + statement.setInt(5, notification.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java index 6ddd28a..aa53173 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/PermissionDao.java @@ -16,82 +16,99 @@ public final class PermissionDao implements AbstractDao { static final Logger LOGGER = LoggerFactory.getLogger(PermissionDao.class); private static final String GET_ALL = "SELECT * FROM ajax_curr.permission"; private static final String GET_BY_ID = "SELECT * FROM ajax_curr.permission WHERE id=?"; - private static final String CREATE = - "INSERT ajax_curr.permission " + "(`permission_name`,`hub_id`,`user_id`,`group_id`,`device_id`)" - + " VALUES (?, ?, ?, ?, ?)"; - private static final String UPDATE = - "UPDATE ajax_curr.permission" + " SET permission_name=?, hub_id=?, user_id=?, group_id=?, device_id=? WHERE id=?"; + private static final String CREATE = "INSERT ajax_curr.permission " + + "(`permission_name`,`hub_id`,`user_id`,`group_id`,`device_id`)" + " VALUES (?, ?, ?, ?, ?)"; + private static final String UPDATE = "UPDATE ajax_curr.permission" + + " SET permission_name=?, hub_id=?, user_id=?, group_id=?, device_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.permission WHERE id=?"; @Override public List findAll() throws SQLException { List permissions = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Permission permission = new Permission(resultSet.getInt("id"), - resultSet.getString("permission_name"), - resultSet.getInt("hub_id"), - resultSet.getInt("user_id"), - resultSet.getInt("group_id"), - resultSet.getInt("device_id")); - permissions.add(permission); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Permission permission = new Permission(resultSet.getInt("id"), + resultSet.getString("permission_name"), + resultSet.getInt("hub_id"), + resultSet.getInt("user_id"), + resultSet.getInt("group_id"), + resultSet.getInt("device_id")); + permissions.add(permission); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); return permissions; } @Override public Permission findById(Integer id) throws SQLException { Permission permission = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - permission = new Permission(resultSet.getInt("id"), - resultSet.getString("permission_name"), - resultSet.getInt("hub_id"), - resultSet.getInt("user_id"), - resultSet.getInt("group_id"), - resultSet.getInt("device_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + permission = new Permission(resultSet.getInt("id"), + resultSet.getString("permission_name"), + resultSet.getInt("hub_id"), + resultSet.getInt("user_id"), + resultSet.getInt("group_id"), + resultSet.getInt("device_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return permission; } @Override public void create(Permission permission) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, permission.getPermissionName()); - statement.setInt(2, permission.getHub_id()); - statement.setInt(3, permission.getUser_id()); - statement.setInt(4, permission.getGroup_id()); - statement.setInt(5, permission.getDevice_id()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); - + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, permission.getPermissionName()); + statement.setInt(2, permission.getHubId()); + statement.setInt(3, permission.getUserId()); + statement.setInt(4, permission.getGroupId()); + statement.setInt(5, permission.getDeviceId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, Permission permission) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, permission.getPermissionName()); - statement.setInt(2, permission.getHub_id()); - statement.setInt(4, permission.getGroup_id()); - statement.setInt(3, permission.getUser_id()); - statement.setInt(5, permission.getDevice_id()); - statement.setInt(3, permission.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, permission.getPermissionName()); + statement.setInt(2, permission.getHubId()); + statement.setInt(4, permission.getGroupId()); + statement.setInt(3, permission.getUserId()); + statement.setInt(5, permission.getDeviceId()); + statement.setInt(3, permission.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/RexDao.java b/src/main/java/com/mkruchok/model/dao/implementation/RexDao.java index 99746b7..e8bddc5 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/RexDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/RexDao.java @@ -25,64 +25,82 @@ public final class RexDao implements AbstractDao { @Override public List findAll() throws SQLException { List rexes = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - Rex rex = new Rex(resultSet.getInt("id"), - resultSet.getString("rex_name"), - resultSet.getString("rex_range"), - resultSet.getInt("hub_id")); - rexes.add(rex); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + Rex rex = new Rex(resultSet.getInt("id"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), + resultSet.getInt("hub_id")); + rexes.add(rex); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return rexes; } @Override public Rex findById(Integer id) throws SQLException { Rex rex = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - rex = new Rex(resultSet.getInt("id"), - resultSet.getString("rex_name"), - resultSet.getString("rex_range"), - resultSet.getInt("hub_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + rex = new Rex(resultSet.getInt("id"), + resultSet.getString("rex_name"), + resultSet.getString("rex_range"), + resultSet.getInt("hub_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return rex; } @Override public void create(Rex rex) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, rex.getRexName()); - statement.setString(2, rex.getRexRange()); - statement.setInt(3, rex.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); + statement.setInt(3, rex.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, Rex rex) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, rex.getRexName()); - statement.setString(2, rex.getRexRange()); - statement.setInt(3, rex.getHubId()); - statement.setInt(4, rex.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, rex.getRexName()); + statement.setString(2, rex.getRexRange()); + statement.setInt(3, rex.getHubId()); + statement.setInt(4, rex.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java b/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java index e23eca8..c0733b7 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UserDao.java @@ -26,72 +26,92 @@ public final class UserDao implements AbstractDao { @Override public List findAll() throws SQLException { List users = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - User user = new User(resultSet.getInt("id"), - resultSet.getString("email"), - resultSet.getString("user_password"), - resultSet.getTimestamp("date_created"), - resultSet.getString("user_name"), - resultSet.getString("users_group_id")); - users.add(user); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + User user = new User(resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("user_password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("user_name"), + resultSet.getString("users_group_id")); + users.add(user); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return users; } @Override public User findById(Integer id) throws SQLException { User user = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - user = new User(resultSet.getInt("id"), - resultSet.getString("email"), - resultSet.getString("user_password"), - resultSet.getTimestamp("date_created"), - resultSet.getString("user_name"), - resultSet.getString("users_group_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + user = new User(resultSet.getInt("id"), + resultSet.getString("email"), + resultSet.getString("user_password"), + resultSet.getTimestamp("date_created"), + resultSet.getString("user_name"), + resultSet.getString("users_group_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return user; } @Override public void create(User user) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, user.getEmail()); - statement.setString(2, user.getUserPassword()); - statement.setTimestamp(3, user.getDateCreated()); - statement.setString(4, user.getUserName()); - statement.setString(5, user.getUsersGroupId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, user.getEmail()); + statement.setString(2, user.getUserPassword()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(4, user.getUserName()); + statement.setString(5, user.getUsersGroupId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, User user) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, user.getEmail()); - statement.setTimestamp(3, user.getDateCreated()); - statement.setString(2, user.getUserPassword()); - statement.setString(4, user.getUserName()); - statement.setString(5, user.getUsersGroupId()); - statement.setInt(6, user.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, user.getEmail()); + statement.setTimestamp(3, user.getDateCreated()); + statement.setString(2, user.getUserPassword()); + statement.setString(4, user.getUserName()); + statement.setString(5, user.getUsersGroupId()); + statement.setInt(6, user.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - LOGGER.info(String.valueOf(statement)); - statement.setInt(1, id); - statement.executeUpdate(); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + LOGGER.info(String.valueOf(statement)); + statement.setInt(1, id); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java b/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java index 6423e9f..838f749 100644 --- a/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java +++ b/src/main/java/com/mkruchok/model/dao/implementation/UsersGroupDao.java @@ -19,71 +19,91 @@ public final class UsersGroupDao implements AbstractDao { private static final String CREATE = "INSERT ajax_curr.users_group " + "(`group_name`,`group_description`,`hub_id`)" + " VALUES (?, ?, ?)"; - private static final String UPDATE = - "UPDATE ajax_curr.users_group" + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; + private static final String UPDATE = "UPDATE ajax_curr.users_group" + + " SET group_name=?, group_description=?, hub_id=? WHERE id=?"; private static final String DELETE = "DELETE FROM ajax_curr.users_group WHERE id=?"; @Override public List findAll() throws SQLException { List groups = new ArrayList<>(); - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_ALL); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - UsersGroup group = new UsersGroup(resultSet.getInt("id"), - resultSet.getString("group_name"), - resultSet.getString("group_description"), - resultSet.getInt("hub_id")); - groups.add(group); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_ALL)) { + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + UsersGroup group = new UsersGroup(resultSet.getInt("id"), + resultSet.getString("group_name"), + resultSet.getString("group_description"), + resultSet.getInt("hub_id")); + groups.add(group); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return groups; } @Override public UsersGroup findById(Integer id) throws SQLException { UsersGroup group = null; - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(GET_BY_ID); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - ResultSet resultSet = statement.executeQuery(); - while (resultSet.next()) { - group = new UsersGroup(resultSet.getInt("id"), - resultSet.getString("name"), - resultSet.getString("description"), - resultSet.getInt("hub_id")); + try (PreparedStatement statement = ConnectionManager.getConnection() + .prepareStatement(GET_BY_ID)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + ResultSet resultSet = statement.executeQuery(); + while (resultSet.next()) { + group = new UsersGroup(resultSet.getInt("id"), + resultSet.getString("name"), + resultSet.getString("description"), + resultSet.getInt("hub_id")); + } + } catch (SQLException e) { + LOGGER.error(e.toString()); } - resultSet.close(); + return group; } @Override public void create(UsersGroup group) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE); - statement.setString(1, group.getGroupName()); - statement.setString(2, group.getGroupDescription()); - statement.setInt(3, group.getHubId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(CREATE)) { + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); + statement.setInt(3, group.getHubId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void update(Integer id, UsersGroup group) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE); - statement.setString(1, group.getGroupName()); - statement.setString(2, group.getGroupDescription()); - statement.setInt(3, group.getHubId()); - statement.setInt(4, group.getId()); - statement.executeUpdate(); - LOGGER.info(String.valueOf(statement)); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(UPDATE)) { + statement.setString(1, group.getGroupName()); + statement.setString(2, group.getGroupDescription()); + statement.setInt(3, group.getHubId()); + statement.setInt(4, group.getId()); + statement.executeUpdate(); + LOGGER.info(String.valueOf(statement)); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } @Override public void delete(Integer id) throws SQLException { - PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE); - statement.setInt(1, id); - LOGGER.info(String.valueOf(statement)); - statement.executeUpdate(); + try ( + PreparedStatement statement = ConnectionManager.getConnection().prepareStatement(DELETE)) { + statement.setInt(1, id); + LOGGER.info(String.valueOf(statement)); + statement.executeUpdate(); + } catch (SQLException e) { + LOGGER.error(e.toString()); + } } } diff --git a/src/main/java/com/mkruchok/model/entity/Device.java b/src/main/java/com/mkruchok/model/entity/Device.java index f208acc..01cc254 100644 --- a/src/main/java/com/mkruchok/model/entity/Device.java +++ b/src/main/java/com/mkruchok/model/entity/Device.java @@ -24,5 +24,4 @@ public final class Device { private Integer devicesGroupId; - } diff --git a/src/main/java/com/mkruchok/model/entity/Permission.java b/src/main/java/com/mkruchok/model/entity/Permission.java index 9b59173..fb4c2b4 100644 --- a/src/main/java/com/mkruchok/model/entity/Permission.java +++ b/src/main/java/com/mkruchok/model/entity/Permission.java @@ -16,11 +16,10 @@ public final class Permission { private Integer id; private String permissionName; - private Integer hub_id; - private Integer user_id; - private Integer group_id; - private Integer device_id; - + private Integer hubId; + private Integer userId; + private Integer groupId; + private Integer deviceId; } diff --git a/src/main/java/com/mkruchok/model/entity/User.java b/src/main/java/com/mkruchok/model/entity/User.java index 2469574..cf9d185 100644 --- a/src/main/java/com/mkruchok/model/entity/User.java +++ b/src/main/java/com/mkruchok/model/entity/User.java @@ -23,5 +23,4 @@ public final class User { private String usersGroupId; - } diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index f219ac1..c1d55e8 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -2,20 +2,21 @@ import com.mkruchok.controller.implementation.DeviceController; import com.mkruchok.controller.implementation.DevicesGroupController; -import com.mkruchok.controller.implementation.UsersGroupController; import com.mkruchok.controller.implementation.HubController; import com.mkruchok.controller.implementation.NotificationController; import com.mkruchok.controller.implementation.PermissionController; import com.mkruchok.controller.implementation.RexController; import com.mkruchok.controller.implementation.UserController; +import com.mkruchok.controller.implementation.UsersGroupController; import com.mkruchok.model.entity.Device; import com.mkruchok.model.entity.DevicesGroup; -import com.mkruchok.model.entity.UsersGroup; import com.mkruchok.model.entity.Hub; import com.mkruchok.model.entity.Notification; import com.mkruchok.model.entity.Permission; import com.mkruchok.model.entity.Rex; import com.mkruchok.model.entity.User; +import com.mkruchok.model.entity.UsersGroup; +import java.nio.charset.StandardCharsets; import java.sql.SQLException; import java.sql.Timestamp; import java.util.LinkedHashMap; @@ -28,7 +29,7 @@ public final class View { static final Logger LOGGER = LoggerFactory.getLogger(View.class); - private static final Scanner SCANNER = new Scanner(System.in, "UTF-8"); + private static final Scanner SCANNER = new Scanner(System.in, StandardCharsets.UTF_8); private final Map menu = new LinkedHashMap<>(); private final HubController hubController = new HubController(); private final DeviceController deviceController = new DeviceController(); @@ -252,8 +253,14 @@ private Device getDeviceInputs() { final Integer hubId = SCANNER.nextInt(); LOGGER.debug("Enter devices_group_id: "); final Integer devicesGroupId = SCANNER.nextInt(); - return new Device(null, model, status, serviceLifeEndTime, warrantyEndTime, onBattery, - hubId, devicesGroupId); + return new Device(null, + model, + status, + serviceLifeEndTime, + warrantyEndTime, + onBattery, + hubId, + devicesGroupId); } private void createDevice() throws SQLException { From 7891e6f63fa724c6f95b0060d1d845d726e51687 Mon Sep 17 00:00:00 2001 From: Phlake Date: Fri, 17 Jun 2022 16:42:39 +0300 Subject: [PATCH 7/8] minor changes --- pom.xml | 5 +++++ src/main/java/com/mkruchok/view/View.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0e920fe..ff035ae 100644 --- a/pom.xml +++ b/pom.xml @@ -93,6 +93,11 @@ 3.0.1 provided + + org.slf4j + slf4j-api + 1.7.36 + ch.qos.logback logback-classic diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index c1d55e8..2024c66 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -29,7 +29,7 @@ public final class View { static final Logger LOGGER = LoggerFactory.getLogger(View.class); - private static final Scanner SCANNER = new Scanner(System.in, StandardCharsets.UTF_8); + private static final Scanner SCANNER = new Scanner(System.in, "UTF-8"); private final Map menu = new LinkedHashMap<>(); private final HubController hubController = new HubController(); private final DeviceController deviceController = new DeviceController(); From da2bb0f9f4c1ebc7e0029c4f48ac6a1a6e0ae3f3 Mon Sep 17 00:00:00 2001 From: Phlake Date: Fri, 17 Jun 2022 17:05:38 +0300 Subject: [PATCH 8/8] minor changes --- src/main/java/com/mkruchok/view/View.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/mkruchok/view/View.java b/src/main/java/com/mkruchok/view/View.java index 2024c66..8cd4bb4 100644 --- a/src/main/java/com/mkruchok/view/View.java +++ b/src/main/java/com/mkruchok/view/View.java @@ -16,7 +16,6 @@ import com.mkruchok.model.entity.Rex; import com.mkruchok.model.entity.User; import com.mkruchok.model.entity.UsersGroup; -import java.nio.charset.StandardCharsets; import java.sql.SQLException; import java.sql.Timestamp; import java.util.LinkedHashMap;