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.");