package org.openlmis.core.network; import android.content.Context; import org.openlmis.core.LMISApp; import org.openlmis.core.R; public final class SyncErrorsMap { private static final String PROGRAM_CONFIG_ERROR = "Program configuration missing"; private static final String INVALID_PRODUCT_CODES = "Invalid product codes"; private static final String PREVIOUS_FORM_NOT_FILLED = "Please finish all R&R of previous period(s)"; private static final String USER_UNAUTHORIZED = "User does not have permission"; private static final String DUPLICATE_RNR = "RnR for this period has been submitted"; private static final String PERIOD_MISMATCH = "Submitted period is not next period in schedule"; private SyncErrorsMap() { } public static String getDisplayErrorMessageBySyncErrorMessage(String errorMessage){ if (errorMessage == null){ return null; } Context context = LMISApp.getContext(); if(errorMessage.equals(context.getString(R.string.hint_network_error))){ return null; } if (errorMessage.contains(PROGRAM_CONFIG_ERROR)) { return context.getString(R.string.period_configuration_missing); } if (errorMessage.contains(INVALID_PRODUCT_CODES)){ String[] errorString = errorMessage.split(" "); return context.getString(R.string.product_code_invalid, errorString[errorString.length - 1]); } if (errorMessage.contains(PREVIOUS_FORM_NOT_FILLED)){ return context.getString(R.string.rnr_previous_not_filled); } if (errorMessage.contains(USER_UNAUTHORIZED)){ return context.getString(R.string.unauthorized_operation); } if (errorMessage.contains(context.getString(R.string.sync_server_error))){ return context.getString(R.string.sync_server_error); } if (errorMessage.contains(DUPLICATE_RNR)) { return context.getString(R.string.duplicate_rnr_error); } if (errorMessage.contains(PERIOD_MISMATCH)) { return context.getString(R.string.period_mismatch_error); } return context.getString(R.string.default_sync_data_error); } }