diff --git a/src/com/sheepit/client/Client.java b/src/com/sheepit/client/Client.java index 2c2adbd..1bd6450 100644 --- a/src/com/sheepit/client/Client.java +++ b/src/com/sheepit/client/Client.java @@ -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 logs = this.log.getForCheckPoint(step_); - for (String line : logs) { - writer.write(line.getBytes()); - writer.write('\n'); + Optional> logs = this.log.getForCheckPoint(step_); + if (logs.isPresent()) { + for (String line : logs.get()) { + writer.write(line.getBytes()); + writer.write('\n'); + } } writer.close(); diff --git a/src/com/sheepit/client/Log.java b/src/com/sheepit/client/Log.java index 6ef8d58..024b893 100644 --- a/src/com/sheepit/client/Log.java +++ b/src/com/sheepit/client/Log.java @@ -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 getForCheckPoint(int point_) { - return this.checkpoints.get(point_); + public Optional> 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 logs = log.getForCheckPoint(point_); - for (String alog : logs) { - System.out.println(alog); + Optional> logs = log.getForCheckPoint(point_); + if (logs.isPresent()) { + for (String alog : logs.get()) { + System.out.println(alog); + } } } }