From 72b6acb50f486b2ea84142245656c53cbf58e7fa Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Sat, 26 Jan 2019 12:04:14 +0100 Subject: [PATCH] Dao sets change and create date --- .../vaadinclubhelper/dao/AbstractDaoImpl.java | 5 +++++ .../clubhelper/vaadinclubhelper/data/ClubEvent.java | 10 ++++++++++ .../vaadinclubhelper/data/EntityAccessor.java | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java index a07d9b5..1afed99 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java @@ -1,5 +1,6 @@ package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; +import java.util.Date; import java.util.List; import javax.persistence.EntityManager; @@ -29,9 +30,13 @@ public abstract class AbstractDaoImpl implements IDao< @Transactional public void save(T obj) { + Date now = new Date(); + obj.setChanged(now); if (entityManager.contains(obj) || obj.hasValidId()) { + entityManager.merge(obj); } else { + obj.setCreated(now); entityManager.persist(obj); } } diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/ClubEvent.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/ClubEvent.java index afd56a9..836dacb 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/ClubEvent.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/ClubEvent.java @@ -234,4 +234,14 @@ public class ClubEvent extends BasicItem implements EntityAccessor { return id != null && !id.isBlank(); } + @Override + public void setChanged(Date changed) { + // no ChangeDate stored + } + + @Override + public void setCreated(Date created) { + // noCreateDateStored + } + } diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/EntityAccessor.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/EntityAccessor.java index 288b8ce..3a5b36c 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/EntityAccessor.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/EntityAccessor.java @@ -1,7 +1,13 @@ package de.kreth.vaadin.clubhelper.vaadinclubhelper.data; +import java.util.Date; + public interface EntityAccessor { boolean hasValidId(); + void setChanged(Date changed); + + void setCreated(Date created); + }