Added some logic to Task, found bug...
This commit is contained in:
@@ -1,10 +1,14 @@
|
|||||||
package dto;
|
package dto;
|
||||||
|
|
||||||
|
import models.Task;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
public record TaskCreateDto (
|
public record TaskCreateDto (
|
||||||
String title,
|
String title,
|
||||||
String description,
|
String description,
|
||||||
|
Task.Status status,
|
||||||
Date deadline
|
Date deadline
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|||||||
14
src/main/java/dto/TaskUpdateDto.java
Normal file
14
src/main/java/dto/TaskUpdateDto.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package dto;
|
||||||
|
|
||||||
|
import models.Task;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public record TaskUpdateDto(
|
||||||
|
Integer id,
|
||||||
|
String title,
|
||||||
|
String description,
|
||||||
|
Task.Status status,
|
||||||
|
Date deadline
|
||||||
|
) {
|
||||||
|
}
|
||||||
@@ -5,20 +5,51 @@ import java.util.Objects;
|
|||||||
|
|
||||||
public class Task {
|
public class Task {
|
||||||
|
|
||||||
|
public enum Status {
|
||||||
|
NEW, IN_PROGRESS, CANCELED, DONE
|
||||||
|
}
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
private User user;
|
private User user;
|
||||||
private String title;
|
private String title;
|
||||||
private String description;
|
private String description;
|
||||||
|
private Status status;
|
||||||
|
private Date deadline;
|
||||||
private Date createdAt;
|
private Date createdAt;
|
||||||
|
|
||||||
public Task(Integer id, String title, String description, Date createdAt, User user) {
|
public Task(
|
||||||
|
Integer id,
|
||||||
|
String title,
|
||||||
|
String description,
|
||||||
|
Status status,
|
||||||
|
Date deadline,
|
||||||
|
User user) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
|
this.status = status;
|
||||||
|
this.deadline = deadline;
|
||||||
this.createdAt = new Date();
|
this.createdAt = new Date();
|
||||||
this.user = user;
|
this.user = user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task(
|
||||||
|
Integer id,
|
||||||
|
String title,
|
||||||
|
String description,
|
||||||
|
Status status,
|
||||||
|
Date deadline,
|
||||||
|
Date createdAt,
|
||||||
|
User user) {
|
||||||
|
this.id = id;
|
||||||
|
this.title = title;
|
||||||
|
this.description = description;
|
||||||
|
this.status = status;
|
||||||
|
this.deadline = deadline;
|
||||||
|
this.createdAt = createdAt;
|
||||||
|
this.user = user;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getId() {
|
public Integer getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@@ -51,6 +82,22 @@ public class Task {
|
|||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Status getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(Status status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDeadline() {
|
||||||
|
return deadline;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeadline(Date deadline) {
|
||||||
|
this.deadline = deadline;
|
||||||
|
}
|
||||||
|
|
||||||
public Date getCreatedAt() {
|
public Date getCreatedAt() {
|
||||||
return createdAt;
|
return createdAt;
|
||||||
}
|
}
|
||||||
@@ -59,25 +106,28 @@ public class Task {
|
|||||||
this.createdAt = createdAt;
|
this.createdAt = createdAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "Task{" +
|
|
||||||
"title='" + title + '\'' +
|
|
||||||
", user='" + user + '\'' +
|
|
||||||
", description='" + description + '\'' +
|
|
||||||
", createdAt=" + createdAt +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (o == null || getClass() != o.getClass()) return false;
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
Task task = (Task) o;
|
Task task = (Task) o;
|
||||||
return Objects.equals(user, task.user) && Objects.equals(title, task.title) && Objects.equals(description, task.description) && Objects.equals(createdAt, task.createdAt);
|
return Objects.equals(id, task.id) && Objects.equals(user, task.user) && Objects.equals(title, task.title) && Objects.equals(description, task.description) && Objects.equals(status, task.status) && Objects.equals(deadline, task.deadline) && Objects.equals(createdAt, task.createdAt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(user, title, description, createdAt);
|
return Objects.hash(id, user, title, description, status, deadline, createdAt);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Task{" +
|
||||||
|
"id=" + id +
|
||||||
|
", user=" + user +
|
||||||
|
", title='" + title + '\'' +
|
||||||
|
", description='" + description + '\'' +
|
||||||
|
", status='" + status + '\'' +
|
||||||
|
", deadline=" + deadline +
|
||||||
|
", createdAt=" + createdAt +
|
||||||
|
'}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package repository;
|
package repository;
|
||||||
|
|
||||||
import dto.TaskCreateDto;
|
import dto.TaskCreateDto;
|
||||||
|
import dto.TaskUpdateDto;
|
||||||
import models.Task;
|
import models.Task;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -14,6 +15,6 @@ public interface TaskRepository {
|
|||||||
ArrayList<Task> getUserTasks(String title);
|
ArrayList<Task> getUserTasks(String title);
|
||||||
Optional<Task> getUserTask(int taskId);
|
Optional<Task> getUserTask(int taskId);
|
||||||
Optional<Task> save(TaskCreateDto taskCreateDto);
|
Optional<Task> save(TaskCreateDto taskCreateDto);
|
||||||
Optional<Task> update(int taskId, String title, String description);
|
Optional<Task> update(TaskUpdateDto taskUpdateDto);
|
||||||
boolean delete(int taskId);
|
boolean delete(int taskId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
package repository;
|
package repository;
|
||||||
|
|
||||||
import dto.TaskCreateDto;
|
import dto.TaskCreateDto;
|
||||||
|
import dto.TaskUpdateDto;
|
||||||
import models.Task;
|
import models.Task;
|
||||||
import models.User;
|
import models.User;
|
||||||
import util.Session;
|
import util.Session;
|
||||||
|
|
||||||
import javax.imageio.plugins.jpeg.JPEGImageReadParam;
|
import java.sql.*;
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.PreparedStatement;
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -37,11 +34,14 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
ArrayList<Task> tasks = new ArrayList<>();
|
ArrayList<Task> tasks = new ArrayList<>();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
|
Task.Status status = Task.Status.valueOf(resultSet.getString("status"));
|
||||||
|
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
resultSet.getString("title"),
|
resultSet.getString("title"),
|
||||||
resultSet.getString("description"),
|
resultSet.getString("description"),
|
||||||
|
status,
|
||||||
|
resultSet.getTimestamp("deadline"),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
@@ -74,11 +74,14 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
ArrayList<Task> tasks = new ArrayList<>();
|
ArrayList<Task> tasks = new ArrayList<>();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
|
Task.Status status = Task.Status.valueOf(resultSet.getString("status"));
|
||||||
|
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
resultSet.getString("title"),
|
resultSet.getString("title"),
|
||||||
resultSet.getString("description"),
|
resultSet.getString("description"),
|
||||||
|
status,
|
||||||
|
resultSet.getTimestamp("deadline"),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
@@ -110,11 +113,14 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
ArrayList<Task> tasks = new ArrayList<>();
|
ArrayList<Task> tasks = new ArrayList<>();
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
|
Task.Status status = Task.Status.valueOf(resultSet.getString("status"));
|
||||||
|
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
resultSet.getString("title"),
|
resultSet.getString("title"),
|
||||||
resultSet.getString("description"),
|
resultSet.getString("description"),
|
||||||
|
status,
|
||||||
|
resultSet.getTimestamp("deadline"),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
@@ -144,10 +150,14 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
ResultSet resultSet = preparedStatement.executeQuery();
|
ResultSet resultSet = preparedStatement.executeQuery();
|
||||||
|
|
||||||
if (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
|
Task.Status status = Task.Status.valueOf(resultSet.getString("status"));
|
||||||
|
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
resultSet.getString("title"),
|
resultSet.getString("title"),
|
||||||
resultSet.getString("description"),
|
resultSet.getString("description"),
|
||||||
|
status,
|
||||||
|
resultSet.getTimestamp("deadline"),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
@@ -166,22 +176,36 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
public Optional<Task> save(TaskCreateDto taskCreateDto) {
|
public Optional<Task> save(TaskCreateDto taskCreateDto) {
|
||||||
try {
|
try {
|
||||||
User user = Session.getInstance().getUser();
|
User user = Session.getInstance().getUser();
|
||||||
if (user == null) Optional.empty();
|
if (user == null) return Optional.empty();
|
||||||
|
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement(
|
PreparedStatement preparedStatement = connection.prepareStatement(
|
||||||
"INSERT INTO tasks (title, description, deadline) VALUES (?, ?, ?) RETURNING id, created_at"
|
"INSERT INTO tasks (title, description, status, deadline) VALUES (?, ?, ?, ?) RETURNING id, created_at"
|
||||||
);
|
);
|
||||||
|
|
||||||
preparedStatement.setString(1, taskCreateDto.title());
|
preparedStatement.setString(1, taskCreateDto.title());
|
||||||
preparedStatement.setString(2, taskCreateDto.description());
|
preparedStatement.setString(2, taskCreateDto.description());
|
||||||
preparedStatement.setDate(3, (java.sql.Date) taskCreateDto.deadline());
|
preparedStatement.setObject(3, taskCreateDto.status().name(), Types.OTHER);
|
||||||
|
|
||||||
|
Date deadline = taskCreateDto.deadline();
|
||||||
|
if (deadline != null) {
|
||||||
|
preparedStatement.setDate(4, new java.sql.Date(deadline.getTime()));
|
||||||
|
} else {
|
||||||
|
preparedStatement.setNull(4, java.sql.Types.DATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(preparedStatement);
|
||||||
ResultSet resultSet = preparedStatement.executeQuery();
|
ResultSet resultSet = preparedStatement.executeQuery();
|
||||||
|
System.out.println(resultSet);
|
||||||
|
|
||||||
if (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
|
System.out.println(resultSet.getString("id"));
|
||||||
|
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
taskCreateDto.title(),
|
taskCreateDto.title(),
|
||||||
taskCreateDto.description(),
|
taskCreateDto.description(),
|
||||||
|
taskCreateDto.status(),
|
||||||
|
taskCreateDto.deadline(),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
@@ -197,27 +221,36 @@ public class TaskRepositoryJdbc implements TaskRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<Task> update(int taskId, String title, String description) {
|
public Optional<Task> update(TaskUpdateDto taskUpdateDto) {
|
||||||
try {
|
try {
|
||||||
User user = Session.getInstance().getUser();
|
User user = Session.getInstance().getUser();
|
||||||
if (user == null) Optional.empty();
|
if (user == null) return Optional.empty();
|
||||||
|
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement(
|
PreparedStatement preparedStatement = connection.prepareStatement(
|
||||||
"UPDATE tasks SET title=?, description=? WHERE id=? AND user_id=(?) RETURNING id, created_at;"
|
"UPDATE tasks SET title=?, description=?, status=?, deadline=? WHERE id=? AND user_id=(?) RETURNING id, created_at;"
|
||||||
);
|
);
|
||||||
|
|
||||||
preparedStatement.setString(1, title);
|
preparedStatement.setString(1, taskUpdateDto.title());
|
||||||
preparedStatement.setString(2, description );
|
preparedStatement.setString(2, taskUpdateDto.description());
|
||||||
preparedStatement.setInt(3, taskId);
|
preparedStatement.setObject(3, taskUpdateDto.status().name(), Types.OTHER);
|
||||||
preparedStatement.setInt(4, user.id());
|
Date deadline = taskUpdateDto.deadline();
|
||||||
|
if (deadline != null) {
|
||||||
|
preparedStatement.setDate(4, new java.sql.Date(deadline.getTime()));
|
||||||
|
} else {
|
||||||
|
preparedStatement.setNull(4, java.sql.Types.DATE);
|
||||||
|
}
|
||||||
|
preparedStatement.setInt(5, taskUpdateDto.id());
|
||||||
|
preparedStatement.setInt(6, user.id());
|
||||||
|
|
||||||
ResultSet resultSet = preparedStatement.executeQuery();
|
ResultSet resultSet = preparedStatement.executeQuery();
|
||||||
|
|
||||||
if (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
Task task = new Task(
|
Task task = new Task(
|
||||||
resultSet.getInt("id"),
|
resultSet.getInt("id"),
|
||||||
title,
|
taskUpdateDto.title(),
|
||||||
description,
|
taskUpdateDto.description(),
|
||||||
|
taskUpdateDto.status(),
|
||||||
|
taskUpdateDto.deadline(),
|
||||||
resultSet.getTimestamp("created_at"),
|
resultSet.getTimestamp("created_at"),
|
||||||
user
|
user
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,11 +1,21 @@
|
|||||||
package ui;
|
package ui;
|
||||||
|
|
||||||
|
import dto.TaskCreateDto;
|
||||||
|
import models.Task;
|
||||||
|
import models.User;
|
||||||
|
import repository.TaskRepository;
|
||||||
|
import repository.UserRepository;
|
||||||
|
import service.TaskService;
|
||||||
|
import service.UserService;
|
||||||
|
import util.Session;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.text.spi.DateFormatProvider;
|
import java.text.spi.DateFormatProvider;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class CreateTodoPanel extends BasePanel {
|
public class CreateTodoPanel extends BasePanel {
|
||||||
@@ -13,30 +23,37 @@ public class CreateTodoPanel extends BasePanel {
|
|||||||
public CreateTodoPanel(Consumer<String> changePanel) {
|
public CreateTodoPanel(Consumer<String> changePanel) {
|
||||||
super(changePanel);
|
super(changePanel);
|
||||||
|
|
||||||
JPanel formPanel = new JPanel(new GridLayout(4, 2, 5, 5));
|
JPanel formPanel = new JPanel(new GridLayout(5, 2, 5, 5));
|
||||||
JLabel todoLabel = new JLabel("title:");
|
JLabel todoLabel = new JLabel("title:");
|
||||||
JTextField todoTitle = new JTextField();
|
JTextField todoTitle = new JTextField();
|
||||||
|
|
||||||
JLabel descLabel = new JLabel("Description:");
|
JLabel descLabel = new JLabel("Description:");
|
||||||
JTextField todoDescription = new JTextField();
|
JTextField todoDescription = new JTextField();
|
||||||
|
|
||||||
|
String statuses[] = { "NEW", "IN_PROGRESS", "CANCELED", "DONE" };
|
||||||
|
JLabel statusLabel = new JLabel("Status:");
|
||||||
|
JComboBox<String> statusCombo = new JComboBox<>(statuses);
|
||||||
|
statusCombo.setSelectedItem("NEW");
|
||||||
|
|
||||||
JLabel dateLabel = new JLabel("Date:");
|
JLabel dateLabel = new JLabel("Date:");
|
||||||
DateFormat format = new SimpleDateFormat("dd.MM.yyyy");
|
DateFormat format = new SimpleDateFormat("dd.MM.yyyy");
|
||||||
JFormattedTextField todoDate = new JFormattedTextField(format);
|
JFormattedTextField todoDate = new JFormattedTextField(format);
|
||||||
|
|
||||||
|
|
||||||
formPanel.add(todoLabel);
|
formPanel.add(todoLabel);
|
||||||
formPanel.add(todoTitle);
|
formPanel.add(todoTitle);
|
||||||
formPanel.add(descLabel);
|
formPanel.add(descLabel);
|
||||||
formPanel.add(todoDescription);
|
formPanel.add(todoDescription);
|
||||||
formPanel.add(dateLabel);
|
formPanel.add(dateLabel);
|
||||||
formPanel.add(todoDate);
|
formPanel.add(todoDate);
|
||||||
|
formPanel.add(statusLabel);
|
||||||
|
formPanel.add(statusCombo);
|
||||||
|
|
||||||
JButton createButton = new JButton("Create");
|
JButton createButton = new JButton("Create");
|
||||||
createButton.addActionListener(e -> {
|
createButton.addActionListener(e -> {
|
||||||
try {
|
try {
|
||||||
String titleText = todoTitle.getText();
|
String titleText = todoTitle.getText();
|
||||||
String descText = todoDescription.getText();
|
String descText = todoDescription.getText();
|
||||||
|
String selectedStatus = (String) statusCombo.getSelectedItem();
|
||||||
String dateText = todoDate.getText();
|
String dateText = todoDate.getText();
|
||||||
|
|
||||||
Date parsedDate;
|
Date parsedDate;
|
||||||
@@ -47,9 +64,30 @@ public class CreateTodoPanel extends BasePanel {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TaskRepository taskRepository = Session.getTaskRepository();
|
||||||
|
TaskService service = new TaskService(taskRepository);
|
||||||
|
|
||||||
|
Task.Status status = Task.Status.valueOf(selectedStatus);
|
||||||
|
|
||||||
|
TaskCreateDto taskCreateDto = new TaskCreateDto(
|
||||||
|
titleText,
|
||||||
|
descText,
|
||||||
|
status,
|
||||||
|
parsedDate
|
||||||
|
);
|
||||||
|
Optional<Task> task = service.createTask(taskCreateDto);
|
||||||
|
|
||||||
|
if (task.isPresent()) {
|
||||||
|
|
||||||
|
todoTitle.setText("");
|
||||||
|
todoDescription.setText("");
|
||||||
|
statusCombo.setSelectedItem("NEW");
|
||||||
|
todoDate.setValue("");
|
||||||
|
|
||||||
|
JOptionPane.showMessageDialog(this, "Task created");
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(this, "Failed to create task");
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package util;
|
package util;
|
||||||
|
|
||||||
import models.User;
|
import models.User;
|
||||||
|
import repository.TaskRepository;
|
||||||
|
import repository.TaskRepositoryJdbc;
|
||||||
import repository.UserRepository;
|
import repository.UserRepository;
|
||||||
import repository.UserRepositoryJdbc;
|
import repository.UserRepositoryJdbc;
|
||||||
|
|
||||||
@@ -13,6 +15,7 @@ public class Session {
|
|||||||
private static Session instance;
|
private static Session instance;
|
||||||
private static Connection connection;
|
private static Connection connection;
|
||||||
private static UserRepository userRepository;
|
private static UserRepository userRepository;
|
||||||
|
private static TaskRepository taskRepository;
|
||||||
|
|
||||||
private User user;
|
private User user;
|
||||||
|
|
||||||
@@ -37,6 +40,13 @@ public class Session {
|
|||||||
return userRepository;
|
return userRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static TaskRepository getTaskRepository() throws SQLException {
|
||||||
|
if (taskRepository == null) {
|
||||||
|
taskRepository = new TaskRepositoryJdbc(getConn());
|
||||||
|
}
|
||||||
|
return taskRepository;
|
||||||
|
}
|
||||||
|
|
||||||
public User getUser() {
|
public User getUser() {
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user