running with keycloak successfully. Controller call succeeded

REL-BRANCH-ClubhelperModel-0.0.1
kre6513 5 years ago
parent 4c07bc2b90
commit 83f7d2281a
  1. 21
      src/main/java/de/kreth/clubhelper/model/controller/AbstractController.java
  2. 33
      src/main/java/de/kreth/clubhelper/model/controller/AdressController.java
  3. 2
      src/main/java/de/kreth/clubhelper/model/controller/ClubController.java
  4. 4
      src/main/java/de/kreth/clubhelper/model/controller/ContactController.java
  5. 6
      src/main/java/de/kreth/clubhelper/model/controller/DeletedEntriesController.java
  6. 2
      src/main/java/de/kreth/clubhelper/model/controller/HomeController.java
  7. 6
      src/main/java/de/kreth/clubhelper/model/controller/RelativeController.java
  8. 17
      src/main/java/de/kreth/clubhelper/model/controller/StartpassController.java
  9. 10
      src/main/java/de/kreth/clubhelper/model/dao/AdressDao.java
  10. 7
      src/main/java/de/kreth/clubhelper/model/dao/AttendanceDao.java
  11. 6
      src/main/java/de/kreth/clubhelper/model/dao/ClubhelperDao.java
  12. 9
      src/main/java/de/kreth/clubhelper/model/dao/DeletedEntriesDao.java
  13. 8
      src/main/java/de/kreth/clubhelper/model/dao/GroupDao.java
  14. 7
      src/main/java/de/kreth/clubhelper/model/dao/PersonDao.java
  15. 9
      src/main/java/de/kreth/clubhelper/model/dao/RelativeDao.java
  16. 9
      src/main/java/de/kreth/clubhelper/model/dao/StartpassDao.java
  17. 239
      src/main/java/de/kreth/clubhelper/model/data/Person.java
  18. 27
      src/main/java/de/kreth/clubhelperbackend/controller/AdressController.java
  19. 63
      src/main/java/de/kreth/clubhelperbackend/controller/AttendanceController.java
  20. 19
      src/main/java/de/kreth/clubhelperbackend/controller/ContactController.java
  21. 19
      src/main/java/de/kreth/clubhelperbackend/controller/GroupController.java
  22. 49
      src/main/java/de/kreth/clubhelperbackend/controller/HomeController.java
  23. 104
      src/main/java/de/kreth/clubhelperbackend/controller/PersonController.java
  24. 27
      src/main/java/de/kreth/clubhelperbackend/controller/StartpassController.java
  25. 5
      src/main/java/de/kreth/clubhelperbackend/controller/abstr/package-info.java
  26. 12
      src/test/java/de/kreth/clubhelper/model/LoadPersonsTest.java
  27. 8
      src/test/java/de/kreth/clubhelper/model/PersonControllerTest.java

