View Javadoc

1   package eu.ehri.project.importers.ead;
2   
3   import com.fasterxml.jackson.annotation.JsonCreator;
4   import com.fasterxml.jackson.annotation.JsonProperty;
5   import com.fasterxml.jackson.annotation.JsonValue;
6   import com.google.common.collect.ImmutableMap;
7   import eu.ehri.project.importers.ImportLog;
8   
9   import java.util.Map;
10  import java.util.Set;
11  
12  public class SyncLog {
13      private final ImportLog log;
14      private final Set<String> deleted;
15      private final Map<String, String> moved;
16      private final Set<String> created;
17  
18      @JsonCreator
19      public SyncLog(
20              @JsonProperty("log") ImportLog log,
21              @JsonProperty("created") Set<String> created, @JsonProperty("deleted") Set<String> deleted,
22              @JsonProperty("moved") Map<String, String> moved) {
23          this.log = log;
24          this.deleted = deleted;
25          this.moved = moved;
26          this.created = created;
27      }
28  
29      @JsonValue
30      public Map<String, Object> getData() {
31          return ImmutableMap.of(
32              "log", log,
33              "created", created,
34              "deleted", deleted,
35              "moved", moved
36          );
37      }
38  
39      public ImportLog log() {
40          return log;
41      }
42  
43  
44      public Set<String> deleted() {
45          return deleted;
46      }
47  
48  
49      public Set<String> created() {
50          return created;
51      }
52  
53  
54      public Map<String, String> moved() {
55          return moved;
56      }
57  
58      @Override
59      public String toString() {
60          return String.format("%s, Moved: %d", log.toString(), moved.size());
61      }
62  }