/** * @return */ @Override public void getAllLocalNotifications(NotificationStatus status, OperationCallback callback) { if (callback != null) { if (cloudLoadOperation != null) { JsonObject query = new JsonObject(); // query.addProperty("status", status); cloudLoadOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); } } }
/** * @return */ @Override public void getAllRemoteNotifications(NotificationStatus status, OperationCallback callback) { if (callback != null) { if (cloudLoadOperation == null) { JsonObject query = new JsonObject(); query.addProperty("page", 0); query.addProperty("pageSize", 5); cloudLoadOperation.doOperation(query, res -> callback.onSuccess(res)); return; } JsonObject query = new JsonObject(); cloudLoadOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); return; } }
/** * @{inheritedDoc} */ @Override public void getLocalElementsCount(int status, OperationCallback callback) { if (status < 0 || status > 2 || offlineCountOperation == null) { callback.onSuccess(IOperationResult.emptyPaginatedData()); return; } JsonObject query = new JsonObject(); if (status < 0) { query.addProperty("status", status); } else { query.addProperty("status", 0); } offlineCountOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); }
query.addProperty("notifications", local.toString()); query.addProperty("notifications", status); offlineUpdateStatusOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); query.addProperty("ids", ids.toString()); query.addProperty("status", status); cloudUpdateStatusOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError());
/** * @{inheritedDoc} */ @Override public void markAllReaden(OperationCallback callback) { if (callback != null) { if (markAllNotificationsReaden == null) { callback.onSuccess(IOperationResult.emptyPaginatedData()); return; } getCurrentUserOperation.doOperation(new JsonObject(), res -> { JsonObject query = new JsonObject(); query.addProperty("login", (String) ((OperationData) res.rootData()).getAttributes().get("login")); markAllNotificationsReaden.doOperation(query, callback.getOnSuccess(), callback.getOnError()); }); } }
/** * @{inheritedDoc} */ @Override public void getRemoteElementsCount(int status, OperationCallback callback) { if (status < 0 || status > 2 || cloudCountOperation == null) { callback.onSuccess(IOperationResult.emptyPaginatedData()); return; } getCurrentUserOperation.doOperation(new JsonObject(), res -> { OperationData data = (OperationData) res.rootData(); JsonObject query = new JsonObject(); String login = (String) data.getAttributes().get("login"); query.addProperty("login", login); // query.addProperty("status", status); cloudCountOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); }); }
/** * @{inheritedDoc} */ @Override public void deleteAll(OperationCallback callback) { if (callback != null) { if (deleteAllUserNotificationsOperation == null) { callback.onSuccess(IOperationResult.emptyPaginatedData()); return; } getCurrentUserOperation.doOperation(new JsonObject(), res -> { JsonObject query = new JsonObject(); query.addProperty("login", (String) ((OperationData) res.rootData()).getAttributes().get("login")); deleteAllUserNotificationsOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); }); } } }
offlineDeleteOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); cloudDeleteOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError());
/** * @{inheritedDoc} */ @Override public void create(INotification notification, OperationCallback callback) { // can only create local notifications if (notification.getType() == NotificationType.LOCAL) { if (offlineSaveOperation == null) { String message = "can.not.find.service"; callback.onError(new NullPointerException(message)); return; } try { String notif = JsonUtils.toString(notification); JsonObject query = new JsonObject(); query.addProperty("notification", notif); query.addProperty("date", DateUtils.dateString(notification.getCreationDate(), DateUtils.FILE_SAVE_FORMAT)); offlineSaveOperation.doOperation(query, callback.getOnSuccess(), callback.getOnError()); } catch (Exception e) { e.printStackTrace(); callback.onError(e); } } else { String message = "unsupported.notification.type"; callback.onError(new IllegalArgumentException(message)); } }