/*
* Copyright (C) 2010-2012 Stichting Akvo (Akvo Foundation)
*
* This file is part of Akvo FLOW.
*
* Akvo FLOW is free software: you can redistribute it and modify it under the terms of
* the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
* either version 3 of the License or any later version.
*
* Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License included below for more details.
*
* The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
*/
package org.waterforpeople.mapping.helper;
import org.waterforpeople.mapping.app.web.dto.SurveyEventRequest;
import com.google.appengine.api.taskqueue.QueueFactory;
import com.google.appengine.api.taskqueue.TaskOptions;
/**
* Class to abstract firing survey events
*
* @author Christopher Fagiani
*/
public class SurveyEventHelper {
public static final String SUBMISSION_EVENT = "surveySubmission";
public static final String APPROVAL_EVENT = "surveyApproval";
/**
* generates a task to the event queue
*
* @param eventType
* @param surveyId
* @param surveyInstanceId
*/
public static final void fireEvent(String eventType, Long surveyId,
Long surveyInstanceId) {
TaskOptions options = TaskOptions.Builder
.withUrl("/app_worker/surveyevent")
.param(SurveyEventRequest.ACTION_PARAM,
SurveyEventRequest.FIRE_EVENT_ACTION)
.param(SurveyEventRequest.EVENT_TYPE_PARAM, eventType)
.param(SurveyEventRequest.SURVEY_ID_PARAM, surveyId.toString());
if (surveyInstanceId != null) {
options.param(SurveyEventRequest.SURVEY_INSTANCE_ID_PARAM,
surveyInstanceId.toString());
}
QueueFactory.getDefaultQueue().add(options);
}
}