package org.ektorp; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; /** * * Replication response doc is not very well documented in the CouchDB reference... * * @author henrik lundgren * */ public class ReplicationStatus extends Status implements Serializable { private static final long serialVersionUID = 6617269292660336903L; @JsonProperty("no_changes") boolean noChanges; @JsonProperty("session_id") String sessionId; @JsonProperty("_local_id") String id; @JsonProperty("source_last_seq") @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="SE_BAD_FIELD") JsonNode sourceLastSequence; @JsonProperty("history") @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="SE_BAD_FIELD") List<History> history; public boolean isNoChanges() { return noChanges; } public String getSessionId() { return sessionId; } public String getId() { return id; } public String getSourceLastSequence() { return sourceLastSequence != null ? sourceLastSequence.asText() : null; } public JsonNode getSourceLastSequenceAsNode() { return sourceLastSequence; } public List<History> getHistory() { return history; } public static class History { private Map<String, Object> unknownFields; @JsonProperty("session_id") String sessionId; @JsonProperty("start_time") String startTime; @JsonProperty("end_time") String endTime; @JsonProperty("start_last_seq") JsonNode startLastSeq; @JsonProperty("end_last_seq") JsonNode endLastSeq; @JsonProperty("missing_checked") int missingChecked; @JsonProperty("missing_found") int missingFound; @JsonProperty("docs_read") int docsRead; @JsonProperty("docs_written") int docsWritten; @JsonProperty("doc_write_failures") int docWriteFailures; @JsonProperty("recorded_seq") JsonNode recordedSeq; public String getRecordedSeq() { return recordedSeq != null ? recordedSeq.asText() : null; } public String getSessionId() { return sessionId; } public String getStartTime() { return startTime; } public String getEndTime() { return endTime; } public String getStartLastSeq() { return startLastSeq != null ? startLastSeq.asText() : null; } public JsonNode getStartLastSeqAsNode() { return startLastSeq; } public String getEndLastSeq() { return endLastSeq != null ? endLastSeq.asText() : null; } public JsonNode getEndLastSeqAsNode() { return endLastSeq; } public int getMissingChecked() { return missingChecked; } public int getMissingFound() { return missingFound; } public int getDocsRead() { return docsRead; } public int getDocsWritten() { return docsWritten; } public int getDocWriteFailures() { return docWriteFailures; } private Map<String, Object> unknown() { if (unknownFields == null) { unknownFields = new HashMap<String, Object>(); } return unknownFields; } @JsonAnySetter public void setUnknown(String key, Object value) { unknown().put(key, value); } public Object getField(String key) { return unknown().get(key); } @Override public String toString() { return "Replication history: " + getSessionId() + ", " + getRecordedSeq(); } } }