diff --git a/README.md b/README.md index 80633eb..1b8f9cd 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ repositories { com.scaledrone scaledrone-java - 0.6.0 + 0.7.0 pom ``` @@ -32,7 +32,7 @@ repositories { ### Gradle ``` -compile 'com.scaledrone:scaledrone-java:0.6.0' +compile 'com.scaledrone:scaledrone-java:0.7.0' ``` ## Android @@ -289,6 +289,7 @@ This likely means that your Java doesn't support Let's Encrypt Certificates. Upg ## Changelog +* `0.7.0` - Fixed parsing 'id' field from JSON message. * `0.6.0` - Added message history features. Created a `Message` class that wraps the sent data, member as well as new properties such as message ID, timestamp and clientID. * `0.5.0` - Add up `close()` method. * `0.4.0` - Hook up `onFailure` listener. This can be used for reconnecting. diff --git a/build.gradle b/build.gradle index 83741b6..eef767e 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,6 @@ allprojects { } subprojects { - version = '0.6.0' + version = '0.7.0' description = """Scaledrone Java client library""" } diff --git a/java/src/main/java/com/scaledrone/lib/Message.java b/java/src/main/java/com/scaledrone/lib/Message.java index 1197e41..8162447 100644 --- a/java/src/main/java/com/scaledrone/lib/Message.java +++ b/java/src/main/java/com/scaledrone/lib/Message.java @@ -36,4 +36,15 @@ public String getClientID() { public Member getMember() { return member; } + + @Override + public String toString() { + return "Message{" + + "ID='" + ID + '\'' + + ", data=" + data + + ", timestamp=" + timestamp + + ", clientID='" + clientID + '\'' + + ", member=" + member + + '}'; + } } diff --git a/java/src/main/java/com/scaledrone/lib/messagetypes/GenericCallback.java b/java/src/main/java/com/scaledrone/lib/messagetypes/GenericCallback.java index 6ee6773..7c2125c 100644 --- a/java/src/main/java/com/scaledrone/lib/messagetypes/GenericCallback.java +++ b/java/src/main/java/com/scaledrone/lib/messagetypes/GenericCallback.java @@ -12,6 +12,7 @@ public class GenericCallback { private String error; // message specific fields + @JsonProperty("id") private String ID; // message ID private long timestamp; // unix timestamp of when the message was sent @JsonProperty("client_id") @@ -67,10 +68,13 @@ public String toString() { "type='" + type + '\'' + ", callback=" + callback + ", error='" + error + '\'' + + ", ID='" + ID + '\'' + + ", timestamp=" + timestamp + ", clientID='" + clientID + '\'' + ", room='" + room + '\'' + ", message=" + message + ", data=" + data + + ", index=" + index + '}'; } } \ No newline at end of file diff --git a/java/src/test/java/com/scaledrone/lib/HistoryTest.java b/java/src/test/java/com/scaledrone/lib/HistoryTest.java index b1e0b47..5137657 100644 --- a/java/src/test/java/com/scaledrone/lib/HistoryTest.java +++ b/java/src/test/java/com/scaledrone/lib/HistoryTest.java @@ -45,6 +45,9 @@ public void onMessage(Room room, Message message) { room.listenToHistoryEvents(new HistoryRoomListener() { @Override public void onHistoryMessage(Room room, Message message) { + waiter.assertEquals(drone.getClientID(), message.getClientID()); + waiter.assertTrue(message.getID().length() > 0); + waiter.assertTrue(message.getTimestamp() > 0); waiter.assertEquals(messages.get(0), message.getData().asText()); messages.remove(0); if (messages.isEmpty()) {