Compare commits

..

6 Commits

  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. 58
      src/main/java/de/kreth/clubhelper/model/data/Person.java

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

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

@ -1,12 +1,16 @@
package de.kreth.clubhelper.model.controller;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
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.data.Person;
import de.kreth.clubhelper.model.data.Relative;
@RestController
@ -22,6 +26,69 @@ public class RelativeController extends AbstractController<Relative, RelativeDao
@Override
public List<Relative> getByParentId(long id) {
return relativeDao.findByPerson1ORPerson2(id);
return relativeDao.findByPersonId1OrPerson2Id(id).stream()
.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,12 +2,14 @@ package de.kreth.clubhelper.model.dao;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Relative;
public interface RelativeDao extends CrudRepository<Relative, Long> {
List<Relative> findByPerson1ORPerson2(long personId);
@Query(value = "SELECT * FROM clubhelper.relative r where r.person1=?1 or r.person2=?1", nativeQuery = true)
List<Relative> findByPersonId1OrPerson2Id(long personId);
}

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

@ -19,8 +19,7 @@ import javax.persistence.Table;
@Entity
@Table(name = "person")
@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 QUERY_FINDLOGIN = "Person.findLogin";
@ -36,77 +35,67 @@ public class Person extends BaseEntity implements Serializable
@JoinTable(name = "persongroup", joinColumns = @JoinColumn(name = "person_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
private List<GroupDef> groups;
public Gender getGender()
{
public Gender getGender() {
if (gender == null) {
return null;
}
return Gender.valueOf(gender);
}
public LocalDate getBirth()
{
public LocalDate getBirth() {
return birth;
}
public void setBirth(LocalDate birth)
{
public void setBirth(LocalDate birth) {
this.birth = birth;
}
public String getPrename()
{
public String getPrename() {
return prename;
}
public void setPrename(String prename)
{
public void setPrename(String prename) {
this.prename = prename;
}
public String getSurname()
{
public String getSurname() {
return surname;
}
public void setSurname(String surname)
{
public void setSurname(String surname) {
this.surname = surname;
}
public String getUsername()
{
public String getUsername() {
return username;
}
public void setUsername(String username)
{
public void setUsername(String username) {
this.username = username;
}
public String getPassword()
{
public String getPassword() {
return password;
}
public void setPassword(String password)
{
public void setPassword(String password) {
this.password = password;
}
public void setGender(Integer gender)
{
public void setGender(Integer gender) {
this.gender = gender;
}
public boolean isMember(GroupDef group)
{
public boolean isMember(GroupDef group) {
return groups != null && groups.contains(group);
}
public List<GroupDef> getGroups() {
return groups;
}
@Override
public int hashCode()
{
public int hashCode() {
final int prime = 59;
int result = super.hashCode();
result = prime * result;
@ -114,8 +103,7 @@ public class Person extends BaseEntity implements Serializable
}
@Override
public boolean equals(Object obj)
{
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
@ -126,15 +114,13 @@ public class Person extends BaseEntity implements Serializable
if (surname == null) {
if (other.surname != null)
return false;
}
else if (!surname.equals(other.surname))
} else if (!surname.equals(other.surname))
return false;
return true;
}
@Override
public String toString()
{
public String toString() {
return "Person [id=" + getId() + ", prename=" + prename + ", surname=" + surname + "]";
}
}

Loading…
Cancel
Save