Change 'expire' property for notifications to support milliseconds, matching the 'deliver' property.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ca32186e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ca32186e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ca32186e Branch: refs/heads/USERGRID-933 Commit: ca32186e9117fd51c56c4320cd816c1be381b79b Parents: 5680173 Author: Michael Russo <michaelaru...@gmail.com> Authored: Fri Sep 11 16:50:16 2015 -0700 Committer: Michael Russo <michaelaru...@gmail.com> Committed: Fri Sep 11 16:50:16 2015 -0700 ---------------------------------------------------------------------- .../apache/usergrid/persistence/entities/Notification.java | 7 +++---- .../usergrid/services/notifications/gcm/GCMAdapter.java | 2 +- .../services/notifications/apns/NotificationsServiceIT.java | 2 +- .../services/notifications/gcm/NotificationsServiceIT.java | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/ca32186e/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java ---------------------------------------------------------------------- diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java index d1101a5..362201a 100644 --- a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java +++ b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Notification.java @@ -147,7 +147,7 @@ public class Notification extends TypedEntity { @JsonIgnore public boolean isExpired() { - return expire != null && expire > System.currentTimeMillis(); + return expire != null && expire < System.currentTimeMillis(); } @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) @@ -232,13 +232,12 @@ public class Notification extends TypedEntity { @JsonIgnore public long getExpireTimeMillis() { - long expireAtMillis = getExpire() != null ? getExpire() * 1000 : 0; - return expireAtMillis; + return getExpire() != null ? getExpire() : 0; } @JsonIgnore public long getExpireTTLSeconds() { - Long ttlSeconds = (getExpireTimeMillis() - new Date().getTime()) / 1000; + long ttlSeconds = (getExpireTimeMillis() - System.currentTimeMillis()) / 1000; return ttlSeconds > 0 ? ttlSeconds : 0; } http://git-wip-us.apache.org/repos/asf/usergrid/blob/ca32186e/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java ---------------------------------------------------------------------- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java index df1b580..bdd7737 100644 --- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java +++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java @@ -71,7 +71,7 @@ public class GCMAdapter implements ProviderAdapter { final String expiresKey = "time_to_live"; if(!map.containsKey(expiresKey) && notification.getExpire() != null){ // ttl provided to GCM is in seconds. calculate the difference from now - Long ttlSeconds = notification.getExpireTTLSeconds(); + long ttlSeconds = notification.getExpireTTLSeconds(); // max ttl for gcm is 4 weeks - https://developers.google.com/cloud-messaging/http-server-ref ttlSeconds = ttlSeconds <= 2419200 ? ttlSeconds : 2419200; map.put(expiresKey, ttlSeconds); http://git-wip-us.apache.org/repos/asf/usergrid/blob/ca32186e/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java ---------------------------------------------------------------------- diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java index bd248a5..9c1bcbe 100644 --- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java +++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java @@ -153,7 +153,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT { app.put("payloads", payloads); app.put("queued", System.currentTimeMillis()); app.put("debug",true); - app.put("expire", (System.currentTimeMillis() / 1000) + 300); // add 5 minutes to current time + app.put("expire", System.currentTimeMillis() + 300000); // add 5 minutes to current time // post notification to service manager Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications").getEntity(); http://git-wip-us.apache.org/repos/asf/usergrid/blob/ca32186e/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java ---------------------------------------------------------------------- diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java index 38a6f2e..96653a5 100644 --- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java +++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java @@ -153,7 +153,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT { app.put("payloads", payloads); app.put("queued", System.currentTimeMillis()); app.put("debug",true); - app.put("expire", (System.currentTimeMillis() / 1000) + 300); // add 5 minutes to current time + app.put("expire", System.currentTimeMillis() + 300000); // add 5 minutes to current time Entity e = app.testRequest(ServiceAction.POST, 1, "devices",device1.getUuid(),"notifications").getEntity(); app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());