From be2781160a049663a7cf8eee31f59465e598b73c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Hrdli=C4=8Dka?= <xhrdlic3@fi.muni.cz>
Date: Thu, 3 Feb 2022 15:13:37 +0100
Subject: [PATCH] Fixed general project problems

---
 .../pv168/project/data/category/CategoryTime.java |  4 ++--
 .../cz/muni/fi/pv168/project/db/DaoHolder.java    | 12 ++++++------
 .../project/db/category/CategoryManager.java      |  2 +-
 .../db/categorytime/CategoryTimeManager.java      |  2 +-
 .../project/db/dependency/DependencyManager.java  |  2 +-
 .../project/db/interfaces/DataAccessManager.java  |  4 ++--
 .../pv168/project/db/subtask/SubTaskManager.java  |  2 +-
 .../fi/pv168/project/db/task/TaskManager.java     |  2 +-
 .../db/taskcategory/TaskCategoryManager.java      |  2 +-
 .../project/ui/dialog/AbstractEntityDialog.java   |  3 +--
 .../muni/fi/pv168/project/ui/main/MainWindow.java |  9 ++-------
 .../fi/pv168/project/ui/main/panel/CardPanel.java |  4 ++--
 .../project/ui/main/panel/CircleColorPanel.java   |  4 ----
 .../panel/listholder/AbstractHolderPanel.java     |  4 ----
 .../main/panel/listholder/SubTaskHolderPanel.java |  2 +-
 .../project/ui/main/toolbar/TasksToolBar.java     |  2 +-
 .../ui/main/view/CategoryAndStatisticsView.java   |  7 ++-----
 .../statistics/AbstractStatisticsRenderer.java    |  4 ++--
 .../statistics/CategoryStatisticsRenderer.java    |  2 +-
 .../statistics/TimeSpentStatisticsRenderer.java   |  2 +-
 .../project/db/category/CategoryDaoTest.java      |  5 ++---
 .../db/categorytime/CategoryTimeDaoTest.java      | 11 +++++------
 .../project/db/dependency/DependencyDaoTest.java  |  9 ++++-----
 .../pv168/project/db/subtask/SubTaskDaoTest.java  | 11 +++++------
 .../fi/pv168/project/db/task/TaskDaoTest.java     | 15 +++++++--------
 .../db/taskcategory/TaskCategoryDaoTest.java      |  9 ++++-----
 26 files changed, 56 insertions(+), 79 deletions(-)

