use of org.eyeseetea.malariacare.domain.exception.ApiCallException in project pictureapp by EyeSeeTea.
the class ServerApiUtils method getJSONObjectFromString.
protected static JSONObject getJSONObjectFromString(String readableBodyResponse) throws ApiCallException {
try {
JSONObject jsonResponse = new JSONObject(readableBodyResponse);
Log.i(TAG, "parseResponse: " + jsonResponse);
return jsonResponse;
} catch (JSONException e) {
throw new ApiCallException(e);
}
}
use of org.eyeseetea.malariacare.domain.exception.ApiCallException in project pictureapp by EyeSeeTea.
the class LoginUseCase method pullOrganisationCredentials.
private void pullOrganisationCredentials() {
Credentials orgUnitCredentials = null;
try {
OrganisationUnit orgUnit = mOrgUnitDataSource.getUserOrgUnit(insertedCredentials);
if (orgUnit == null) {
notifyInvalidCredentials();
return;
}
orgUnitCredentials = new Credentials(insertedCredentials.getServerURL(), orgUnit.getCode(), orgUnit.getPin());
} catch (ApiCallException e) {
if (e.getCause() instanceof IOException) {
notifyUnexpectedError();
} else {
e.printStackTrace();
notifyConfigJsonNotPresent();
}
} catch (NetworkException e) {
e.printStackTrace();
checkUserCredentialsWithOrgUnit(mCredentialsLocalDataSource.getOrganisationCredentials(), true);
}
mCredentialsLocalDataSource.saveOrganisationCredentials(orgUnitCredentials);
checkUserCredentialsWithOrgUnit(orgUnitCredentials, false);
}
use of org.eyeseetea.malariacare.domain.exception.ApiCallException in project pictureapp by EyeSeeTea.
the class APushServiceStrategy method executePush.
protected void executePush() {
PushController pushController = new PushController(mPushService);
IAsyncExecutor asyncExecutor = new AsyncExecutor();
IMainExecutor mainExecutor = new UIThreadExecutor();
ISurveyRepository surveyRepository = new SurveyLocalDataSource();
IOrganisationUnitRepository orgUnitRepository = new OrganisationUnitRepository();
SurveysThresholds surveysThresholds = new SurveysThresholds(BuildConfig.LimitSurveysCount, BuildConfig.LimitSurveysTimeHours);
PushUseCase pushUseCase = new PushUseCase(pushController, asyncExecutor, mainExecutor, surveysThresholds, surveyRepository, orgUnitRepository);
SurveyChecker.launchQuarantineChecker();
pushUseCase.execute(new PushUseCase.Callback() {
@Override
public void onComplete() {
Log.d(TAG, "PUSHUSECASE WITHOUT ERROR push complete");
mPushService.onPushFinished();
}
@Override
public void onPushInProgressError() {
Log.d(TAG, "PUSHUSECASE ERROR Push stopped, There is already a push in progress");
}
@Override
public void onPushError() {
onError("PUSHUSECASE ERROR Unexpected error has occurred in push process");
}
@Override
public void onSurveysNotFoundError() {
onError("PUSHUSECASE ERROR Pending surveys not found");
}
@Override
public void onConversionError() {
onError("PUSHUSECASE ERROR An error has occurred to the conversion in push process");
}
@Override
public void onNetworkError() {
onError("PUSHUSECASE ERROR Network not available");
}
@Override
public void onInformativeError(String message) {
showInDialog(PreferencesState.getInstance().getContext().getString(R.string.error_conflict_title), "PUSHUSECASE ERROR " + message + PreferencesState.getInstance().isPushInProgress());
}
@Override
public void onBannedOrgUnit() {
showInDialog("", PreferencesState.getInstance().getContext().getString(R.string.exception_org_unit_banned));
}
@Override
public void onReOpenOrgUnit() {
showInDialog("", String.format(PreferencesState.getInstance().getContext().getString(R.string.dialog_reopen_org_unit), PreferencesState.getInstance().getOrgUnit()));
}
@Override
public void onApiCallError(ApiCallException e) {
onError("PUSHUSECASE ERROR " + e.getMessage());
}
@Override
public void onClosedUser() {
onError("PUSHUSECASE ERROR on closedUser " + PreferencesState.getInstance().isPushInProgress());
closeUserLogout();
}
@Override
public void onApiCallError() {
onError("onApiCallError");
}
});
}
Aggregations