mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-14 08:58:26 +00:00
[Scheduler] (Fix) SonarLint issues
This commit is contained in:
@@ -24,7 +24,7 @@ public class Simulator implements PropertyChangeListener {
|
||||
* Simulate scheduler schedule tasks, then return a LinkedHashMap present the completed order of
|
||||
* tasks, which map task id to the time it completed.
|
||||
*/
|
||||
public LinkedHashMap<Integer, Integer> simulate() {
|
||||
public Map<Integer, Integer> simulate() {
|
||||
while (elapsedTime < simulateTime) {
|
||||
if (tasks.containsKey(elapsedTime)) {
|
||||
for (Task task : tasks.get(elapsedTime)) {
|
||||
|
||||
@@ -3,10 +3,12 @@ package com.iluwatar.scheduler;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/** Task that need to be scheduled. */
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class Task {
|
||||
public static final String COMPLETE_PROPERTY = "complete";
|
||||
private final PropertyChangeSupport support = new PropertyChangeSupport(this);
|
||||
@@ -46,7 +48,7 @@ public class Task {
|
||||
}
|
||||
|
||||
private void logTaskProgress() {
|
||||
System.out.printf("Task %d is %d/%d complete\n", id, elapsedTime, totalExecutionTime);
|
||||
LOGGER.info("Task {} is {}/{} complete\n", id, elapsedTime, totalExecutionTime);
|
||||
}
|
||||
|
||||
public int getRemainingTime() {
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ class FirstComeFirstServedSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new FirstComeFirstServedScheduler(), tasks, 1, 100);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(3, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(1, 2, 3), taskCompletedOrder.keySet());
|
||||
@@ -36,7 +36,7 @@ class FirstComeFirstServedSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new FirstComeFirstServedScheduler(), tasks, 1, 100);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(5, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(1, 2, 3, 4, 5), taskCompletedOrder.keySet());
|
||||
|
||||
@@ -16,7 +16,7 @@ class PrioritySchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new PriorityScheduler(), tasks, 1, 10);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(3, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(2, 3, 1), taskCompletedOrder.keySet());
|
||||
@@ -36,7 +36,7 @@ class PrioritySchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new PriorityScheduler(), tasks, 1, 100);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(5, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(3, 1, 4, 5, 2), taskCompletedOrder.keySet());
|
||||
|
||||
@@ -13,7 +13,7 @@ class RoundRobinSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new RoundRobinScheduler(), tasks, 1, 10);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
assertEquals(3, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(2, 1, 3), taskCompletedOrder.keySet());
|
||||
assertEquals(5, taskCompletedOrder.get(2));
|
||||
@@ -32,7 +32,7 @@ class RoundRobinSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new RoundRobinScheduler(), tasks, 1, 100);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(5, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(1, 2, 3, 5, 4), taskCompletedOrder.keySet());
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ class ShortestRemainingTimeFirstSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new ShortestRemainingTimeFirstScheduler(), tasks, 1, 10);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
assertEquals(3, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(2, 1, 3), taskCompletedOrder.keySet());
|
||||
}
|
||||
@@ -32,7 +32,7 @@ class ShortestRemainingTimeFirstSchedulerTest {
|
||||
|
||||
Simulator simulator = new Simulator(new ShortestRemainingTimeFirstScheduler(), tasks, 1, 100);
|
||||
|
||||
LinkedHashMap<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
Map<Integer, Integer> taskCompletedOrder = simulator.simulate();
|
||||
|
||||
assertEquals(5, taskCompletedOrder.size());
|
||||
assertIterableEquals(List.of(1, 2, 3, 5, 4), taskCompletedOrder.keySet());
|
||||
|
||||
Reference in New Issue
Block a user