diff --git a/src/main/java/cz/muni/fi/pv168/project/data/category/CategoryTime.java b/src/main/java/cz/muni/fi/pv168/project/data/category/CategoryTime.java
index 031515fb..065d8c29 100644
--- a/src/main/java/cz/muni/fi/pv168/project/data/category/CategoryTime.java
+++ b/src/main/java/cz/muni/fi/pv168/project/data/category/CategoryTime.java
@@ -9,8 +9,8 @@ public class CategoryTime {
 
     private Long id;
 
-    private Long taskId;
-    private LocalDate completionDate;
+    private final Long taskId;
+    private final LocalDate completionDate;
     private Duration timeSpent;
 
     public CategoryTime(LocalDate completionDate, Long hoursSpent, Long taskId) {
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/DaoHolder.java b/src/main/java/cz/muni/fi/pv168/project/db/DaoHolder.java
index e6f7e554..ec4e0b51 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/DaoHolder.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/DaoHolder.java
@@ -24,13 +24,13 @@ public class DaoHolder {
     private final TaskDao taskDao;
 
     public DaoHolder(DataSource dataSource) {
-        var taskManager = new TaskManager(dataSource);
-        var subTaskManager = new SubTaskManager(dataSource); // must be after TaskManager
-        var dependencyManager = new DependencyManager(dataSource); // must be after TaskManager
+        new TaskManager(dataSource);
+        new SubTaskManager(dataSource);
+        new DependencyManager(dataSource);
 
-        var categoryManager = new CategoryManager(dataSource);
-        var taskCategoryManager = new TaskCategoryManager(dataSource); // must be after CategoryManager
-        var categoryTimeManager = new CategoryTimeManager(dataSource); // must be after CategoryManager
+        new CategoryManager(dataSource);
+        new TaskCategoryManager(dataSource);
+        new CategoryTimeManager(dataSource);
 
         var categoryTimeDao = new CategoryTimeDao(dataSource);
         categoryDao = new CategoryDao(dataSource, categoryTimeDao);
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/category/CategoryManager.java b/src/main/java/cz/muni/fi/pv168/project/db/category/CategoryManager.java
index 17bbf9eb..165690cf 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/category/CategoryManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/category/CategoryManager.java
@@ -13,7 +13,7 @@ public class CategoryManager implements DataAccessManager {
     public CategoryManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeManager.java b/src/main/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeManager.java
index d4bfaf14..6f080204 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeManager.java
@@ -13,7 +13,7 @@ public class CategoryTimeManager implements DataAccessManager {
     public CategoryTimeManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/dependency/DependencyManager.java b/src/main/java/cz/muni/fi/pv168/project/db/dependency/DependencyManager.java
index 18e1e0ea..7b523c9e 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/dependency/DependencyManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/dependency/DependencyManager.java
@@ -13,7 +13,7 @@ public class DependencyManager implements DataAccessManager {
     public DependencyManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/interfaces/DataAccessManager.java b/src/main/java/cz/muni/fi/pv168/project/db/interfaces/DataAccessManager.java
index 584f01af..a5a11dec 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/interfaces/DataAccessManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/interfaces/DataAccessManager.java
@@ -10,10 +10,10 @@ public interface DataAccessManager extends ConnectionProvider {
 
     String getCreateTableStatement();
 
-    default boolean tableExists() {
+    default boolean tableDoesNotExist() {
         try (var connection = getConnection();
              var rs = connection.getMetaData().getTables(null, null, getTableName(), null)) {
-            return rs.next();
+            return !rs.next();
         } catch (SQLException ex) {
             throw new DataAccessException("Failed to detect if the table " + getTableName() + " exist", ex);
         }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/subtask/SubTaskManager.java b/src/main/java/cz/muni/fi/pv168/project/db/subtask/SubTaskManager.java
index 8207f08d..9ccafe3d 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/subtask/SubTaskManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/subtask/SubTaskManager.java
@@ -13,7 +13,7 @@ public class SubTaskManager implements DataAccessManager {
     public SubTaskManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/task/TaskManager.java b/src/main/java/cz/muni/fi/pv168/project/db/task/TaskManager.java
index 69b6fe41..4e9593fe 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/task/TaskManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/task/TaskManager.java
@@ -13,7 +13,7 @@ public class TaskManager implements DataAccessManager {
     public TaskManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryManager.java b/src/main/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryManager.java
index 8ec9e4ec..37c65fac 100644
--- a/src/main/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryManager.java
+++ b/src/main/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryManager.java
@@ -13,7 +13,7 @@ public class TaskCategoryManager implements DataAccessManager {
     public TaskCategoryManager(DataSource dataSource) {
         this.dataSource = dataSource;
 
-        if (!tableExists()) {
+        if (tableDoesNotExist()) {
             createTable();
         }
     }
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/dialog/AbstractEntityDialog.java b/src/main/java/cz/muni/fi/pv168/project/ui/dialog/AbstractEntityDialog.java
index 19c3d270..418bafb0 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/dialog/AbstractEntityDialog.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/dialog/AbstractEntityDialog.java
@@ -22,7 +22,6 @@ abstract class AbstractEntityDialog<E> extends JDialog {
 
     private final JPanel panel;
     private final JButton okButton;
-    private final JButton cancelButton;
 
     private boolean wasOk;
 
@@ -36,7 +35,7 @@ abstract class AbstractEntityDialog<E> extends JDialog {
             wasOk = true;
             this.dispose();
         });
-        cancelButton = new JButton("Cancel");
+        JButton cancelButton = new JButton("Cancel");
         cancelButton.addActionListener(e -> this.dispose());
 
         GridBagConstraints gbc = new GridBagConstraints();
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/MainWindow.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/MainWindow.java
index 435ff770..963d4853 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/MainWindow.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/MainWindow.java
@@ -16,23 +16,18 @@ import java.awt.Dimension;
 
 public class MainWindow {
 
-    private final JFrame mainFrame;
-    private final JPanel mainPanel;
-
     private final CardPanel toolbarPanel;
     private final TabContainer tabContainer;
 
     public MainWindow(DaoHolder daoHolder) {
-        mainFrame = new JFrame();
-        mainPanel = new JPanel(new BorderLayout());
-
         toolbarPanel = new CardPanel();
-
         tabContainer = initializeTabbedPane(daoHolder);
 
+        JPanel mainPanel = new JPanel(new BorderLayout());
         mainPanel.add(tabContainer.getTabbedPane(), BorderLayout.CENTER);
         mainPanel.add(toolbarPanel.getContainer(), BorderLayout.NORTH);
 
+        JFrame mainFrame = new JFrame();
         mainFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         mainFrame.setTitle("to:do");
         mainFrame.setSize(1280, 720);
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CardPanel.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CardPanel.java
index 60f7c589..b92b59d4 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CardPanel.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CardPanel.java
@@ -5,8 +5,8 @@ import javax.swing.JPanel;
 import java.awt.CardLayout;
 
 public class CardPanel {
-    private CardLayout cardLayout;
-    private JPanel outerPanel;
+    private final CardLayout cardLayout;
+    private final JPanel outerPanel;
 
     public CardPanel() {
         cardLayout = new CardLayout();
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CircleColorPanel.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CircleColorPanel.java
index e13a5a83..ab065a13 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CircleColorPanel.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/CircleColorPanel.java
@@ -16,10 +16,6 @@ public class CircleColorPanel extends JPanel {
         this.setOpaque(false);
     }
 
-    public void setColor(Color color) {
-        this.color = color;
-    }
-
     @Override
     protected void paintComponent(Graphics g) {
         super.paintComponent(g);
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/AbstractHolderPanel.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/AbstractHolderPanel.java
index fe2e4fad..d3ee7169 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/AbstractHolderPanel.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/AbstractHolderPanel.java
@@ -68,10 +68,6 @@ public abstract class AbstractHolderPanel<T> implements ListHolder<T>, Updatable
         jList.setCustomListModel(listModel);
     }
 
-    protected Optional<CounterPanel<T>> getCounterPanel() {
-        return counterPanel;
-    }
-
     @Override
     public void updateFrom(Task parent) {
         currentTask = parent;
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/SubTaskHolderPanel.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/SubTaskHolderPanel.java
index fc4cd456..d89b0a7d 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/SubTaskHolderPanel.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/panel/listholder/SubTaskHolderPanel.java
@@ -22,7 +22,7 @@ import java.util.Optional;
 
 public class SubTaskHolderPanel extends AbstractHolderPanel<SubTask> {
 
-    DbOneToNModel<SubTask> model;
+    private final DbOneToNModel<SubTask> model;
 
     public SubTaskHolderPanel(DbConnectedModel<Task> parentTaskModel, OneToNDao<SubTask> subTaskDao) {
         super(parentTaskModel,
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/toolbar/TasksToolBar.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/toolbar/TasksToolBar.java
index babea21e..6d12551a 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/toolbar/TasksToolBar.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/toolbar/TasksToolBar.java
@@ -12,7 +12,7 @@ import java.awt.event.ActionListener;
 
 public class TasksToolBar {
 
-    private JToolBar toolBar;
+    private final JToolBar toolBar;
 
     private final JCheckBox isJustToday;
     private final JComboBox<TaskStatus> taskTypes;
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/main/view/CategoryAndStatisticsView.java b/src/main/java/cz/muni/fi/pv168/project/ui/main/view/CategoryAndStatisticsView.java
index 8a8083b4..2b91fd44 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/main/view/CategoryAndStatisticsView.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/main/view/CategoryAndStatisticsView.java
@@ -24,7 +24,6 @@ public class CategoryAndStatisticsView implements Tab<Category> {
     private final DbConnectedModel<Category> categoryModel;
 
     private final CategoriesStatisticsToolBar toolBar;
-    private final TabActions tabActions;
 
     private final JSplitPane splitPane;
 
@@ -38,7 +37,7 @@ public class CategoryAndStatisticsView implements Tab<Category> {
         this.categoryView = new CategoryView(categoryModel);
         this.statisticsView = new StatisticsView(categoryModel);
 
-        tabActions = TabActions.builder()
+        TabActions tabActions = TabActions.builder()
                 .addLeftSideAction(new AddAction<>(this, Icons.ADD_CATEGORY_ICON, "Add a new category"))
                 .addLeftSideAction(new EditAction<>(this, Icons.EDIT_CATEGORY_ICON, "Edit a selected category"))
                 .addLeftSideAction(new DeleteAction<>(this, Icons.REMOVE_CATEGORY_BIN_ICON, "Delete a selected category")
@@ -61,9 +60,7 @@ public class CategoryAndStatisticsView implements Tab<Category> {
     }
 
     private void setupToolBar() {
-        toolBar.addDateActionListener(actionEvent -> {
-            statisticsView.updateTable(toolBar.getFromDate(), toolBar.getToDate());
-        });
+        toolBar.addDateActionListener(actionEvent -> statisticsView.updateTable(toolBar.getFromDate(), toolBar.getToDate()));
     }
 
     @Override
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/AbstractStatisticsRenderer.java b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/AbstractStatisticsRenderer.java
index 08b67302..77b9efde 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/AbstractStatisticsRenderer.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/AbstractStatisticsRenderer.java
@@ -25,8 +25,8 @@ public abstract class AbstractStatisticsRenderer<T> implements TableCellRenderer
         tableCellRenderer.setForeground(null);
         var component = (JComponent) tableCellRenderer.getTableCellRendererComponent(
                 table, value, isSelected, hasFocus, row, column);
-        return modifyComponent(component, elementType.cast(value));
+        return modifyComponent(elementType.cast(value));
     }
 
-    protected abstract JComponent modifyComponent(JComponent component, T value);
+    protected abstract JComponent modifyComponent(T value);
 }
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/CategoryStatisticsRenderer.java b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/CategoryStatisticsRenderer.java
index 28209997..acf638b7 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/CategoryStatisticsRenderer.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/CategoryStatisticsRenderer.java
@@ -13,7 +13,7 @@ public class CategoryStatisticsRenderer extends AbstractStatisticsRenderer<Categ
     }
 
     @Override
-    protected JComponent modifyComponent(JComponent component, Category value) {
+    protected JComponent modifyComponent(Category value) {
         final var panel = new JPanel();
         panel.add(new JLabel(value.getName()));
         panel.add(new CircleColorPanel(value.getColor()));
diff --git a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/TimeSpentStatisticsRenderer.java b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/TimeSpentStatisticsRenderer.java
index 27d34617..b15e3c98 100644
--- a/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/TimeSpentStatisticsRenderer.java
+++ b/src/main/java/cz/muni/fi/pv168/project/ui/renderer/statistics/TimeSpentStatisticsRenderer.java
@@ -10,7 +10,7 @@ public class TimeSpentStatisticsRenderer extends AbstractStatisticsRenderer<Stri
     }
 
     @Override
-    protected JComponent modifyComponent(JComponent component, String value) {
+    protected JComponent modifyComponent(String value) {
         final var panel = new JPanel();
         panel.add(new JLabel(value));
         return panel;
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/category/CategoryDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/category/CategoryDaoTest.java
index 0c483812..2af46e28 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/category/CategoryDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/category/CategoryDaoTest.java
@@ -19,7 +19,6 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import java.awt.Color;
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.List;
@@ -36,7 +35,7 @@ class CategoryDaoTest {
     private TaskCategoryManager taskCategoryManager;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         mockCategoryTimeDao = Mockito.mock(CategoryTimeDao.class);
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
@@ -44,7 +43,7 @@ class CategoryDaoTest {
     }
 
     @BeforeEach
-    void createCategoryDao() throws SQLException {
+    void createCategoryDao() {
         categoryManager = new CategoryManager(dataSource);
         categoryDao = new CategoryDao(dataSource, mockCategoryTimeDao);
         taskDao = new TaskDao(dataSource, Mockito.mock(SubTaskDao.class), Mockito.mock(DependencyDao.class),
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeDaoTest.java
index 5b40287e..9c09aecf 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/categorytime/CategoryTimeDaoTest.java
@@ -19,7 +19,6 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import java.awt.Color;
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -37,14 +36,14 @@ class CategoryTimeDaoTest {
     private Task.TaskBuilder taskBuilder;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
         dataSource.setCreateDatabase("create");
     }
 
     @BeforeEach
-    void createCategoryTimeDao() throws SQLException {
+    void createCategoryTimeDao() {
         categoryDao = new CategoryDao(dataSource, categoryTimeDao);
         categoryManager = new CategoryManager(dataSource);
 
@@ -83,7 +82,7 @@ class CategoryTimeDaoTest {
     @Test
     void test_deleteAllEntitiesFor_ExistingCategoryWithEntities_RemovedAllEntities() {
         var category = setupCategory();
-        var categoryTimes = setupCategoryTimes(category);
+        setupCategoryTimes(category);
         categoryTimeDao.deleteAllEntitiesFor(category.getId());
         Assertions.assertThat(categoryTimeDao.getAllEntitiesFor(category.getId())).isEmpty();
     }
@@ -93,7 +92,7 @@ class CategoryTimeDaoTest {
         var task = taskBuilder.build();
         taskDao.add(task);
         var category = setupCategory();
-        var categoryTimes = setupCategoryTimes(category);
+        setupCategoryTimes(category);
         categoryTimeDao.deleteAllEntitiesFor(category.getId());
         Assertions.assertThat(categoryTimeDao.getAllEntitiesForTask(task.getId())).isEmpty();
     }
@@ -138,7 +137,7 @@ class CategoryTimeDaoTest {
     }
 
     private List<CategoryTime> setupCategoryTimes(Category category) {
-        var categoryTimes = new LinkedList<CategoryTime>(Arrays.asList(
+        var categoryTimes = new LinkedList<>(Arrays.asList(
                 new CategoryTime(LocalDate.EPOCH, 10L, category.getId()),
                 new CategoryTime(LocalDate.EPOCH, 5L, category.getId()),
                 new CategoryTime(LocalDate.EPOCH, 999L, category.getId())));
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/dependency/DependencyDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/dependency/DependencyDaoTest.java
index d0751a1d..87f5d3b6 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/dependency/DependencyDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/dependency/DependencyDaoTest.java
@@ -15,7 +15,6 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -30,14 +29,14 @@ class DependencyDaoTest {
     private TaskManager taskManager;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
         dataSource.setCreateDatabase("create");
     }
 
     @BeforeEach
-    void createDependencyDao() throws SQLException {
+    void createDependencyDao() {
         taskDao = new TaskDao(dataSource, Mockito.mock(SubTaskDao.class), dependencyDao,
                 Mockito.mock(TaskCategoryDao.class), Mockito.mock(CategoryDao.class), Mockito.mock(CategoryTimeDao.class));
         taskManager = new TaskManager(dataSource);
@@ -90,13 +89,13 @@ class DependencyDaoTest {
     void test_deleteAllAssociationsFor_TaskWithMultipleDependencies_AllDependenciesDeleted() {
         var task = taskBuilder.build();
         taskDao.add(task);
-        var dependencyTasks = setupSubTasks(task.getId());
+        setupSubTasks(task.getId());
         dependencyDao.deleteAllAssociationsFor(task.getId());
         Assertions.assertThat(dependencyDao.getAllIdsFor(task.getId())).isEmpty();
     }
 
     private List<Task> setupSubTasks(long taskId) {
-        var dependencyTasks = new LinkedList<Task>(Arrays.asList(
+        var dependencyTasks = new LinkedList<>(Arrays.asList(
                 Task.builder("Testing task", 10L, LocalDate.EPOCH).build(),
                 Task.builder("Testing task", 10L, LocalDate.EPOCH).build(),
                 Task.builder("Testing task", 10L, LocalDate.EPOCH).build(),
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/subtask/SubTaskDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/subtask/SubTaskDaoTest.java
index 7300700e..72c0128b 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/subtask/SubTaskDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/subtask/SubTaskDaoTest.java
@@ -16,7 +16,6 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -31,14 +30,14 @@ class SubTaskDaoTest {
     private SubTaskManager subTaskManager;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
         dataSource.setCreateDatabase("create");
     }
 
     @BeforeEach
-    void setupDao() throws SQLException {
+    void setupDao() {
         taskDao = new TaskDao(dataSource, subTaskDao, Mockito.mock(DependencyDao.class),
                 Mockito.mock(TaskCategoryDao.class), Mockito.mock(CategoryDao.class), Mockito.mock(CategoryTimeDao.class));
         taskManager = new TaskManager(dataSource);
@@ -66,7 +65,7 @@ class SubTaskDaoTest {
     void test_deleteAllEntitiesFor_ExistingTaskWIthSubTasks_AllSubtasksDeleted() {
         var task = taskBuilder.build();
         taskDao.add(task);
-        var subTasks = setupSubtasks(task.getId());
+        setupSubtasks(task.getId());
         subTaskDao.deleteAllEntitiesFor(task.getId());
         Assertions.assertThat(subTaskDao.getAllEntitiesFor(task.getId())).isEmpty();
     }
@@ -75,7 +74,7 @@ class SubTaskDaoTest {
     void test_addEntityFor_ExistingTaskWithoutSubTasks_SubTasksAdded() {
         var task = taskBuilder.build();
         taskDao.add(task);
-        var subTasks = new LinkedList<SubTask>(Arrays.asList(
+        var subTasks = new LinkedList<>(Arrays.asList(
                 new SubTask("A", false),
                 new SubTask("B", true),
                 new SubTask("C", false)));
@@ -116,7 +115,7 @@ class SubTaskDaoTest {
     }
 
     private List<SubTask> setupSubtasks(long taskId) {
-        var subTasks = new LinkedList<SubTask>(Arrays.asList(
+        var subTasks = new LinkedList<>(Arrays.asList(
                 new SubTask("Testing subtask", false),
                 new SubTask("Testing subtask", false),
                 new SubTask("Testing subtask", false),
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/task/TaskDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/task/TaskDaoTest.java
index fc54b410..baaa6d20 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/task/TaskDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/task/TaskDaoTest.java
@@ -22,7 +22,6 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import java.awt.Color;
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -40,14 +39,14 @@ class TaskDaoTest {
     private DependencyDao dependencyDao;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
         dataSource.setCreateDatabase("create");
     }
 
     @BeforeEach
-    void setupDao() throws SQLException {
+    void setupDao() {
         categoryDao = new CategoryDao(dataSource, Mockito.mock(CategoryTimeDao.class));
         taskCategoryDao = new TaskCategoryDao(dataSource);
         taskDao = new TaskDao(dataSource, Mockito.mock(SubTaskDao.class), Mockito.mock(DependencyDao.class),
@@ -70,7 +69,7 @@ class TaskDaoTest {
 
     @Test
     void test_add_NewTaskWithoutCategoryAndDependencies_TaskAdded() {
-        var tasks = new LinkedList<Task>(Arrays.asList(
+        var tasks = new LinkedList<>(Arrays.asList(
                 Task.builder("A", 10L, LocalDate.EPOCH).build(),
                 Task.builder("B", 10L, LocalDate.EPOCH).build()
         ));
@@ -82,7 +81,7 @@ class TaskDaoTest {
 
     @Test
     void test_add_NewTasksWithCategoriesWithoutDependencies_TasksAdded() {
-        var tasks = new LinkedList<Task>(Arrays.asList(
+        var tasks = new LinkedList<>(Arrays.asList(
                 Task.builder("A", 10L, LocalDate.EPOCH).build(),
                 Task.builder("B", 10L, LocalDate.EPOCH).build()
         ));
@@ -95,7 +94,7 @@ class TaskDaoTest {
 
     @Test
     void test_add_NewTasksWithCategoriesAndDependencies_TasksAdded() {
-        var tasks = new LinkedList<Task>(Arrays.asList(
+        var tasks = new LinkedList<>(Arrays.asList(
                 Task.builder("A", 10L, LocalDate.EPOCH).build(),
                 Task.builder("B", 10L, LocalDate.EPOCH).build()
         ));
@@ -165,7 +164,7 @@ class TaskDaoTest {
     }
 
     private List<Task> setupTasks() {
-        var tasks = new LinkedList<Task>(Arrays.asList(
+        var tasks = new LinkedList<>(Arrays.asList(
                 Task.builder("A Task", 10L, LocalDate.EPOCH).build(),
                 Task.builder("B Task", 10L, LocalDate.EPOCH).build(),
                 Task.builder("C Task", 10L, LocalDate.EPOCH).build(),
@@ -178,7 +177,7 @@ class TaskDaoTest {
     }
 
     private void setupCategories(long taskId) {
-        var categories = new LinkedList<Category>(Arrays.asList(
+        var categories = new LinkedList<>(Arrays.asList(
                 new Category("A Category", Color.black),
                 new Category("B Category", Color.blue)
         ));
diff --git a/src/test/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryDaoTest.java b/src/test/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryDaoTest.java
index 72d375e9..ba7d9cd0 100644
--- a/src/test/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryDaoTest.java
+++ b/src/test/java/cz/muni/fi/pv168/project/db/taskcategory/TaskCategoryDaoTest.java
@@ -18,7 +18,6 @@ import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 import java.awt.Color;
-import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.LinkedList;
@@ -35,14 +34,14 @@ class TaskCategoryDaoTest {
     private CategoryDao categoryDao;
 
     @BeforeAll
-    static void initTestDataSource() throws SQLException {
+    static void initTestDataSource() {
         dataSource = new EmbeddedDataSource();
         dataSource.setDatabaseName("memory:todo-test");
         dataSource.setCreateDatabase("create");
     }
 
     @BeforeEach
-    void setupDao() throws SQLException {
+    void setupDao() {
         taskDao = new TaskDao(dataSource, Mockito.mock(SubTaskDao.class), Mockito.mock(DependencyDao.class),
                 taskCategoryDao, categoryDao, Mockito.mock(CategoryTimeDao.class));
         taskManager = new TaskManager(dataSource);
@@ -84,7 +83,7 @@ class TaskCategoryDaoTest {
     void test_addAssociationFor_ExistingTask_AssociationAdded() {
         var task = taskBuilder.build();
         taskDao.add(task);
-        var categories = new LinkedList<Category>(Arrays.asList(
+        var categories = new LinkedList<>(Arrays.asList(
                 new Category("First category", Color.BLACK),
                 new Category("Second category", Color.WHITE)
         ));
@@ -108,7 +107,7 @@ class TaskCategoryDaoTest {
     }
 
     private List<Category> setupCategories(long taskId) {
-        var categories = new LinkedList<Category>(Arrays.asList(
+        var categories = new LinkedList<>(Arrays.asList(
                 new Category("A", Color.BLACK),
                 new Category("B", Color.WHITE),
                 new Category("C", Color.PINK)
-- 
GitLab