@@ -0,0 +1,1353 @@
+package ai.vespa.hosted.api;%0A%0Aimport java.time.Instant;%0Aimport java.util.List;%0A%0Aimport static java.util.Comparator.comparing;%0Aimport static java.util.stream.Collectors.toUnmodifiableList;%0A%0A/**%0A * A list of %7B@link Entry%7D items from a deployment job.%0A *%0A * @author jonmv%0A */%0Apublic class DeploymentLog %7B%0A%0A    private final List%3CEntry%3E entries;%0A    private final boolean active;%0A    private final long last;%0A%0A    public DeploymentLog(List%3CEntry%3E entries, boolean active, long last) %7B%0A        this.entries = entries.stream().sorted(comparing(Entry::at)).collect(toUnmodifiableList());%0A        this.active = active;%0A        this.last = last;%0A    %7D%0A%0A    public List%3CEntry%3E entries() %7B%0A        return entries;%0A    %7D%0A%0A    public boolean isActive() %7B%0A        return active;%0A    %7D%0A%0A    public long last() %7B%0A        return last;%0A    %7D%0A%0A%0A    public static class Entry %7B%0A%0A        private final Instant at;%0A        private final String level;%0A        private final String message;%0A%0A        public Entry(Instant at, String level, String message) %7B%0A            this.at = at;%0A            this.level = level;%0A            this.message = message;%0A        %7D%0A%0A        public Instant at() %7B%0A            return at;%0A        %7D%0A%0A        public String level() %7B%0A            return level;%0A        %7D%0A%0A        public String message() %7B%0A            return message;%0A        %7D%0A%0A    %7D%0A%0A%7D%0A

Add the darned class