/*
* Copyright (c) 2015. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
* Vestibulum commodo. Ut rhoncus gravida arcu.
*/
package com.shaweibo.biu.dao.timeline;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.shaweibo.biu.dao.UrlConstants;
import com.shaweibo.biu.dao.HttpClientUtils;
import com.shaweibo.biu.db.tables.RepostTimeLineTable;
import com.shaweibo.biu.global.Constants;
import com.shaweibo.biu.model.RepostListModel;
import com.shaweibo.biu.dao.WeiboParameters;
import com.google.gson.Gson;
import java.io.IOException;
/**
* Created by shaw on 2015/7/13.
*/
public class StatusRepostDao extends StatusTimeLineDao{
private long mId;
public StatusRepostDao(Context context, long id) {
super(context,"");
mId=id;
}
@Override
public void cache() {
SQLiteDatabase db = mHelper.getWritableDatabase();
db.beginTransaction();
db.delete(RepostTimeLineTable.NAME, RepostTimeLineTable.MSGID + "=?", new String[]{String.valueOf(mId)});
ContentValues values = new ContentValues();
values.put(RepostTimeLineTable.MSGID, mId);
values.put(RepostTimeLineTable.JSON, new Gson().toJson((RepostListModel) mListModel));
db.insert(RepostTimeLineTable.NAME, null, values);
db.setTransactionSuccessful();
db.endTransaction();
}
@Override
public Cursor query() {
return mHelper.getReadableDatabase().query(RepostTimeLineTable.NAME, new String[]{
RepostTimeLineTable.MSGID,
RepostTimeLineTable.JSON
}, RepostTimeLineTable.MSGID + "=?", new String[]{String.valueOf(mId)}, null, null, null);
}
@Override
public RepostListModel load() {
WeiboParameters params = new WeiboParameters();
params.put("id", mId);
params.put("count", Constants.HOME_TIMELINE_PAGE_SIZE);
params.put("page", ++mCurrentPage);
RepostListModel listModel=null;
try {
String jsonStr= HttpClientUtils.doGetRequstWithAceesToken(UrlConstants.REPOST_TIMELINE, params);
listModel = new Gson().fromJson(jsonStr,RepostListModel.class);
} catch (IOException e) {
e.printStackTrace();
}
return listModel;
}
@Override
protected Class<? extends RepostListModel> getListClass() {
return RepostListModel.class ;
}
}