Skip to content

Commit 60d8647

Browse files
triceorsynek
authored andcommitted
chore: address Sonar C-rating
1 parent 86d58e6 commit 60d8647

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

core/core-impl/src/main/java/ai/timefold/solver/core/impl/solver/FitProcessor.java

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,21 @@ public List<RecommendedFit<Out_, Score_>> apply(InnerScoreDirector<Solution_, Sc
5050
entityPlacer.stepStarted(stepScope);
5151

5252
try (scoreDirector) {
53-
for (var placement : entityPlacer) {
54-
var recommendedFitList = new ArrayList<RecommendedFit<Out_, Score_>>();
55-
var moveIndex = 0L;
56-
for (var move : placement) {
57-
recommendedFitList.add(execute(scoreDirector, move, moveIndex, clonedElement, valueResultFunction));
58-
moveIndex++;
59-
}
60-
recommendedFitList.sort(null);
61-
return recommendedFitList;
53+
var placementIterator = entityPlacer.iterator();
54+
if (!placementIterator.hasNext()) {
55+
throw new IllegalStateException("""
56+
Impossible state: entity placer (%s) has no placements.
57+
""".formatted(entityPlacer));
6258
}
63-
throw new IllegalStateException("""
64-
Impossible state: entity placer (%s) has no placements.
65-
""".formatted(entityPlacer));
59+
var placement = placementIterator.next();
60+
var recommendedFitList = new ArrayList<RecommendedFit<Out_, Score_>>();
61+
var moveIndex = 0L;
62+
for (var move : placement) {
63+
recommendedFitList.add(execute(scoreDirector, move, moveIndex, clonedElement, valueResultFunction));
64+
moveIndex++;
65+
}
66+
recommendedFitList.sort(null);
67+
return recommendedFitList;
6668
} finally {
6769
entityPlacer.stepEnded(stepScope);
6870
entityPlacer.phaseEnded(phaseScope);

0 commit comments

Comments
 (0)