You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2016/04/26 17:02:59 UTC

[35/50] [abbrv] usergrid git commit: Add receipts property to the notification entity so it gets persisted.

Add receipts property to the notification entity so it gets persisted.


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8dce5ed8
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8dce5ed8
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8dce5ed8

Branch: refs/heads/asf-site
Commit: 8dce5ed8c26a27cd991375803327407f12efc3ca
Parents: 226cb62
Author: Michael Russo <mr...@apigee.com>
Authored: Fri Apr 15 01:00:58 2016 +0200
Committer: Michael Russo <mr...@apigee.com>
Committed: Fri Apr 15 01:00:58 2016 +0200

----------------------------------------------------------------------
 .../persistence/entities/Notification.java      | 13 +++++++++
 .../notifications/NotificationsService.java     |  2 ++
 .../impl/ApplicationQueueManagerImpl.java       | 30 ++++++--------------
 3 files changed, 24 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/8dce5ed8/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 1350593..6a6e3fa 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
@@ -93,6 +93,10 @@ public class Notification extends TypedEntity {
     @EntityProperty
     protected String errorMessage;
 
+    /** Flag to disable the creation, saving, connecting of receipt entities for a notification.  */
+    @EntityProperty
+    protected boolean saveReceipts;
+
     @EntityCollection(type = "receipt")
     protected List<UUID> receipts;
 
@@ -178,6 +182,15 @@ public class Notification extends TypedEntity {
     }
 
     @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+    public boolean getSaveReceipts() {
+        return saveReceipts;
+    }
+
+    public void setSaveReceipts(boolean saveReceipts) {
+        this.saveReceipts = saveReceipts;
+    }
+
+    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
     public boolean getDebug() {
         return debug;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8dce5ed8/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index bbdec7a..824089a 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -139,6 +139,8 @@ public class NotificationsService extends AbstractCollectionService {
         try {
             validate(null, context.getPayload());
             Notification.PathTokens pathTokens = getPathTokens(context.getRequest().getOriginalParameters());
+            context.getProperties().put("saveReceipts", true); // default saving of receipts
+            context.getProperties().put("processingFinished", 0L); // defaulting processing finished to 0
             context.getProperties().put("state", Notification.State.CREATED);
             context.getProperties().put("pathQuery", pathTokens);
             context.setOwner(sm.getApplication());

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8dce5ed8/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 8b908ee..faa9a02 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -329,33 +329,21 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                     String notifierName = message.getNotifierKey().toLowerCase();
                     ProviderAdapter providerAdapter = notifierMap.get(notifierName.toLowerCase());
                     Object payload = translatedPayloads.get(notifierName);
-                    Map dynamicNotificationProperties =notification.getDynamicProperties();
-                    //do additional error checking to make sure other values will work.
-                    Boolean receiptsField = true;
-
-                    Object typelessReceiptsField = dynamicNotificationProperties.getOrDefault( "receipts",true );
-                    if(typelessReceiptsField instanceof Boolean) {
-                        receiptsField = ( boolean ) typelessReceiptsField;
-                    }
-                    else if(typelessReceiptsField instanceof String){
-                        String booleanString = ( String ) typelessReceiptsField;
-                        if(booleanString.toLowerCase().equals( "false" )){
-                            receiptsField=false;
-                        }
-                    }
 
                     TaskTracker tracker = null;
-                    if(receiptsField==false){
-//                        Receipt receipt =
-//                            new Receipt( notification.getUuid(), message.getNotifierId(), payload, deviceUUID );
+
+                    if(notification.getSaveReceipts()){
+
+                        final Receipt receipt =
+                            new Receipt( notification.getUuid(), message.getNotifierId(), payload, deviceUUID );
                         tracker =
-                            new TaskTracker( providerAdapter.getNotifier(), taskManager, null, deviceUUID );
+                            new TaskTracker( providerAdapter.getNotifier(), taskManager, receipt, deviceUUID );
+
                     }
                     else {
-                        Receipt receipt =
-                            new Receipt( notification.getUuid(), message.getNotifierId(), payload, deviceUUID );
+
                         tracker =
-                            new TaskTracker( providerAdapter.getNotifier(), taskManager, receipt, deviceUUID );
+                            new TaskTracker( providerAdapter.getNotifier(), taskManager, null, deviceUUID );
                     }
                     if (!isOkToSend(notification)) {
                         tracker.failed(0, "Notification is duplicate/expired/cancelled.");