/**
* author : lipan
* filename : ResponseHandler.java
* create_time : 2014年8月22日 下午2:31:10
*/
package com.sets.speedtest.utils;
import org.json.JSONObject;
import android.content.Context;
import com.sets.speedtest.R;
import com.sets.speedtest.constant.C;
/**
* @author : lipan
* @create_time : 2014年8月22日 下午2:31:10
* @desc : 处理response
* @update_person:
* @update_time :
* @update_desc :
*
*/
public class ResponseParser
{
public static final boolean SUCCESS_CODE = true;
public static final boolean FAILD_CODE = false;
public Boolean success; // 是否成功
public String errorMsg; // 异常信息
public JSONObject data; // response data 节点
/**
* @param success
* @param errorMsg
*/
public ResponseParser(Context context)
{
success = false; // 默认为异常状态
errorMsg = context.getString(R.string.system_error); // 默认异常信息显示
}
/**
* 处理返回异常信息
* @param context
* @param response
* @return
*/
public static ResponseParser handler(Context context, JSONObject response)
{
ResponseParser handler = new ResponseParser(context);
// code节点,系统响应成功
if (C.RSP_CODE_SUCCESS == response.optInt(C.RSP_CODE, C.RSP_CODE_FAILD))
{
handler.data = response.optJSONObject(C.RSP_DATA);
// data节点
if(null != handler.data)
{
// 返回成功状态码
if (C.RSP_CODE_SUCCESS == handler.data.optInt(C.RSP_ERROR_CODE, C.RSP_CODE_FAILD))
{
handler.success = true;
} else
{
handler.errorMsg = handler.data.optString(C.RSP_ERROR_DESC, // 接口返回的异常信息
context.getString(R.string.system_error));
}
}
} else
{
}
return handler;
}
}