package com.buddycloud.model;
import java.io.UnsupportedEncodingException;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;
import android.content.Context;
import com.buddycloud.http.BuddycloudHTTPHelper;
import com.buddycloud.preferences.Preferences;
public class FollowersModel extends AbstractModel<JSONObject, JSONObject, String> {
private static final String ENDPOINT = "/subscribers";
private static FollowersModel instance;
private FollowersModel() {}
public static FollowersModel getInstance() {
if (instance == null) {
instance = new FollowersModel();
}
return instance;
}
public void getFromServer(final Context context, final ModelCallback<JSONObject> callback, String... p) {
String channelJid = p[0];
BuddycloudHTTPHelper.getObject(url(channelJid, context), context,
callback);
}
private static String url(String channelJid, Context context) {
String apiAddress = Preferences.getPreference(context, Preferences.API_ADDRESS);
return apiAddress + "/" + channelJid + ENDPOINT + "/posts";
}
@Override
public void save(Context context, JSONObject object,
ModelCallback<JSONObject> callback, String... p) {
String channelJid = p[0];
try {
StringEntity requestEntity = new StringEntity(object.toString(), "UTF-8");
requestEntity.setContentType("application/json");
BuddycloudHTTPHelper.post(url(channelJid, context), requestEntity, context,
callback);
} catch (UnsupportedEncodingException e) {
callback.error(e);
}
}
@Override
public JSONObject getFromCache(Context context, String... p) {
// TODO Auto-generated method stub
return null;
}
@Override
public void fill(Context context, ModelCallback<Void> callback, String... p) {
// TODO Auto-generated method stub
}
@Override
public void delete(Context context, ModelCallback<Void> callback, String... p) {
// TODO Auto-generated method stub
}
}