Daos implement serializable, sql change timestamp

master
Markus Kreth 7 years ago
parent 453d851488
commit 922c1fd143
  1. 6
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java
  2. 2
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/AltersgruppeDaoImpl.java
  3. 2
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/ClubEventDaoImpl.java
  4. 6
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/GroupDaoImpl.java
  5. 3
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/IDao.java
  6. 2
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/PersonDaoImpl.java
  7. 2
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/PflichtenDaoImpl.java
  8. 7
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/EventDetails.java
  9. 28
      src/main/resources/schema/version1.sql

@ -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;
@ -14,6 +15,8 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.EntityAccessor;
public abstract class AbstractDaoImpl<T extends EntityAccessor> implements IDao<T> { public abstract class AbstractDaoImpl<T extends EntityAccessor> implements IDao<T> {
private static final long serialVersionUID = 7886744143287550291L;
protected final Logger log = LoggerFactory.getLogger(getClass()); protected final Logger log = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
@ -28,9 +31,12 @@ public abstract class AbstractDaoImpl<T extends EntityAccessor> implements IDao<
@Override @Override
@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);
} }
} }

@ -7,6 +7,8 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Altersgruppe;
@Repository @Repository
public class AltersgruppeDaoImpl extends AbstractDaoImpl<Altersgruppe> implements AltersgruppeDao { public class AltersgruppeDaoImpl extends AbstractDaoImpl<Altersgruppe> implements AltersgruppeDao {
private static final long serialVersionUID = 746136196155133506L;
public AltersgruppeDaoImpl() { public AltersgruppeDaoImpl() {
super(Altersgruppe.class); super(Altersgruppe.class);
} }

@ -19,6 +19,8 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person;
@Transactional @Transactional
public class ClubEventDaoImpl extends AbstractDaoImpl<ClubEvent> implements ClubEventDao { public class ClubEventDaoImpl extends AbstractDaoImpl<ClubEvent> implements ClubEventDao {
private static final long serialVersionUID = 7648111697282525347L;
public ClubEventDaoImpl() { public ClubEventDaoImpl() {
super(ClubEvent.class); super(ClubEvent.class);
} }

@ -5,9 +5,9 @@ import org.springframework.stereotype.Repository;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef; import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef;
@Repository @Repository
public class GroupDaoImpl extends AbstractDaoImpl<GroupDef> public class GroupDaoImpl extends AbstractDaoImpl<GroupDef> implements GroupDao {
implements
GroupDao { private static final long serialVersionUID = -6675545206382142963L;
public GroupDaoImpl() { public GroupDaoImpl() {
super(GroupDef.class); super(GroupDef.class);

@ -1,8 +1,9 @@
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao;
import java.io.Serializable;
import java.util.List; import java.util.List;
public interface IDao<T> { public interface IDao<T> extends Serializable {
void save(T obj); void save(T obj);

@ -18,6 +18,8 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpass;
@Repository @Repository
public class PersonDaoImpl extends AbstractDaoImpl<Person> implements PersonDao { public class PersonDaoImpl extends AbstractDaoImpl<Person> implements PersonDao {
private static final long serialVersionUID = -5809935282146356282L;
public PersonDaoImpl() { public PersonDaoImpl() {
super(Person.class); super(Person.class);
} }

@ -9,6 +9,8 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Pflicht;
@Transactional @Transactional
public class PflichtenDaoImpl extends AbstractDaoImpl<Pflicht> implements PflichtenDao { public class PflichtenDaoImpl extends AbstractDaoImpl<Pflicht> implements PflichtenDao {
private static final long serialVersionUID = 5660723465403552334L;
public PflichtenDaoImpl() { public PflichtenDaoImpl() {
super(Pflicht.class); super(Pflicht.class);
} }

@ -17,7 +17,6 @@ import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.GroupDao;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PersonDao; import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PersonDao;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PflichtenDao; import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PflichtenDao;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.security.SecurityVerifier;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.EventAltersgruppen; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.EventAltersgruppen;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.PersonGrid; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.PersonGrid;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.SingleEventView; import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.SingleEventView;
@ -31,21 +30,19 @@ public class EventDetails extends GridLayout implements NamedView {
private final PersonDao personDao; private final PersonDao personDao;
private final GroupDao groupDao; private final GroupDao groupDao;
private final PflichtenDao pflichtenDao; private final PflichtenDao pflichtenDao;
private final SecurityVerifier securityGroupVerifier;
private ClubEvent currentEvent; private ClubEvent currentEvent;
private SingleEventView eventView; private SingleEventView eventView;
private PersonGrid personGrid; private PersonGrid personGrid;
private EventAltersgruppen eventAltersgruppen; private EventAltersgruppen eventAltersgruppen;
public EventDetails(PersonDao personDao, GroupDao groupDao, EventBusiness eventBusiness, PflichtenDao pflichtenDao, public EventDetails(PersonDao personDao, GroupDao groupDao, EventBusiness eventBusiness,
SecurityVerifier securityGroupVerifier) { PflichtenDao pflichtenDao) {
super(3, 5); super(3, 5);
this.eventBusiness = eventBusiness; this.eventBusiness = eventBusiness;
this.personDao = personDao; this.personDao = personDao;
this.groupDao = groupDao; this.groupDao = groupDao;
this.pflichtenDao = pflichtenDao; this.pflichtenDao = pflichtenDao;
this.securityGroupVerifier = securityGroupVerifier;
} }
@Override @Override

@ -4,7 +4,7 @@ CREATE TABLE `pflichten` (
`fixed` TINYINT NULL, `fixed` TINYINT NULL,
`ordered` INT NOT NULL, `ordered` INT NOT NULL,
`comment` VARCHAR(500) NULL, `comment` VARCHAR(500) NULL,
`changed` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `changed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`deleted` DATETIME NULL DEFAULT NULL, `deleted` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
@ -17,7 +17,7 @@ CREATE TABLE `altersgruppe` (
`bezeichnung` VARCHAR(100) NOT NULL, `bezeichnung` VARCHAR(100) NOT NULL,
`start` INT NULL, `start` INT NULL,
`end` VARCHAR(45) NULL, `end` VARCHAR(45) NULL,
`changed` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `changed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`deleted` DATETIME NULL DEFAULT NULL, `deleted` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
@ -64,51 +64,51 @@ CREATE TABLE `clubhelper`.`clubevent_addon` (
ON UPDATE NO ACTION); ON UPDATE NO ACTION);
ALTER TABLE `adress` ALTER TABLE `adress`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `altersgruppe` ALTER TABLE `altersgruppe`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `attendance` ALTER TABLE `attendance`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `contact` ALTER TABLE `contact`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `deleted_entries` ALTER TABLE `deleted_entries`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `groupdef` ALTER TABLE `groupdef`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `person` ALTER TABLE `person`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `persongroup` ALTER TABLE `persongroup`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `pflichten` ALTER TABLE `pflichten`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `relative` ALTER TABLE `relative`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `startpaesse` ALTER TABLE `startpaesse`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
ALTER TABLE `startpass_startrechte` ALTER TABLE `startpass_startrechte`
CHANGE COLUMN `changed` `changed` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP , CHANGE COLUMN `changed` `changed` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ; CHANGE COLUMN `created` `created` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ;
UPDATE `clubhelper`.`version` SET `version` = '12' WHERE (`id` = '1'); UPDATE `clubhelper`.`version` SET `version` = '12' WHERE (`id` = '1');
Loading…
Cancel
Save