diff --git a/src/main/java/io/openliberty/sample/application/CrewMembers.java b/src/main/java/io/openliberty/sample/application/CrewMembers.java index 38d3b88..9d08867 100644 --- a/src/main/java/io/openliberty/sample/application/CrewMembers.java +++ b/src/main/java/io/openliberty/sample/application/CrewMembers.java @@ -3,12 +3,16 @@ import java.util.List; import java.util.stream.Stream; -import jakarta.data.repository.BasicRepository; +import jakarta.data.repository.DataRepository; import jakarta.data.repository.OrderBy; import jakarta.data.repository.Repository; +import jakarta.data.repository.Save; +import jakarta.validation.Valid; @Repository -public interface CrewMembers extends BasicRepository { +public interface CrewMembers extends DataRepository { + @Save + CrewMember save(@Valid CrewMember m); List findByRank(Rank rank); @@ -16,4 +20,6 @@ public interface CrewMembers extends BasicRepository { Stream findAll(); void deleteByCrewID(String crewID); + + void deleteAll(); } diff --git a/src/main/java/io/openliberty/sample/application/CrewService.java b/src/main/java/io/openliberty/sample/application/CrewService.java index d37226c..d138fd5 100755 --- a/src/main/java/io/openliberty/sample/application/CrewService.java +++ b/src/main/java/io/openliberty/sample/application/CrewService.java @@ -18,7 +18,7 @@ import jakarta.json.JsonArrayBuilder; import jakarta.json.JsonObject; import jakarta.validation.ConstraintViolation; -import jakarta.validation.Validator; +import jakarta.validation.ConstraintViolationException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -35,26 +35,22 @@ public class CrewService { @Inject CrewMembers crewMembers; - @Inject - Validator validator; - @POST @Path("/{id}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public String add(CrewMember crewMember) { - - Set> violations = validator.validate(crewMember); - if(violations.size() > 0) { + + try { + crewMembers.save(crewMember); + } catch (ConstraintViolationException x) { JsonArrayBuilder messages = Json.createArrayBuilder(); - for (ConstraintViolation v : violations) { + for (ConstraintViolation v : x.getConstraintViolations()) { messages.add(v.getMessage()); } return messages.build().toString(); } - crewMembers.save(crewMember); - return ""; }