Dao sets change and create date

master
Markus Kreth 7 years ago
parent e10ac0cdca
commit 72b6acb50f
  1. 5
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java
  2. 10
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/ClubEvent.java
  3. 6
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/EntityAccessor.java

@ -1,5 +1,6 @@
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao;
import java.util.Date;
import java.util.List; import java.util.List;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
@ -29,9 +30,13 @@ public abstract class AbstractDaoImpl<T extends EntityAccessor> implements IDao<
@Transactional @Transactional
public void save(T obj) { public void save(T obj) {
Date now = new Date();
obj.setChanged(now);
if (entityManager.contains(obj) || obj.hasValidId()) { if (entityManager.contains(obj) || obj.hasValidId()) {
entityManager.merge(obj); entityManager.merge(obj);
} else { } else {
obj.setCreated(now);
entityManager.persist(obj); entityManager.persist(obj);
} }
} }

@ -234,4 +234,14 @@ public class ClubEvent extends BasicItem implements EntityAccessor {
return id != null && !id.isBlank(); return id != null && !id.isBlank();
} }
@Override
public void setChanged(Date changed) {
// no ChangeDate stored
}
@Override
public void setCreated(Date created) {
// noCreateDateStored
}
} }

@ -1,7 +1,13 @@
package de.kreth.vaadin.clubhelper.vaadinclubhelper.data; package de.kreth.vaadin.clubhelper.vaadinclubhelper.data;
import java.util.Date;
public interface EntityAccessor { public interface EntityAccessor {
boolean hasValidId(); boolean hasValidId();
void setChanged(Date changed);
void setCreated(Date created);
} }

Loading…
Cancel
Save