Compare commits

..

No commits in common. 'master' and 'REL-BRANCH-ClubhelperModel-0.0.1' have entirely different histories.

  1. 15
      pom.xml
  2. 2
      src/main/java/de/kreth/clubhelper/model/controller/AbstractController.java
  3. 69
      src/main/java/de/kreth/clubhelper/model/controller/RelativeController.java
  4. 4
      src/main/java/de/kreth/clubhelper/model/dao/RelativeDao.java
  5. 3
      src/main/java/de/kreth/clubhelper/model/dao/StartpassDao.java
  6. 222
      src/main/java/de/kreth/clubhelper/model/data/Person.java

@ -11,7 +11,7 @@
<groupId>de.kreth.clubhelper</groupId> <groupId>de.kreth.clubhelper</groupId>
<artifactId>ClubhelperModel</artifactId> <artifactId>ClubhelperModel</artifactId>
<version>0.0.3-SNAPSHOT</version> <version>0.0.1</version>
<name>clubhelper-model</name> <name>clubhelper-model</name>
<description>Model for Clubhelper Projects</description> <description>Model for Clubhelper Projects</description>
@ -40,6 +40,11 @@
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.keycloak</groupId> <groupId>org.keycloak</groupId>
<artifactId>keycloak-spring-boot-starter</artifactId> <artifactId>keycloak-spring-boot-starter</artifactId>
@ -54,13 +59,6 @@
<artifactId>springfox-boot-starter</artifactId> <artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version> <version>3.0.0</version>
</dependency> </dependency>
<!-- Documentation -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.4.6</version>
</dependency>
<!-- <dependency> --> <!-- <dependency> -->
<!-- <groupId>io.springfox</groupId> --> <!-- <groupId>io.springfox</groupId> -->
<!-- <artifactId>springfox-swagger2</artifactId> --> <!-- <artifactId>springfox-swagger2</artifactId> -->
@ -103,6 +101,7 @@
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
<scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.googlecode.libphonenumber</groupId> <groupId>com.googlecode.libphonenumber</groupId>

