package pt.estgp.estgweb.services.questionarios.pedagogico;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.services.jobs.JobDeamon;
import pt.estgp.estgweb.services.jobs.ServiceJob;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import java.util.HashSet;
import java.util.Set;
/**
* Created by jorgemachado on 22/03/16.
*/
public class AssignAnswersJobService
implements IService
{
public static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(AssignAnswersJobService.
class);
public QuestionarioImpl runJobAssignAnswers
(long questionarioId, UserSession session, QuestionarioImpl questionarioCleared
) throws NotAuthorizedException
{
if(!questionarioCleared.
isClear((UserSessionImpl
) session,QuestionarioImpl.
QuestionarioClearancesOperation.
QUESTIONARIO_START_ASSIGN_ANSWERS.
name()) )
{
throw new NotAuthorizedException
("Nao tem autorização para atribuir respostas ao questionario " + questionarioId
);
}
//CRIAR ATIVIDADE DE ATRIBUICAO DE RESPOSTAS
//Nao muda de estado porque pode sempre gerar as respostas quando está em estado COURSES_ASSIGNED
( questionarioCleared
).
setSubStatePedagogicoClass(QuestionarioImpl.
SubStatePedagogico.
ASSIGNING_ANSWERS);
Set
<JobServiceTaskParameter
> paramsJob =
new HashSet
<JobServiceTaskParameter
>();
JobServiceTaskParameterImpl paramJob = DomainObjectFactory.
createJobServiceTaskParameterImpl();
paramJob.
setName(ServiceJob.
JOB_questionario_id_KEY);
paramJob.
setDescription("ID do questionário");
paramJob.
setObject("" + questionarioId
);
paramsJob.
add(paramJob
);
JobServiceTask job = JobDeamon.
createServiceJob(questionarioCleared.
getiAnswersProcessorClass().
getJobServiceTaskAnswersProcessor(), session.
getUser(), paramsJob,
"Service: Atribuição de Respostas a um questionário Pedagógico");
questionarioCleared.
setAnswerGenerationTaskId(job.
getId());
return questionarioCleared
;
}
}