From 47079784e28665eba340f204d7db077664aa80a7 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 07:14:59 +0200 Subject: [PATCH 01/16] test --- src/main/java/com/kpi/fict/DefaultStudentService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index b42b9f7..132f313 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -4,6 +4,7 @@ import com.kpi.fict.repositories.StudentRepository; import java.util.List; +import java.util.stream.Collectors; public class DefaultStudentService implements StudentService { private StudentRepository studentRepository; @@ -14,7 +15,10 @@ public DefaultStudentService(StudentRepository studentRepository) { @Override public List findStudentsWithoutExams() { - throw new UnsupportedOperationException("Need to make implementation"); + List students = studentRepository.findAll(); + return students.stream() + .filter(student -> student.getExams().isEmpty()) + .collect(Collectors.toList()); } @Override From 19a3d77d0bdf496aebdd3b97885cb3d92191a1f8 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 07:46:00 +0200 Subject: [PATCH 02/16] task 2 done --- src/main/java/com/kpi/fict/DefaultStudentService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 132f313..a1ae69d 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -1,5 +1,6 @@ package com.kpi.fict; +import com.kpi.fict.entities.Exam; import com.kpi.fict.entities.Student; import com.kpi.fict.repositories.StudentRepository; @@ -23,7 +24,12 @@ public List findStudentsWithoutExams() { @Override public List findStudentsWhoTakeEngExamWith11RatingOrMore() { - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .filter( student -> (student.getExams().stream() + .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) + && (student.getRating() == 11)) + .collect(Collectors.toList()); } @Override From 78c3c097b9cf17b01b2cec6d2c83629924ebc138 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 07:57:31 +0200 Subject: [PATCH 03/16] task 4 done --- .../java/com/kpi/fict/DefaultStudentService.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index a1ae69d..6ac04bf 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -39,7 +39,19 @@ public List findTwoStudentsWithMaxEngRating() { @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .filter( student -> + (student.getExams() + .stream() + .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) + && (exam.getScore() >= 180))) + && (student.getExams() + .stream() + .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) + && (exam.getScore() >= 180))) + ) + .collect(Collectors.toList()); } //Delimiter: ',' From 73b0be5d7a89f0672c7a6199963f516887ae10af Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 08:32:02 +0200 Subject: [PATCH 04/16] task 5 done --- src/main/java/com/kpi/fict/DefaultStudentService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 6ac04bf..1f5ba20 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -5,6 +5,7 @@ import com.kpi.fict.repositories.StudentRepository; import java.util.List; +import java.util.OptionalDouble; import java.util.stream.Collectors; public class DefaultStudentService implements StudentService { @@ -57,7 +58,13 @@ public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { //Delimiter: ',' @Override public List getExamSumAndRatingForEachStudent() { - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .map(student -> + (student.getExams().stream().mapToDouble(Exam::getScore).sum()) + + student.getRating() + + student.getName()) + .collect(Collectors.toList()); } public StudentRepository getStudentRepository() { From 2104d56b2b020fe412f9a19b1966b2007d6eb701 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 08:34:16 +0200 Subject: [PATCH 05/16] check 5 task --- .../java/com/kpi/fict/DefaultStudentService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 1f5ba20..66ec533 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -58,13 +58,14 @@ public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { //Delimiter: ',' @Override public List getExamSumAndRatingForEachStudent() { - return studentRepository.findAll() - .stream() - .map(student -> - (student.getExams().stream().mapToDouble(Exam::getScore).sum()) - + student.getRating() - + student.getName()) - .collect(Collectors.toList()); +// return studentRepository.findAll() +// .stream() +// .map(student -> +// (student.getExams().stream().mapToDouble(Exam::getScore).sum()) +// + student.getRating() +// + student.getName()) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } public StudentRepository getStudentRepository() { From e6584fd835f658cf927f87d12977ae7e34a85593 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 08:41:19 +0200 Subject: [PATCH 06/16] task 2 redone --- .../com/kpi/fict/DefaultStudentService.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 66ec533..8ea2ef0 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -29,7 +29,7 @@ public List findStudentsWhoTakeEngExamWith11RatingOrMore() { .stream() .filter( student -> (student.getExams().stream() .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) - && (student.getRating() == 11)) + && (student.getRating() >= 11)) .collect(Collectors.toList()); } @@ -58,14 +58,14 @@ public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { //Delimiter: ',' @Override public List getExamSumAndRatingForEachStudent() { -// return studentRepository.findAll() -// .stream() -// .map(student -> -// (student.getExams().stream().mapToDouble(Exam::getScore).sum()) -// + student.getRating() -// + student.getName()) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .map(student -> + (student.getExams().stream().mapToDouble(Exam::getScore).sum()) + + student.getRating() + + student.getName()) + .collect(Collectors.toList()); + } public StudentRepository getStudentRepository() { From 50d26c06027d22575a2ea2c17c1eb11933ab8934 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:20:51 +0200 Subject: [PATCH 07/16] task 3 done --- .../com/kpi/fict/DefaultStudentService.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 8ea2ef0..aee026a 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -35,7 +35,25 @@ public List findStudentsWhoTakeEngExamWith11RatingOrMore() { @Override public List findTwoStudentsWithMaxEngRating() { - throw new UnsupportedOperationException("Need to make implementation"); + + List engRating = studentRepository.findAll() + .stream() + .flatMap(student -> student.getExams().stream()) + .filter(exam -> exam.getType() == Exam.Type.ENGLISH) + .mapToDouble(Exam::getScore) + .sorted() + .boxed() + .collect(Collectors.toList()); + return studentRepository.findAll() + .stream() + .filter(student -> student.getExams().stream() + .anyMatch(exam -> + (exam.getScore() == engRating.get(1)) + ||(exam.getScore() == engRating.get(2)) + ) + ) + .collect(Collectors.toList()); + } @Override From 39120dc6239ebaddf8ec9dca88460fb54f56df99 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:32:21 +0200 Subject: [PATCH 08/16] task 3 done 2 --- src/main/java/com/kpi/fict/DefaultStudentService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index aee026a..6e1d574 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -27,12 +27,13 @@ public List findStudentsWithoutExams() { public List findStudentsWhoTakeEngExamWith11RatingOrMore() { return studentRepository.findAll() .stream() - .filter( student -> (student.getExams().stream() - .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) + .filter(student -> (student.getExams().stream() + .filter(exam -> exam.getType() == Exam.Type.ENGLISH) + .findAny() + .isPresent()) && (student.getRating() >= 11)) .collect(Collectors.toList()); } - @Override public List findTwoStudentsWithMaxEngRating() { From 6786b58845fbd65b88f62ec34049d4131aae7fee Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:34:36 +0200 Subject: [PATCH 09/16] check task 4 --- .../com/kpi/fict/DefaultStudentService.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 6e1d574..c51b83b 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -59,19 +59,20 @@ public List findTwoStudentsWithMaxEngRating() { @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { - return studentRepository.findAll() - .stream() - .filter( student -> - (student.getExams() - .stream() - .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) - && (exam.getScore() >= 180))) - && (student.getExams() - .stream() - .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) - && (exam.getScore() >= 180))) - ) - .collect(Collectors.toList()); +// return studentRepository.findAll() +// .stream() +// .filter( student -> +// (student.getExams() +// .stream() +// .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) +// && (exam.getScore() >= 180))) +// && (student.getExams() +// .stream() +// .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) +// && (exam.getScore() >= 180))) +// ) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } //Delimiter: ',' From 4d4284ee0bb19645f79cf16ecdb14067e74948c0 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:37:37 +0200 Subject: [PATCH 10/16] task 4 redone --- .../com/kpi/fict/DefaultStudentService.java | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index c51b83b..3f31d91 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -28,9 +28,7 @@ public List findStudentsWhoTakeEngExamWith11RatingOrMore() { return studentRepository.findAll() .stream() .filter(student -> (student.getExams().stream() - .filter(exam -> exam.getType() == Exam.Type.ENGLISH) - .findAny() - .isPresent()) + .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) && (student.getRating() >= 11)) .collect(Collectors.toList()); } @@ -59,20 +57,21 @@ public List findTwoStudentsWithMaxEngRating() { @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { -// return studentRepository.findAll() -// .stream() -// .filter( student -> -// (student.getExams() -// .stream() -// .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) -// && (exam.getScore() >= 180))) -// && (student.getExams() -// .stream() -// .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) -// && (exam.getScore() >= 180))) -// ) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .filter( student -> + (student.getExams() + .stream() + .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) + && (exam.getScore() >= 180))) + ) + .filter(student -> + (student.getExams() + .stream() + .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) + && (exam.getScore() >= 180)))) + .collect(Collectors.toList()); +// throw new UnsupportedOperationException("Need to make implementation"); } //Delimiter: ',' From a8baf6075a58dd6351991cd2281470242544a6e7 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:40:17 +0200 Subject: [PATCH 11/16] task 4 redone 2 --- .../com/kpi/fict/DefaultStudentService.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 3f31d91..4307e8e 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -57,19 +57,15 @@ public List findTwoStudentsWithMaxEngRating() { @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { - return studentRepository.findAll() - .stream() - .filter( student -> - (student.getExams() - .stream() - .anyMatch(exam -> (exam.getType() == Exam.Type.ENGLISH) - && (exam.getScore() >= 180))) - ) - .filter(student -> - (student.getExams() - .stream() - .anyMatch(exam -> (exam.getType() == Exam.Type.MATH) - && (exam.getScore() >= 180)))) + return studentRepository.findAll().stream() + .filter(student -> student + .getExams() + .stream() + .anyMatch(exam -> exam.getType().equals(Exam.Type.MATH) && exam.getScore() >= 180)) + .filter(student -> student + .getExams() + .stream() + .anyMatch(exam -> exam.getType().equals(Exam.Type.ENGLISH) && exam.getScore() >= 180)) .collect(Collectors.toList()); // throw new UnsupportedOperationException("Need to make implementation"); } From 10652b69bb6b1f811477c27379197c9c4841206e Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:41:53 +0200 Subject: [PATCH 12/16] fuck --- .../com/kpi/fict/DefaultStudentService.java | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 4307e8e..b372975 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -25,12 +25,13 @@ public List findStudentsWithoutExams() { @Override public List findStudentsWhoTakeEngExamWith11RatingOrMore() { - return studentRepository.findAll() - .stream() - .filter(student -> (student.getExams().stream() - .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) - && (student.getRating() >= 11)) - .collect(Collectors.toList()); +// return studentRepository.findAll() +// .stream() +// .filter(student -> (student.getExams().stream() +// .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) +// && (student.getRating() >= 11)) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } @Override public List findTwoStudentsWithMaxEngRating() { @@ -57,17 +58,17 @@ public List findTwoStudentsWithMaxEngRating() { @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { - return studentRepository.findAll().stream() - .filter(student -> student - .getExams() - .stream() - .anyMatch(exam -> exam.getType().equals(Exam.Type.MATH) && exam.getScore() >= 180)) - .filter(student -> student - .getExams() - .stream() - .anyMatch(exam -> exam.getType().equals(Exam.Type.ENGLISH) && exam.getScore() >= 180)) - .collect(Collectors.toList()); -// throw new UnsupportedOperationException("Need to make implementation"); +// return studentRepository.findAll().stream() +// .filter(student -> student +// .getExams() +// .stream() +// .anyMatch(exam -> exam.getType().equals(Exam.Type.MATH) && exam.getScore() >= 180)) +// .filter(student -> student +// .getExams() +// .stream() +// .anyMatch(exam -> exam.getType().equals(Exam.Type.ENGLISH) && exam.getScore() >= 180)) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } //Delimiter: ',' From 90db47ac79ca6f0343b7044fc89ee3a5dbb7597a Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:43:12 +0200 Subject: [PATCH 13/16] fuck 2 --- .../com/kpi/fict/DefaultStudentService.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index b372975..177f636 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -36,24 +36,24 @@ public List findStudentsWhoTakeEngExamWith11RatingOrMore() { @Override public List findTwoStudentsWithMaxEngRating() { - List engRating = studentRepository.findAll() - .stream() - .flatMap(student -> student.getExams().stream()) - .filter(exam -> exam.getType() == Exam.Type.ENGLISH) - .mapToDouble(Exam::getScore) - .sorted() - .boxed() - .collect(Collectors.toList()); - return studentRepository.findAll() - .stream() - .filter(student -> student.getExams().stream() - .anyMatch(exam -> - (exam.getScore() == engRating.get(1)) - ||(exam.getScore() == engRating.get(2)) - ) - ) - .collect(Collectors.toList()); - +// List engRating = studentRepository.findAll() +// .stream() +// .flatMap(student -> student.getExams().stream()) +// .filter(exam -> exam.getType() == Exam.Type.ENGLISH) +// .mapToDouble(Exam::getScore) +// .sorted() +// .boxed() +// .collect(Collectors.toList()); +// return studentRepository.findAll() +// .stream() +// .filter(student -> student.getExams().stream() +// .anyMatch(exam -> +// (exam.getScore() == engRating.get(1)) +// ||(exam.getScore() == engRating.get(2)) +// ) +// ) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } @Override From 390ff8e2ee538abfdeb116e7bf6ab9562caf31c1 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:44:13 +0200 Subject: [PATCH 14/16] fuck 3 --- .../java/com/kpi/fict/DefaultStudentService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 177f636..52e44ed 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -74,13 +74,14 @@ public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { //Delimiter: ',' @Override public List getExamSumAndRatingForEachStudent() { - return studentRepository.findAll() - .stream() - .map(student -> - (student.getExams().stream().mapToDouble(Exam::getScore).sum()) - + student.getRating() - + student.getName()) - .collect(Collectors.toList()); +// return studentRepository.findAll() +// .stream() +// .map(student -> +// (student.getExams().stream().mapToDouble(Exam::getScore).sum()) +// + student.getRating() +// + student.getName()) +// .collect(Collectors.toList()); + throw new UnsupportedOperationException("Need to make implementation"); } From e48efbccdc3b433014f143d14bcd200a820ade22 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:45:19 +0200 Subject: [PATCH 15/16] fuck 4 --- .../com/kpi/fict/DefaultStudentService.java | 71 +++++++++---------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 52e44ed..379030e 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -25,50 +25,49 @@ public List findStudentsWithoutExams() { @Override public List findStudentsWhoTakeEngExamWith11RatingOrMore() { -// return studentRepository.findAll() -// .stream() -// .filter(student -> (student.getExams().stream() -// .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) -// && (student.getRating() >= 11)) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .filter(student -> (student.getExams().stream() + .anyMatch(exam -> exam.getType() == Exam.Type.ENGLISH)) + && (student.getRating() >= 11)) + .collect(Collectors.toList()); } @Override public List findTwoStudentsWithMaxEngRating() { -// List engRating = studentRepository.findAll() -// .stream() -// .flatMap(student -> student.getExams().stream()) -// .filter(exam -> exam.getType() == Exam.Type.ENGLISH) -// .mapToDouble(Exam::getScore) -// .sorted() -// .boxed() -// .collect(Collectors.toList()); -// return studentRepository.findAll() -// .stream() -// .filter(student -> student.getExams().stream() -// .anyMatch(exam -> -// (exam.getScore() == engRating.get(1)) -// ||(exam.getScore() == engRating.get(2)) -// ) -// ) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + List engRating = studentRepository.findAll() + .stream() + .flatMap(student -> student.getExams().stream()) + .filter(exam -> exam.getType() == Exam.Type.ENGLISH) + .mapToDouble(Exam::getScore) + .sorted() + .boxed() + .collect(Collectors.toList()); + return studentRepository.findAll() + .stream() + .filter(student -> student.getExams().stream() + .anyMatch(exam -> + (exam.getScore() == engRating.get(1)) + ||(exam.getScore() == engRating.get(2)) + ) + ) + .collect(Collectors.toList()); + } @Override public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { -// return studentRepository.findAll().stream() -// .filter(student -> student -// .getExams() -// .stream() -// .anyMatch(exam -> exam.getType().equals(Exam.Type.MATH) && exam.getScore() >= 180)) -// .filter(student -> student -// .getExams() -// .stream() -// .anyMatch(exam -> exam.getType().equals(Exam.Type.ENGLISH) && exam.getScore() >= 180)) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll().stream() + .filter(student -> student + .getExams() + .stream() + .anyMatch(exam -> exam.getType().equals(Exam.Type.MATH) && exam.getScore() >= 180)) + .filter(student -> student + .getExams() + .stream() + .anyMatch(exam -> exam.getType().equals(Exam.Type.ENGLISH) && exam.getScore() >= 180)) + .collect(Collectors.toList()); + } //Delimiter: ',' From 1b9e54dcef9cced75bd0bee1aed4743a9546a022 Mon Sep 17 00:00:00 2001 From: noirhead Date: Fri, 6 Dec 2019 09:47:48 +0200 Subject: [PATCH 16/16] NEVER FUCK --- .../com/kpi/fict/DefaultStudentService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/kpi/fict/DefaultStudentService.java b/src/main/java/com/kpi/fict/DefaultStudentService.java index 379030e..2750233 100644 --- a/src/main/java/com/kpi/fict/DefaultStudentService.java +++ b/src/main/java/com/kpi/fict/DefaultStudentService.java @@ -73,14 +73,16 @@ public List findStudentsWhoTakeMathEngExamWith180RatingOrMore() { //Delimiter: ',' @Override public List getExamSumAndRatingForEachStudent() { -// return studentRepository.findAll() -// .stream() -// .map(student -> -// (student.getExams().stream().mapToDouble(Exam::getScore).sum()) -// + student.getRating() -// + student.getName()) -// .collect(Collectors.toList()); - throw new UnsupportedOperationException("Need to make implementation"); + return studentRepository.findAll() + .stream() + .map(student -> + String.join( + ",", + student.getExams().stream().map(Exam::getScore).reduce(0.0, Double::sum).toString(), + Double.toString(student.getRating()), + student.getName() + ) + ).collect(Collectors.toList()); }