@ -69,7 +69,6 @@ public abstract class AbstractController<T extends BaseEntity, D extends CrudRep
@GetMapping(value = "/for/{id}") @GetMapping(value = "/for/{id}")
public List<T> getByParentId(@PathVariable("id") long id) { public List<T> getByParentId(@PathVariable("id") long id) {
if (dao instanceof ClubhelperDao) { if (dao instanceof ClubhelperDao) {
@SuppressWarnings("unchecked")
ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao; ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao;
return specialDao.findByPersonId(id); return specialDao.findByPersonId(id);
} }
@ -81,7 +80,6 @@ public abstract class AbstractController<T extends BaseEntity, D extends CrudRep
public List<T> getChangedSince(@PathVariable("changed") long changed) { public List<T> getChangedSince(@PathVariable("changed") long changed) {
if (dao instanceof ClubhelperDao) { if (dao instanceof ClubhelperDao) {
@SuppressWarnings("unchecked")
ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao; ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao;
return specialDao.findByChangedGreaterThan(new Date(changed)); return specialDao.findByChangedGreaterThan(new Date(changed));
} }

@ -1,16 +1,12 @@
package de.kreth.clubhelper.model.controller; package de.kreth.clubhelper.model.controller;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.annotation.JsonIgnore;
import de.kreth.clubhelper.model.dao.RelativeDao; import de.kreth.clubhelper.model.dao.RelativeDao;
import de.kreth.clubhelper.model.data.Person;
import de.kreth.clubhelper.model.data.Relative; import de.kreth.clubhelper.model.data.Relative;
@RestController @RestController
@ -26,69 +22,6 @@ public class RelativeController extends AbstractController<Relative, RelativeDao
@Override @Override
public List<Relative> getByParentId(long id) { public List<Relative> getByParentId(long id) {
return relativeDao.findByPersonId1OrPerson2Id(id).stream() return relativeDao.findByPerson1ORPerson2(id);
.map(r -> map(id, r))
.collect(Collectors.toList());
}
private Relation map(long forPersonId, Relative relative) {
Relation r;
if (relative.getPerson2Bean().getId() == forPersonId) {
r = new Relation(relative.getToPerson1Relation(), relative.getPerson1Bean());
} else {
r = new Relation(relative.getToPerson2Relation(), relative.getPerson2Bean());
}
r.setChanged(relative.getChanged());
r.setCreated(relative.getCreated());
r.setId(relative.getId());
r.setDeleted(relative.getDeleted());
return r;
}
public class Relation extends Relative {
private static final long serialVersionUID = -4881464721582462186L;
private final String relationType;
private final Person relative;
private Relation(String relationType, Person relative) {
super();
this.relationType = relationType;
this.relative = relative;
}
public String getRelationType() {
return relationType;
}
public Person getRelative() {
return relative;
}
@JsonIgnore
@Override
public Person getPerson1Bean() {
return super.getPerson1Bean();
}
@JsonIgnore
@Override
public Person getPerson2Bean() {
return super.getPerson2Bean();
}
@JsonIgnore
@Override
public String getToPerson1Relation() {
return super.getToPerson1Relation();
}
@JsonIgnore
@Override
public String getToPerson2Relation() {
return super.getToPerson2Relation();
}
} }
} }

@ -2,14 +2,12 @@ package de.kreth.clubhelper.model.dao;
import java.util.List; import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Relative; import de.kreth.clubhelper.model.data.Relative;
public interface RelativeDao extends CrudRepository<Relative, Long> { public interface RelativeDao extends CrudRepository<Relative, Long> {
@Query(value = "SELECT * FROM clubhelper.relative r where r.person1=?1 or r.person2=?1", nativeQuery = true) List<Relative> findByPerson1ORPerson2(long personId);
List<Relative> findByPersonId1OrPerson2Id(long personId);
} }

@ -4,5 +4,6 @@ import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Startpass; import de.kreth.clubhelper.model.data.Startpass;
public interface StartpassDao extends CrudRepository<Startpass, Long>, ClubhelperDao<Startpass> { public interface StartpassDao extends CrudRepository<Startpass, Long>
{
} }

@ -19,108 +19,122 @@ import javax.persistence.Table;
@Entity @Entity
@Table(name = "person") @Table(name = "person")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Person extends BaseEntity implements Serializable { public class Person extends BaseEntity implements Serializable
public static final String SESSION_LOGIN = "SESSION_LOGIN_USER"; {
public static final String QUERY_FINDALL = "Person.findAll"; public static final String SESSION_LOGIN = "SESSION_LOGIN_USER";
public static final String QUERY_FINDLOGIN = "Person.findLogin"; public static final String QUERY_FINDALL = "Person.findAll";
private static final long serialVersionUID = -8361264400619997123L; public static final String QUERY_FINDLOGIN = "Person.findLogin";
@Basic private static final long serialVersionUID = -8361264400619997123L;
private LocalDate birth; @Basic
private String prename; private LocalDate birth;
private String surname; private String prename;
private String username; private String surname;
private String password; private String username;
private Integer gender; private String password;
@ManyToMany private Integer gender;
@JoinTable(name = "persongroup", joinColumns = @JoinColumn(name = "person_id"), inverseJoinColumns = @JoinColumn(name = "group_id")) @ManyToMany
private List<GroupDef> groups; @JoinTable(name = "persongroup", joinColumns = @JoinColumn(name = "person_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
private List<GroupDef> groups;
public Gender getGender() {
if (gender == null) { public Gender getGender()
return null; {
} if (gender == null) {
return Gender.valueOf(gender); return null;
} }
return Gender.valueOf(gender);
public LocalDate getBirth() { }
return birth;
} public LocalDate getBirth()
{
public void setBirth(LocalDate birth) { return birth;
this.birth = birth; }
}
public void setBirth(LocalDate birth)
public String getPrename() { {
return prename; this.birth = birth;
} }
public void setPrename(String prename) { public String getPrename()
this.prename = prename; {
} return prename;
}
public String getSurname() {
return surname; public void setPrename(String prename)
} {
this.prename = prename;
public void setSurname(String surname) { }
this.surname = surname;
} public String getSurname()
{
public String getUsername() { return surname;
return username; }
}
public void setSurname(String surname)
public void setUsername(String username) { {
this.username = username; this.surname = surname;
} }
public String getPassword() { public String getUsername()
return password; {
} return username;
}
public void setPassword(String password) {
this.password = password; public void setUsername(String username)
} {
this.username = username;
public void setGender(Integer gender) { }
this.gender = gender;
} public String getPassword()
{
public boolean isMember(GroupDef group) { return password;
return groups != null && groups.contains(group); }
}
public void setPassword(String password)
public List<GroupDef> getGroups() { {
return groups; this.password = password;
} }
@Override public void setGender(Integer gender)
public int hashCode() { {
final int prime = 59; this.gender = gender;
int result = super.hashCode(); }
result = prime * result;
return result; public boolean isMember(GroupDef group)
} {
return groups != null && groups.contains(group);
@Override }
public boolean equals(Object obj) {
if (this == obj) @Override
return true; public int hashCode()
if (!super.equals(obj)) {
return false; final int prime = 59;
if (getClass() != obj.getClass()) int result = super.hashCode();
return false; result = prime * result;
Person other = (Person) obj; return result;
if (surname == null) { }
if (other.surname != null)
return false; @Override
} else if (!surname.equals(other.surname)) public boolean equals(Object obj)
return false; {
return true; if (this == obj)
} return true;
if (!super.equals(obj))
@Override return false;
public String toString() { if (getClass() != obj.getClass())
return "Person [id=" + getId() + ", prename=" + prename + ", surname=" + surname + "]"; return false;
} Person other = (Person) obj;
if (surname == null) {
if (other.surname != null)
return false;
}
else if (!surname.equals(other.surname))
return false;
return true;
}
@Override
public String toString()
{
return "Person [id=" + getId() + ", prename=" + prename + ", surname=" + surname + "]";
}
} }

Loading…
Cancel
Save