private State deserializeState(JsonNode node) { State state = null; if (node.isTextual() && node.asText().equals("=")) { state = new UnchangedState(); } else if (node.isObject() && node.has("*")) { JsonNode subNode = node.get("*"); if (subNode.isObject() && subNode.has("from") && subNode.has("to")) { state = new ChangedState( subNode.get("from").asText(), subNode.get("to").asText() ); } } else if (node.isObject() && node.has("+")) { JsonNode subNode = node.get("+"); if (subNode.isTextual()) { state = new AddedState(subNode.asText()); } } return state; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof ChangedState)) { return false; } ChangedState that = (ChangedState) o; if (getFrom() != null ? !getFrom().equals(that.getFrom()) : that.getFrom() != null) { return false; } return getTo() != null ? getTo().equals(that.getTo()) : that.getTo() == null; }
private State deserializeState(JsonNode node) { State state = null; if (node.isTextual() && node.asText().equals("=")) { state = new UnchangedState(); } else if (node.isObject() && node.has("*")) { JsonNode subNode = node.get("*"); if (subNode.isObject() && subNode.has("from") && subNode.has("to")) { state = new ChangedState( subNode.get("from").asText(), subNode.get("to").asText() ); } } else if (node.isObject() && node.has("+")) { JsonNode subNode = node.get("+"); if (subNode.isTextual()) { state = new AddedState(subNode.asText()); } } return state; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof ChangedState)) { return false; } ChangedState that = (ChangedState) o; if (getFrom() != null ? !getFrom().equals(that.getFrom()) : that.getFrom() != null) { return false; } return getTo() != null ? getTo().equals(that.getTo()) : that.getTo() == null; }
new StateDiff.ChangedState("0x2067ee238a4648bed5797", "0x2067ee23f5d09db3d0397"), new StateDiff.UnchangedState(), new StateDiff.UnchangedState(), )); stateDiffMap.put("0x14772e4f805b4dd2e69bd6d3f9b5edf0dfa5385a", new StateDiff( new StateDiff.ChangedState("0xf85a746b58c1fee", "0xf7eeea1663c73ee"), new StateDiff.UnchangedState(), new StateDiff.ChangedState("0x15", "0x16"), new HashMap<>() ));