@ -1,13 +1,15 @@
package de.kreth.clubhelperbackend.controller.abstr; package de.kreth.clubhelper.model.controller;
import static de.kreth.clubhelperbackend.utils.BoolUtils.not; import static de.kreth.clubhelperbackend.utils.BoolUtils.not;
import static java.time.temporal.ChronoUnit.MINUTES; import static java.time.temporal.ChronoUnit.MINUTES;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.CrudRepository;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -27,12 +29,12 @@ import de.kreth.clubhelper.model.data.BaseEntity;
*/ */
//@PreAuthorize("hasAnyRole('ROLE_ADMIN', 'STAFF')") //@PreAuthorize("hasAnyRole('ROLE_ADMIN', 'STAFF')")
public abstract class AbstractController<T extends BaseEntity> public abstract class AbstractController<T extends BaseEntity, D extends CrudRepository<T, Long>>
implements implements
ClubController<T> { ClubController<T> {
@Autowired @Autowired
protected ClubhelperDao<T> dao; protected D dao;
private Class<T> elementClass; private Class<T> elementClass;
public AbstractController(Class<T> element) { public AbstractController(Class<T> element) {
@ -65,13 +67,22 @@ public abstract class AbstractController<T extends BaseEntity>
@Override @Override
@GetMapping(value = "/for/{id}", produces = "application/json") @GetMapping(value = "/for/{id}", produces = "application/json")
public List<T> getByParentId(@PathVariable("id") long id) { public List<T> getByParentId(@PathVariable("id") long id) {
return dao.findByPersonId(id); if (dao instanceof ClubhelperDao) {
ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao;
return specialDao.findByPersonId(id);
}
return Collections.emptyList();
} }
@Override @Override
@GetMapping(value = "/changed/{changed}", produces = "application/json") @GetMapping(value = "/changed/{changed}", produces = "application/json")
public List<T> getChangedSince(@PathVariable("changed") long changed) { public List<T> getChangedSince(@PathVariable("changed") long changed) {
return dao.findByChangedGreaterThan(new Date(changed));
if (dao instanceof ClubhelperDao) {
ClubhelperDao<T> specialDao = (ClubhelperDao<T>) dao;
return specialDao.findByChangedGreaterThan(new Date(changed));
}
return Collections.emptyList();
} }
@Override @Override

@ -5,28 +5,29 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.dao.AdressDao; import de.kreth.clubhelper.model.dao.AdressDao;
import de.kreth.clubhelper.model.data.Adress; import de.kreth.clubhelper.model.data.Adress;
import de.kreth.clubhelper.model.data.Person; import de.kreth.clubhelper.model.data.Person;
@Controller @RestController
@RequestMapping("/adress") @RequestMapping("/adress")
@PreAuthorize("isAuthenticated()") @PreAuthorize("isAuthenticated()")
public class AdressController { public class AdressController
{
@Autowired @Autowired
private AdressDao adressDao; private AdressDao adressDao;
public List<Adress> getByParent(Person person) { public List<Adress> getByParent(Person person)
return adressDao.findByPerson(person); {
} return adressDao.findByPerson(person);
}
public void delete(Adress a) {
a.setDeleted(new Date()); public void delete(Adress a)
adressDao.save(a); {
} a.setDeleted(new Date());
adressDao.save(a);
}
} }

@ -1,4 +1,4 @@
package de.kreth.clubhelperbackend.controller.abstr; package de.kreth.clubhelper.model.controller;
import java.util.List; import java.util.List;

@ -5,14 +5,14 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.dao.ContactDao; import de.kreth.clubhelper.model.dao.ContactDao;
import de.kreth.clubhelper.model.data.Contact; import de.kreth.clubhelper.model.data.Contact;
import de.kreth.clubhelper.model.data.Person; import de.kreth.clubhelper.model.data.Person;
@Controller @RestController
@RequestMapping("/contact") @RequestMapping("/contact")
@PreAuthorize("isAuthenticated()") @PreAuthorize("isAuthenticated()")
public class ContactController public class ContactController

@ -1,4 +1,4 @@
package de.kreth.clubhelperbackend.controller; package de.kreth.clubhelper.model.controller;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -7,12 +7,12 @@ 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 de.kreth.clubhelper.model.dao.DeletedEntriesDao;
import de.kreth.clubhelper.model.data.DeletedEntry; import de.kreth.clubhelper.model.data.DeletedEntry;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController @RestController
@RequestMapping("/deletedentries") @RequestMapping("/deletedentries")
public class DeletedEntriesController extends AbstractController<DeletedEntry> { public class DeletedEntriesController extends AbstractController<DeletedEntry, DeletedEntriesDao> {
@Autowired @Autowired
public DeletedEntriesController() { public DeletedEntriesController() {

@ -20,7 +20,7 @@ public class HomeController
@GetMapping @GetMapping
public String index(Principal principal) public String index(Principal principal)
{ {
return principal == null ? "null" : principal.getName(); return principal == null ? "Welcome to Clubhelper Rest" : "Welcome to Clubhelper Rest, " + principal.getName();
} }
@GetMapping("/login") @GetMapping("/login")

@ -1,15 +1,15 @@
package de.kreth.clubhelperbackend.controller; package de.kreth.clubhelper.model.controller;
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 de.kreth.clubhelper.model.dao.RelativeDao;
import de.kreth.clubhelper.model.data.Relative; import de.kreth.clubhelper.model.data.Relative;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController @RestController
@RequestMapping("/relative") @RequestMapping("/relative")
public class RelativeController extends AbstractController<Relative> { public class RelativeController extends AbstractController<Relative, RelativeDao> {
@Autowired @Autowired
public RelativeController() { public RelativeController() {

@ -0,0 +1,17 @@
package de.kreth.clubhelper.model.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.dao.StartpassDao;
import de.kreth.clubhelper.model.data.Startpass;
@RestController
@RequestMapping("/startpass")
public class StartpassController extends AbstractController<Startpass, StartpassDao> {
public StartpassController() {
super(Startpass.class);
}
}

@ -1,12 +1,20 @@
package de.kreth.clubhelper.model.dao; package de.kreth.clubhelper.model.dao;
import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Adress; import de.kreth.clubhelper.model.data.Adress;
import de.kreth.clubhelper.model.data.Person; import de.kreth.clubhelper.model.data.Person;
public interface AdressDao extends ClubhelperDao<Adress> { public interface AdressDao extends CrudRepository<Adress, Long>, ClubhelperDao<Adress> {
List<Adress> findByPerson(Person person); List<Adress> findByPerson(Person person);
@Override
List<Adress> findByPersonId(long personId);
@Override
List<Adress> findByChangedGreaterThan(Date date);
} }

@ -3,10 +3,12 @@ package de.kreth.clubhelper.model.dao;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Attendance; import de.kreth.clubhelper.model.data.Attendance;
import de.kreth.clubhelper.model.data.Person; import de.kreth.clubhelper.model.data.Person;
public interface AttendanceDao extends ClubhelperDao<Attendance> { public interface AttendanceDao extends CrudRepository<Attendance, Long> {
List<Attendance> findByOnDate(Date onDate); List<Attendance> findByOnDate(Date onDate);
@ -14,4 +16,7 @@ public interface AttendanceDao extends ClubhelperDao<Attendance> {
Attendance findByPersonAndOnDate(Person person, Date onDate); Attendance findByPersonAndOnDate(Person person, Date onDate);
List<Attendance> findByPersonId(long personId);
List<Attendance> findByChangedGreaterThan(Date date);
} }

@ -3,11 +3,9 @@ package de.kreth.clubhelper.model.dao;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.data.repository.CrudRepository; public interface ClubhelperDao<T>
public interface ClubhelperDao<T> extends CrudRepository<T, Long>
{ {
List<T> findByPersonId(long personId); List<T> findByPersonId(long personId);
List<T> findByChangedGreaterThan(Date date); List<T> findByChangedGreaterThan(Date date);

@ -1,7 +1,14 @@
package de.kreth.clubhelper.model.dao; package de.kreth.clubhelper.model.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.DeletedEntry; import de.kreth.clubhelper.model.data.DeletedEntry;
public interface DeletedEntriesDao extends ClubhelperDao<DeletedEntry> public interface DeletedEntriesDao extends CrudRepository<DeletedEntry, Long>
{ {
List<DeletedEntry> findByChangedGreaterThan(Date date);
} }

@ -1,7 +1,13 @@
package de.kreth.clubhelper.model.dao; package de.kreth.clubhelper.model.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.GroupDef; import de.kreth.clubhelper.model.data.GroupDef;
public interface GroupDao extends ClubhelperDao<GroupDef> { public interface GroupDao extends CrudRepository<GroupDef, Long> {
List<GroupDef> findByChangedGreaterThan(Date date);
} }

@ -1,10 +1,15 @@
package de.kreth.clubhelper.model.dao; package de.kreth.clubhelper.model.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import de.kreth.clubhelper.model.data.Person; import de.kreth.clubhelper.model.data.Person;
@Repository @Repository
public interface PersonDao extends ClubhelperDao<Person> { public interface PersonDao extends CrudRepository<Person, Long> {
List<Person> findByChangedGreaterThan(Date date);
} }

@ -0,0 +1,9 @@
package de.kreth.clubhelper.model.dao;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Relative;
public interface RelativeDao extends CrudRepository<Relative, Long>
{
}

@ -0,0 +1,9 @@
package de.kreth.clubhelper.model.dao;
import org.springframework.data.repository.CrudRepository;
import de.kreth.clubhelper.model.data.Startpass;
public interface StartpassDao extends CrudRepository<Startpass, Long>
{
}

@ -15,129 +15,126 @@ import javax.persistence.Table;
/** /**
* The persistent class for the person database table. * The persistent class for the person database 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 SESSION_LOGIN = "SESSION_LOGIN_USER";
public static final String QUERY_FINDALL = "Person.findAll";
public static final String QUERY_FINDALL = "Person.findAll"; public static final String QUERY_FINDLOGIN = "Person.findLogin";
private static final long serialVersionUID = -8361264400619997123L;
public static final String QUERY_FINDLOGIN = "Person.findLogin"; @Basic
private LocalDate birth;
private static final long serialVersionUID = -8361264400619997123L; private String prename;
private String surname;
@Basic private String username;
private LocalDate birth; private String password;
private Integer gender;
private String prename; @ManyToMany
@JoinTable(name = "persongroup", joinColumns = @JoinColumn(name = "person_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
private String surname; private List<GroupDef> groups;
private String username; public Gender getGender()
{
private String password; if (gender == null) {
return null;
private Integer gender; }
return Gender.valueOf(gender);
@ManyToMany }
@JoinTable(name = "persongroup", joinColumns = @JoinColumn(name = "person_id"), inverseJoinColumns = @JoinColumn(name = "group_id"))
private List<GroupDef> groups; public LocalDate getBirth()
{
public Gender getGender() { return birth;
if (gender == null) { }
return null;
} public void setBirth(LocalDate birth)
return Gender.valueOf(gender); {
} this.birth = birth;
}
public void setGender(Gender gender) {
if (gender == null) { public String getPrename()
this.gender = null; {
} else { return prename;
this.gender = gender.getId(); }
}
} public void setPrename(String prename)
{
public LocalDate getBirth() { this.prename = prename;
return birth; }
}
public String getSurname()
public void setBirth(LocalDate birth) { {
this.birth = birth; return surname;
} }
public String getPrename() { public void setSurname(String surname)
return prename; {
} this.surname = surname;
}
public void setPrename(String prename) {
this.prename = prename; public String getUsername()
} {
return username;
public String getSurname() { }
return surname;
} public void setUsername(String username)
{
public void setSurname(String surname) { this.username = username;
this.surname = surname; }
}
public String getPassword()
public String getUsername() { {
return username; return password;
} }
public void setUsername(String username) { public void setPassword(String password)
this.username = username; {
} this.password = password;
}
public String getPassword() {
return password; public void setGender(Integer gender)
} {
this.gender = gender;
public void setPassword(String password) { }
this.password = password;
} public boolean isMember(GroupDef group)
{
public void setGender(Integer gender) { return groups != null && groups.contains(group);
this.gender = gender; }
}
@Override
public boolean isMember(GroupDef group) { public int hashCode()
return groups != null && groups.contains(group); {
} final int prime = 59;
int result = super.hashCode();
@Override result = prime * result;
public int hashCode() { return result;
final int prime = 59; }
int result = super.hashCode();
result = prime * result; @Override
return result; public boolean equals(Object obj)
} {
if (this == obj)
@Override return true;
public boolean equals(Object obj) { if (!super.equals(obj))
if (this == obj) return false;
return true; if (getClass() != obj.getClass())
if (!super.equals(obj)) return false;
return false; Person other = (Person) obj;
if (getClass() != obj.getClass()) if (surname == null) {
return false; if (other.surname != null)
Person other = (Person) obj; return false;
if (surname == null) { }
if (other.surname != null) else if (!surname.equals(other.surname))
return false; return false;
} else if (!surname.equals(other.surname)) return true;
return false; }
return true;
} @Override
public String toString()
@Override {
public String toString() { return "Person [id=" + getId() + ", prename=" + prename + ", surname=" + surname + "]";
return "Person [id=" + getId() + ", prename=" + prename + ", surname=" + surname + "]"; }
}
} }

@ -1,27 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.data.Adress;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController
@RequestMapping("/adress")
public class AdressController extends AbstractController<Adress> {
@Autowired
public AdressController() {
super(Adress.class);
}
@Override
public List<Adress> getByParentId(long id) {
return new ArrayList<Adress>();
}
}

@ -1,63 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.dao.AttendanceDao;
import de.kreth.clubhelper.model.dao.PersonDao;
import de.kreth.clubhelper.model.data.Attendance;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController
@RequestMapping("/attendance")
public class AttendanceController extends AbstractController<Attendance> {
@Autowired
private PersonDao personDao;
public AttendanceController() {
super(Attendance.class);
}
@RequestMapping(value = "/on", method = RequestMethod.POST, produces = "application/json")
public List<Attendance> postListAttendencesOn(@RequestBody(required=false) Date date)
throws SQLException {
if(date == null) {
date = new Date();
}
AttendanceDao tmpDao = (AttendanceDao)dao;
return tmpDao.findByOnDate(date);
}
@RequestMapping(value = "/on/{date}", method = RequestMethod.GET, produces = "application/json")
public List<Attendance> getAttendencesOn(@PathVariable("date") @DateTimeFormat(iso=ISO.DATE) Date date)
throws SQLException {
AttendanceDao tmpDao = (AttendanceDao)dao;
return tmpDao.findByOnDate(date);
}
@RequestMapping(value = "/for/{id}", method = RequestMethod.POST, produces = "application/json")
public Attendance post(@PathVariable("id") Long id) {
Attendance att = new Attendance();
att.setPerson(personDao.findById(id).get());
att.setOnDate(new Date());
return post(att);
}
}

@ -1,19 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.data.Contact;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController
@RequestMapping("/contact")
public class ContactController extends AbstractController<Contact> {
@Autowired
public ContactController() {
super(Contact.class);
}
}

@ -1,19 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.data.GroupDef;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController
@RequestMapping("/group")
public class GroupController extends AbstractController<GroupDef> {
@Autowired()
public GroupController() {
super(GroupDef.class);
}
}

@ -1,49 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Handles requests for the application home page.
*/
@RestController
@RequestMapping("/")
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*
* @param response
* response Object for redirection.
* @param device
* device Type to decide redirection target.
* @param locale
* locale for language
* @param model
* model to set response data
* @return Name of View
*/
@GetMapping(value = "/")
public String home(HttpServletResponse response, Locale locale) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
return "This is Clubhelper Backend at " + formattedDate;
}
}

@ -1,104 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.data.Adress;
import de.kreth.clubhelper.model.data.Contact;
import de.kreth.clubhelper.model.data.Person;
import de.kreth.clubhelper.model.data.Relative;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
import de.kreth.clubhelperbackend.controller.abstr.ClubController;
@RestController
@RequestMapping("/person")
public class PersonController extends AbstractController<Person> {
@Autowired
private ClubController<Contact> contactController;
@Autowired
private ClubController<Relative> relativeController;
@Autowired
private ClubController<Adress> adressController;
public PersonController() {
super(Person.class);
}
// private static ClubhelperDao<Person> doCast(PersonDao dao) {
// Object anonymous = dao;
// return (ClubhelperDao<Person>) anonymous;
// }
@Override
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE, produces = "application/json")
public ResponseEntity<Person> delete(@PathVariable("id") final long id) {
for (Contact c : contactController.getByParentId(id)) {
contactController.delete(c.getId());
}
for (Adress a : adressController.getByParentId(id)) {
adressController.delete(a.getId());
}
for (Relative r : relativeController.getByParentId(id)) {
relativeController.delete(r.getId());
}
return super.delete(id);
}
/**
* Delivers list with one Person with id.
*/
@Override
public List<Person> getByParentId(long id) {
List<Person> all = new ArrayList<Person>();
all.add(getById(id));
return all;
}
/**
*
* @author markus
*
*/
public class PersonRelative extends Relative {
private static final long serialVersionUID = 4828690343464403867L;
private Person toPerson;
private String relation;
public PersonRelative(Relative r) {
super(r.getId(),
r.getToPerson2Relation(), r.getToPerson1Relation(), r.getPerson1Bean(), r.getPerson2Bean());
setChanged(r.getChanged());
setCreated(r.getCreated());
toPerson = r.getPerson1Bean();
relation = r.getToPerson1Relation();
}
public Person getToPerson() {
return toPerson;
}
public String getRelation() {
return relation;
}
@Override
public String toString() {
StringBuilder bld = new StringBuilder();
bld.append(relation).append(" ").append(toPerson.getId())
.append(": ").append(toPerson.getPrename()).append(" ")
.append(toPerson.getSurname());
return bld.toString();
}
}
}

@ -1,27 +0,0 @@
package de.kreth.clubhelperbackend.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import de.kreth.clubhelper.model.data.Startpass;
import de.kreth.clubhelperbackend.controller.abstr.AbstractController;
@RestController
@RequestMapping("/startpass")
public class StartpassController extends AbstractController<Startpass> {
@Autowired
public StartpassController() {
super(Startpass.class);
}
@Override
// @RequestMapping(value = "/for/{id}", method = RequestMethod.GET, produces = "application/json")
public List<Startpass> getByParentId(@PathVariable("id") long id) {
return dao.findByPersonId(id);
}
}

@ -1,5 +0,0 @@
/**
* @author markus
*
*/
package de.kreth.clubhelperbackend.controller.abstr;

@ -38,10 +38,10 @@ class LoadPersonsTest
@BeforeEach @BeforeEach
void loadGroups() void loadGroups()
{ {
aktive = groupDao.findById(1).get(); aktive = groupDao.findById(1L).get();
trainer = groupDao.findById(3).get(); trainer = groupDao.findById(3L).get();
competitor = groupDao.findById(7).get(); competitor = groupDao.findById(7L).get();
admin = groupDao.findById(8).get(); admin = groupDao.findById(8L).get();
assertNotNull(aktive); assertNotNull(aktive);
assertNotNull(trainer); assertNotNull(trainer);
assertNotNull(competitor); assertNotNull(competitor);
@ -51,7 +51,7 @@ class LoadPersonsTest
@Test @Test
void testLoadPerson1() void testLoadPerson1()
{ {
Optional<Person> person1 = personDao.findById(1); Optional<Person> person1 = personDao.findById(1L);
assertTrue(person1.isPresent(), "Person with id=1 not found!"); assertTrue(person1.isPresent(), "Person with id=1 not found!");
assertTrue(person1.get().isMember(trainer)); assertTrue(person1.get().isMember(trainer));
} }
@ -70,7 +70,7 @@ class LoadPersonsTest
p.setPrename("prename"); p.setPrename("prename");
p.setSurname("surname"); p.setSurname("surname");
p.setBirth(LocalDate.of(1981, 3, 3)); p.setBirth(LocalDate.of(1981, 3, 3));
p.setGender(Gender.MALE); p.setGender(Gender.MALE.getId());
personDao.save(p); personDao.save(p);
assertNotNull(p.getId()); assertNotNull(p.getId());
personDao.delete(p); personDao.delete(p);

@ -53,16 +53,16 @@ class PersonControllerTest
p1.setPrename("prename"); p1.setPrename("prename");
p1.setSurname("surname"); p1.setSurname("surname");
p1.setBirth(LocalDate.of(2000, 1, 1)); p1.setBirth(LocalDate.of(2000, 1, 1));
p1.setGender(Gender.MALE); p1.setGender(Gender.MALE.getId());
p2 = new Person(); p2 = new Person();
p2.setId(1); p2.setId(1);
p2.setPrename("prename"); p2.setPrename("prename");
p2.setSurname("surname"); p2.setSurname("surname");
p2.setBirth(LocalDate.of(2000, 1, 1)); p2.setBirth(LocalDate.of(2000, 1, 1));
p2.setGender(Gender.MALE); p2.setGender(Gender.MALE.getId());
when(personDao.findAll()).thenReturn(Arrays.asList(p1, p2)); when(personDao.findAll()).thenReturn(Arrays.asList(p1, p2));
when(personDao.findById(1)).thenReturn(Optional.of(p1)); when(personDao.findById(1L)).thenReturn(Optional.of(p1));
when(personDao.findById(2)).thenReturn(Optional.of(p2)); when(personDao.findById(2L)).thenReturn(Optional.of(p2));
} }
@Test @Test

Loading…
Cancel
Save