use of org.eyeseetea.malariacare.domain.exception.ConvertedEventsToPushNotFoundException in project pictureapp by EyeSeeTea.
the class PushDhisSDKDataSource method pushEvents.
private void pushEvents(final IDataSourceCallback<Map<String, PushReport>> callback) {
final Set<String> eventUids = getEventUidToBePushed();
if (eventUids.isEmpty() || eventUids.size() == 0) {
callback.onError(new ConvertedEventsToPushNotFoundException());
return;
}
Observable<Map<String, ImportSummary>> eventObserver = D2.events().push(eventUids);
eventObserver.subscribeOn(Schedulers.io()).observeOn(Schedulers.io()).subscribe(new Action1<Map<String, ImportSummary>>() {
@Override
public void call(Map<String, ImportSummary> mapEventsImportSummary) {
if (mapEventsImportSummary == null) {
callback.onError(new PushReportException("Error during push"));
return;
}
Log.d(TAG, "Push of events finish. Number of events: " + mapEventsImportSummary.size());
try {
callback.onSuccess(PushReportMapper.mapFromImportSummariesToPushReports(mapEventsImportSummary));
} catch (NullPointerException e) {
callback.onError(new PushReportException(e));
}
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
callback.onError(new PushDhisException(throwable));
}
});
}
use of org.eyeseetea.malariacare.domain.exception.ConvertedEventsToPushNotFoundException in project pictureapp by EyeSeeTea.
the class PushController method push.
public void push(final IPushControllerCallback callback) {
if (!ServerAPIController.isNetworkAvailable()) {
Log.d(TAG, "No network");
callback.onError(new NetworkException());
} else {
Log.d(TAG, "Network connected");
List<Survey> surveys = Survey.getAllCompletedSurveysNoReceiptReset();
Boolean isUserClosed = false;
User loggedUser = User.getLoggedUser();
if (loggedUser != null && loggedUser.getUid() != null) {
try {
isUserClosed = ServerAPIController.isUserClosed(User.getLoggedUser().getUid());
} catch (ApiCallException e) {
isUserClosed = null;
}
}
if (isUserClosed == null) {
callback.onError(new ApiCallException("The user api call returns a exception"));
return;
}
if (isUserClosed) {
Log.d(TAG, "The user is closed, Surveys not sent");
callback.onError(new ClosedUserPushException());
} else {
if (surveys == null || surveys.size() == 0) {
callback.onError(new SurveysToPushNotFoundException("Null surveys"));
return;
}
Log.d(TAG, "wipe events");
mPushDhisSDKDataSource.wipeEvents();
try {
Log.d(TAG, "convert surveys to sdk");
convertToSDK(surveys);
} catch (Exception ex) {
callback.onError(new ConversionException(ex));
return;
}
if (EventExtended.getAllEvents().size() == 0) {
callback.onError(new ConvertedEventsToPushNotFoundException());
return;
} else {
Log.d(TAG, "push data");
pushData(callback);
}
}
}
}
Aggregations