/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import android.content.Context;
import android.content.Intent;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.network.PlusiOperation;
import com.galaxy.meetup.client.android.network.http.HttpOperation;
import com.galaxy.meetup.server.client.domain.DataPlusOne;
import com.galaxy.meetup.server.client.domain.request.PlusOneRequest;
import com.galaxy.meetup.server.client.domain.response.PlusOneResponse;
import com.galaxy.meetup.server.client.v2.request.Request;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class PlusOneOperation extends PlusiOperation {
protected final boolean mIsPlusOne;
protected final String mItemId;
protected final String mItemType;
public PlusOneOperation(Context context, EsAccount esaccount, Intent intent, HttpOperation.OperationListener operationlistener, String s, String s1, boolean flag)
{
super(context, esaccount, "plusone", intent, operationlistener, PlusOneResponse.class);
mItemType = s;
mItemId = s1;
mIsPlusOne = flag;
}
protected final void handleResponse(Response response) throws IOException
{
PlusOneResponse plusoneresponse = (PlusOneResponse)response;
if(plusoneresponse.success.booleanValue())
onSuccess(plusoneresponse.plusOne);
else
onFailure();
}
protected void onFailure()
{
}
public final void onHttpOperationComplete(int i, String s, Exception exception)
{
if(i != 200 || exception != null)
onFailure();
super.onHttpOperationComplete(i, s, exception);
}
protected void onPopulateRequest()
{
}
protected void onSuccess(DataPlusOne dataplusone)
{
}
protected final Request populateRequest()
{
PlusOneRequest plusonerequest = new PlusOneRequest();
onPopulateRequest();
plusonerequest.type = mItemType;
plusonerequest.itemId = mItemId;
plusonerequest.isPlusone = Boolean.valueOf(mIsPlusOne);
return plusonerequest;
}
}