From 5eba119d51229a66f59018d89978bba4b396ea74 Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Fri, 18 Jan 2019 21:59:09 +0100 Subject: [PATCH] Person with Gender --- .../vaadinclubhelper/data/Gender.java | 28 +++++++++++++++++++ .../vaadinclubhelper/data/Person.java | 18 ++++++++++-- src/main/resources/schema/version1.sql | 3 ++ 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Gender.java diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Gender.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Gender.java new file mode 100644 index 0000000..05f7148 --- /dev/null +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Gender.java @@ -0,0 +1,28 @@ +package de.kreth.vaadin.clubhelper.vaadinclubhelper.data; + +public enum Gender { + + MALE(1), FEMALE(2); + private final int id; + + private Gender(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public static Gender valueOf(Integer id) { + return valueOf(id.intValue()); + } + + public static Gender valueOf(int id) { + for (Gender g : values()) { + if (g.id == id) { + return g; + } + } + throw new IllegalArgumentException("No Gender for id=" + id + " defined."); + } +} diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Person.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Person.java index 8143443..de40eb4 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Person.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/data/Person.java @@ -39,13 +39,13 @@ public class Person extends BaseEntity implements Serializable { private LocalDate birth; - private String password; - private String prename; - private String surname; private String username; + private String password; + + private Integer gender; @OneToOne(mappedBy = "person") private Startpass startpass; @@ -119,6 +119,18 @@ public class Person extends BaseEntity implements Serializable { this.username = username; } + public Gender getGender() { + return Gender.valueOf(gender); + } + + public void setGender(Gender gender) { + if (gender == null) { + this.gender = null; + } else { + this.gender = gender.getId(); + } + } + public Set getGroups() { return groups; } diff --git a/src/main/resources/schema/version1.sql b/src/main/resources/schema/version1.sql index 7d4b7c2..39b2ac2 100644 --- a/src/main/resources/schema/version1.sql +++ b/src/main/resources/schema/version1.sql @@ -51,3 +51,6 @@ CREATE TABLE `event_has_altersgruppe` ( REFERENCES `altersgruppe` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION); +ALTER TABLE `person` +ADD COLUMN `gender` SMALLINT(1) NULL AFTER `birth`; +