aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-05-24 16:40:54 +0200
committerTharre <tharre3@gmail.com>2018-05-24 16:40:54 +0200
commit498852f9dbf3f826b1c7c0124d2d7002cd774393 (patch)
tree81cf2d1c06f19586a41aa6758b065a16cdee097b /src/main/java/at/ac/tuwien
parent5d8ac8cb8d8426dcafac7b68def750d353d3caa6 (diff)
downloadsepm-groupproject-498852f9dbf3f826b1c7c0124d2d7002cd774393.tar.gz
sepm-groupproject-498852f9dbf3f826b1c7c0124d2d7002cd774393.tar.xz
sepm-groupproject-498852f9dbf3f826b1c7c0124d2d7002cd774393.zip
Fix compare exception with rankVehicle #25963
Diffstat (limited to 'src/main/java/at/ac/tuwien')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
index d91c90a..396d62c 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
@@ -15,6 +15,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
import java.lang.invoke.MethodHandles;
import java.time.Instant;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.List;
@@ -22,6 +23,7 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.function.Predicate;
+import java.util.function.Supplier;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -186,20 +188,22 @@ public class OperationServiceImpl implements OperationService {
break;
}
- return vehicles.stream()
- .sorted(
- (v1, v2) -> {
- for (Predicate<Vehicle> priority : priorities) {
- if (priority.test(v1)) {
- return -1;
- }
- if (priority.test(v2)) {
- return +1;
- }
- }
- return 0;
- })
- .collect(Collectors.toCollection(TreeSet::new));
+ Comparator<Vehicle> vehicleComparator =
+ (v1, v2) -> {
+ for (Predicate<Vehicle> priority : priorities) {
+ if (priority.test(v1)) {
+ return -1;
+ }
+ if (priority.test(v2)) {
+ return +1;
+ }
+ }
+ return 0;
+ };
+
+ Supplier<TreeSet<Vehicle>> supplier = () -> new TreeSet<>(vehicleComparator);
+
+ return vehicles.stream().collect(Collectors.toCollection(supplier));
}
@Override