diff --git a/src/main/java/com/example/kickevent/controller/EventController.java b/src/main/java/com/example/kickevent/controller/EventController.java index f0fd1d5..deee180 100644 --- a/src/main/java/com/example/kickevent/controller/EventController.java +++ b/src/main/java/com/example/kickevent/controller/EventController.java @@ -63,16 +63,16 @@ EntityModel one(@PathVariable Long id) { @PutMapping("/api/event/{id}") Event edit(@RequestBody Event newEvent, @PathVariable("id") Long id) { return eventService.findById(id).map(Event -> { - if (newEvent.getStartDate() != null) Event.setStartDate(newEvent.getStartDate()); - if (newEvent.getEndDate() != null) Event.setEndDate(newEvent.getEndDate()); - if (newEvent.getCity() != null) Event.setCity(newEvent.getCity()); - if (newEvent.getHouseNumber() != null) Event.setHouseNumber(newEvent.getHouseNumber()); - if (newEvent.getStreetName() != null) Event.setStreetName(newEvent.getStreetName()); - if (newEvent.getTitle() != null) Event.setTitle(newEvent.getTitle()); - if (newEvent.getContent() != null) Event.setContent(newEvent.getContent()); - if (newEvent.getPostalCode() != null) Event.setPostalCode(newEvent.getPostalCode()); - if (newEvent.getLatitude() != null) Event.setLatitude(newEvent.getLatitude()); - if (newEvent.getLongitude() != null) Event.setLongitude(newEvent.getLongitude()); + if (newEvent.getStartDate() != null && !newEvent.getStartDate().toString().isEmpty()) Event.setStartDate(newEvent.getStartDate()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getEndDate() != null && !newEvent.getEndDate().toString().isEmpty()) Event.setEndDate(newEvent.getEndDate()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getCity() != null && !newEvent.getCity().isEmpty()) Event.setCity(newEvent.getCity()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getHouseNumber() != null && !newEvent.getHouseNumber().isEmpty()) Event.setHouseNumber(newEvent.getHouseNumber()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getStreetName() != null && !newEvent.getStreetName().isEmpty()) Event.setStreetName(newEvent.getStreetName()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getTitle() != null && !newEvent.getTitle().isEmpty()) Event.setTitle(newEvent.getTitle()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getContent() != null && !newEvent.getContent().isEmpty()) Event.setContent(newEvent.getContent()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getPostalCode() != null && !newEvent.getPostalCode().toString().isEmpty()) Event.setPostalCode(newEvent.getPostalCode()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getLatitude() != null && !newEvent.getLatitude().isEmpty()) Event.setLatitude(newEvent.getLatitude()); else throw new RuntimeException("One or more fields are empty"); + if (newEvent.getLongitude() != null && !newEvent.getLongitude().isEmpty()) Event.setLongitude(newEvent.getLongitude()); else throw new RuntimeException("One or more fields are empty"); return eventService.save(Event); }).orElseThrow(() -> new RuntimeException("Event with that ID not found")); } diff --git a/src/main/java/com/example/kickevent/services/EventService.java b/src/main/java/com/example/kickevent/services/EventService.java index 0a981c8..4a8eac3 100644 --- a/src/main/java/com/example/kickevent/services/EventService.java +++ b/src/main/java/com/example/kickevent/services/EventService.java @@ -31,6 +31,7 @@ public Page getAll(String sortBy, String search, int size, int page) { if (sortBy != null && !sortBy.isBlank() && sortBy.contains(",")){ + System.out.println("1. if." +sortBy + search + size + page); try{ String filterOne = sortBy.split(",")[0]; String filterTwo = sortBy.split(",")[1]; @@ -55,14 +56,14 @@ public Page getAll(String sortBy, String search, int size, int page) { } Pageable paging = PageRequest.of(page,size); if (search!= null && !search.isBlank()){ - + System.out.println("In dem if" +sortBy + search + size + page); List searchRes = this.eventRepository.findAll().stream().filter(event->filter(event,search)).toList(); int start = (int) paging.getOffset(); int end = Math.min((start + paging.getPageSize()),searchRes.size()); List searchPageContent = searchRes.subList(start,end); return new PageImpl<>(searchPageContent,paging,searchRes.size()); } - + System.out.println("Hier angekommen" +sortBy + search + size + page); return this.eventRepository.findAll(paging); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7d5907c..3872a86 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,7 +4,7 @@ spring.datasource.url=jdbc:sqlserver://kickevent.database.windows.net:1433;database=kickevent;user=${MYSQL_USER};password=${MYSQL_PASSWORD};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30; spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2016Dialect server.port=443 user.token.expirationTimeInMs=600000L