tried to fix birthday gap error - not found.

master
Markus Kreth 6 years ago
parent 2994ec6481
commit f7ae7fbe07
  1. 8
      pom.xml
  2. 5
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/PersonDaoImpl.java
  3. 2
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Person.java
  4. 3
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/menu/ClubhelperMenuBar.java
  5. 4
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/components/menu/LoggedinMenuitemState.java
  6. 6
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/ClubhelperNavigation.java
  7. 19
      src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/SysteminfoView.java
  8. 1
      src/main/resources/application.properties
  9. 8
      src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/dao/PersonDaoTest.java

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>de.kreth.vaadin.clubhelper</groupId> <groupId>de.kreth.vaadin.clubhelper</groupId>
@ -96,6 +98,10 @@
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId> <artifactId>hibernate-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
</dependency>
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>

@ -24,6 +24,11 @@ public class PersonDaoImpl extends AbstractDaoImpl<Person> implements PersonDao
super(Person.class); super(Person.class);
} }
@Override
public void save(Person obj) {
super.save(obj);
}
@Override @Override
public Person findLoginUser(String username, String password) { public Person findLoginUser(String username, String password) {
TypedQuery<Person> query = entityManager.createNamedQuery(Person.QUERY_FINDLOGIN, Person.class); TypedQuery<Person> query = entityManager.createNamedQuery(Person.QUERY_FINDLOGIN, Person.class);

@ -9,6 +9,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import javax.persistence.Basic;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.FetchType; import javax.persistence.FetchType;
@ -42,6 +43,7 @@ public class Person extends BaseEntity implements Serializable {
private static final long serialVersionUID = -8361264400619997123L; private static final long serialVersionUID = -8361264400619997123L;
@Basic
private LocalDate birth; private LocalDate birth;
private String prename; private String prename;

@ -21,8 +21,11 @@ public class ClubhelperMenuBar extends MenuBar {
editMenuItem = addItem("Bearbeiten"); editMenuItem = addItem("Bearbeiten");
viewMenuItem = addItem("Ansicht"); viewMenuItem = addItem("Ansicht");
settingsItem = addItem("Einstellungen"); settingsItem = addItem("Einstellungen");
if (initialState != null) {
applyState(initialState); applyState(initialState);
} }
}
public void applyState(MenuItemState state) { public void applyState(MenuItemState state) {
for (MenuItem item : getAllMainMenus()) { for (MenuItem item : getAllMainMenus()) {

@ -188,6 +188,10 @@ class LoggedinMenuitemState extends LoggedOffState {
eventDetailItem.setChecked(true); eventDetailItem.setChecked(true);
eventDetailItem.setEnabled(false); eventDetailItem.setEnabled(false);
} }
else if (ClubhelperViews.Systeminfo.equals(view)) {
systeminfoItem.setChecked(true);
systeminfoItem.setEnabled(false);
}
} }
private void show(String preformattedText) { private void show(String preformattedText) {

@ -74,10 +74,10 @@ public class ClubhelperNavigation implements ApplicationContextAware {
ViewFactory factory = new ViewFactory(page); ViewFactory factory = new ViewFactory(page);
mainView = factory.createMain(); mainView = factory.createMain();
personEdit = factory.createPersonEdit(); personEdit = factory.createPersonEdit();
systemInfo = factory.createSystemInfo();
MenuItemStateFactory menuItemFactory = context.getBean(MenuItemStateFactory.class); MenuItemStateFactory menuItemFactory = context.getBean(MenuItemStateFactory.class);
setupMenuItemStateFactory(menuItemFactory); setupMenuItemStateFactory(menuItemFactory);
systemInfo = factory.createSystemInfo(menuItemFactory);
navi = new ClubNavigator().init(mainUI); navi = new ClubNavigator().init(mainUI);
ClubhelperMenuBar menuBar = new ClubhelperMenuBar(menuItemFactory.currentState()); ClubhelperMenuBar menuBar = new ClubhelperMenuBar(menuItemFactory.currentState());
@ -125,8 +125,8 @@ public class ClubhelperNavigation implements ApplicationContextAware {
this.page = page; this.page = page;
} }
public SysteminfoView createSystemInfo() { public SysteminfoView createSystemInfo(MenuItemStateFactory menuItemFactory) {
return new SysteminfoView(isMobileSize()); return new SysteminfoView(isMobileSize(), menuItemFactory);
} }
public MainView createMain() { public MainView createMain() {

@ -19,13 +19,23 @@ import com.vaadin.ui.Grid.SelectionMode;
import com.vaadin.ui.Label; import com.vaadin.ui.Label;
import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.VerticalLayout;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.ClubhelperMenuBar;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemState;
import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.menu.MenuItemStateFactory;
public class SysteminfoView extends VerticalLayout implements View { public class SysteminfoView extends VerticalLayout implements View {
private final Grid<Entry<String, String>> valueGrid; private final Grid<Entry<String, String>> valueGrid;
private ListDataProvider<Entry<String, String>> entryDataProvider; private ListDataProvider<Entry<String, String>> entryDataProvider;
public SysteminfoView(boolean mobile) { private ClubhelperMenuBar menuBar;
private MenuItemStateFactory menuStateFactory;
public SysteminfoView(boolean mobile, MenuItemStateFactory menuStateFactory) {
this.menuStateFactory = menuStateFactory;
valueGrid = new Grid<>(); valueGrid = new Grid<>();
valueGrid.addColumn(Entry<String, String>::getKey) valueGrid.addColumn(Entry<String, String>::getKey)
.setCaption("Schlüssel") .setCaption("Schlüssel")
@ -41,6 +51,10 @@ public class SysteminfoView extends VerticalLayout implements View {
entryDataProvider = DataProvider.ofCollection(new ArrayList<Entry<String, String>>()); entryDataProvider = DataProvider.ofCollection(new ArrayList<Entry<String, String>>());
valueGrid.setDataProvider(entryDataProvider); valueGrid.setDataProvider(entryDataProvider);
menuBar = new ClubhelperMenuBar(null);
addComponent(menuBar);
Label title = new Label("<h1>Systeminformationen</h1>", ContentMode.HTML); Label title = new Label("<h1>Systeminformationen</h1>", ContentMode.HTML);
addComponent(title); addComponent(title);
addComponent(valueGrid); addComponent(valueGrid);
@ -49,6 +63,9 @@ public class SysteminfoView extends VerticalLayout implements View {
@Override @Override
public void enter(ViewChangeEvent event) { public void enter(ViewChangeEvent event) {
MenuItemState state = menuStateFactory.currentState();
menuBar.applyState(state);
Collection<Entry<String, String>> items = entryDataProvider.getItems(); Collection<Entry<String, String>> items = entryDataProvider.getItems();
items.clear(); items.clear();
Locale locale = Locale.getDefault(); Locale locale = Locale.getDefault();

@ -7,5 +7,6 @@ spring.datasource.jndi-name=jdbc/clubhelperbackend
spring.jpa.open-in-view=false spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

@ -69,14 +69,16 @@ public class PersonDaoTest {
person.setSurname("surname2"); person.setSurname("surname2");
person.setPrename("prename2"); person.setPrename("prename2");
person.setBirth(LocalDate.of(2018, 8, 8));
personDao.save(person); personDao.save(person);
}); });
afterCommit(() -> { afterCommit(() -> {
List<Person> stored = entityManager.createNamedQuery(Person.QUERY_FINDALL, Person.class).getResultList(); List<Person> stored = entityManager.createNamedQuery(Person.QUERY_FINDALL, Person.class)
.getResultList();
assertEquals(1, stored.size()); assertEquals(1, stored.size());
assertEquals(person, stored.get(0)); Person actual = stored.get(0);
assertEquals(person, actual);
}); });
} }

Loading…
Cancel
Save