Fix: NullPointerException

This commit is contained in:
Laurent Clouet
2020-10-27 14:32:11 +01:00
parent 986fef0e79
commit cfa2acad8f
2 changed files with 15 additions and 9 deletions

View File

@@ -32,6 +32,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.Observable;
import java.util.Observer;
import java.util.Optional;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
@@ -637,10 +638,12 @@ import lombok.Data;
// Insert the info at the beginning of the error log
writer.write(logHeader.toString().getBytes());
ArrayList<String> logs = this.log.getForCheckPoint(step_);
for (String line : logs) {
writer.write(line.getBytes());
writer.write('\n');
Optional<ArrayList<String>> logs = this.log.getForCheckPoint(step_);
if (logs.isPresent()) {
for (String line : logs.get()) {
writer.write(line.getBytes());
writer.write('\n');
}
}
writer.close();

View File

@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
public class Log {
private static Log instance = null;
@@ -94,8 +95,8 @@ public class Log {
return this.lastCheckPoint;
}
public ArrayList<String> getForCheckPoint(int point_) {
return this.checkpoints.get(point_);
public Optional<ArrayList<String>> getForCheckPoint(int point_) {
return Optional.ofNullable(this.checkpoints.get(point_));
}
public void removeCheckPoint(int point_) {
@@ -119,9 +120,11 @@ public class Log {
public static synchronized void printCheckPoint(int point_) {
Log log = Log.getInstance(null);
ArrayList<String> logs = log.getForCheckPoint(point_);
for (String alog : logs) {
System.out.println(alog);
Optional<ArrayList<String>> logs = log.getForCheckPoint(point_);
if (logs.isPresent()) {
for (String alog : logs.get()) {
System.out.println(alog);
}
}
}
}