/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.api;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import com.galaxy.meetup.client.android.content.AudienceData;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsEventData;
import com.galaxy.meetup.client.android.network.PlusiOperation;
import com.galaxy.meetup.client.android.network.http.HttpOperation;
import com.galaxy.meetup.server.client.v2.domain.Event;
import com.galaxy.meetup.server.client.v2.request.PublishEventRequest;
import com.galaxy.meetup.server.client.v2.response.PublishEventResponse;
import com.galaxy.meetup.server.client.v2.response.Response;
/**
*
* @author sihai
*
*/
public class CreateEventOperation extends PlusiOperation {
private static final List EVENT_EMBED_TYPES = Collections.unmodifiableList(Arrays.asList(new String[] {
"PLUS_EVENT", "EVENT", "THING"
}));
private final AudienceData mAudience;
private final String mExternalId;
private final Event mEvent;
public CreateEventOperation(Context context, EsAccount esaccount, Event event, AudienceData audiencedata, String s, Intent intent, HttpOperation.OperationListener operationlistener) {
super(context, esaccount, "publish_event", intent, operationlistener, PublishEventResponse.class);
mEvent = event;
mAudience = audiencedata;
mExternalId = s;
}
protected final void handleResponse(Response response) throws IOException {
PublishEventResponse pr = (PublishEventResponse)response;
if(pr.isSucceed()) {
EsEventData.insertEvent(mContext, mAccount, pr.getEvent());
}
}
@Override
protected final com.galaxy.meetup.server.client.v2.request.Request populateRequest() {
PublishEventRequest request = new PublishEventRequest();
request.setEvent(mEvent);
return request;
}
}