From 4c228dc743ba1b9b59cbff70256f7ed618492dba Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Mon, 3 Sep 2018 22:25:11 +0200 Subject: [PATCH] Refactoring: loadAll is more precise --- .../vaadinclubhelper/business/EventBusiness.java | 8 +++++--- .../clubhelper/vaadinclubhelper/dao/AbstractDaoImpl.java | 3 +-- .../vaadin/clubhelper/vaadinclubhelper/dao/IDao.java | 2 +- .../vaadinclubhelper/ui/components/PersonGrid.java | 9 +++++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/business/EventBusiness.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/business/EventBusiness.java index 4b045e8..34f8950 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/business/EventBusiness.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/business/EventBusiness.java @@ -40,7 +40,7 @@ public class EventBusiness { boolean forceRefresh) { if (forceRefresh == false) { - List list = dao.list(); + List list = dao.listAll(); log.trace("Returning events from database: {}"); return list; } @@ -105,12 +105,14 @@ public class EventBusiness { Set store = current.getPersons(); if (store != null) { - store.clear(); + log.debug("adding to existing person set."); store.addAll(selected); } else { + log.debug("setting persons to event without person set."); current.setPersons(selected); - dao.update(current); } + dao.update(current); + log.info("Updated {} with participants: {}", current, selected); } } } 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 3a9df70..7c7fbb9 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 @@ -38,8 +38,7 @@ public abstract class AbstractDaoImpl implements IDao { } @Override - public List list() { - + public List listAll() { TypedQuery query = em.createNamedQuery( entityClass.getSimpleName() + ".findAll", entityClass); return query.getResultList(); diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/IDao.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/IDao.java index beadcaa..5629777 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/IDao.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/IDao.java @@ -6,6 +6,6 @@ public interface IDao { void save(T obj); T update(T obj); - List list(); + List listAll(); T get(Object primaryKey); } diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/PersonGrid.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/PersonGrid.java index 77354fd..e57e0a5 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/PersonGrid.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/PersonGrid.java @@ -62,13 +62,13 @@ public class PersonGrid extends CustomComponent { comboGroups.setEmptySelectionCaption("Alle"); comboGroups.setItemCaptionGenerator(GroupDef::getName); comboGroups.addSelectionListener(ev -> onGroupSelected(ev)); - List items = groupDao.list(); - comboGroups.setItems(items); - log.info("Loaded Groups: {}", items); + allGroups = groupDao.listAll(); + comboGroups.setItems(allGroups); + log.info("Loaded Groups: {}", allGroups); HorizontalLayout filters = new HorizontalLayout(); filters.addComponents(checkIncluded, comboGroups); - dataProvider = new ListDataProvider<>(new ArrayList<>()); + dataProvider = new ListDataProvider(new ArrayList<>()).withConfigurableFilter(); grid = new Grid<>(); grid.setDataProvider(dataProvider); grid.addColumn(Person::getPrename).setCaption("Vorname"); @@ -76,6 +76,7 @@ public class PersonGrid extends CustomComponent { grid.addColumn(Person::getBirth, b -> b != null ? birthFormat.format(b) : "") .setCaption("Geburtstag"); + grid.addComponentColumn(this::buildDeleteButton); grid.setSelectionMode(SelectionMode.MULTI); Button close = new Button("Schließen", ev -> {