Исправил баг

При добавлении продукта в оперативной памяти не сохранялся пользователь
этого продукта.
This commit is contained in:
Ivan Zinchenko 2024-06-08 19:45:20 +03:00
parent 9555d61966
commit ae519be5c6
Signed by: zinch
GPG Key ID: 6D45AA2C8FD6A37E

View File

@ -28,8 +28,8 @@ import java.util.concurrent.locks.Lock;
public class ProductCollection implements IStorage {
private static final Logger log = LoggerFactory.getLogger(ProductCollection.class);
private TreeSet<Product> productList;
private Map<Long, String> productsOwners;
private final TreeSet<Product> productList;
private final Map<Long, String> productsOwners;
private final Lock lock = new ReentrantLock();
private List<Product> fetchProducts(Connection connection) {
@ -84,6 +84,7 @@ public class ProductCollection implements IStorage {
try {
var product = DbWrapper.addProduct(productDTO, DbController.getConnection(), user);
productList.add(product);
productsOwners.put(product.getId(), user.getLogin());
return product;
} finally {
lock.unlock();
@ -107,6 +108,7 @@ public class ProductCollection implements IStorage {
var product = getProductById(id);
if (DbWrapper.removeProductById(id, DbController.getConnection(), user)) {
productList.remove(product);
productsOwners.remove(product.getId());
return product;
}
return null;