Subversion Repositories bacoAlunos

Rev

Rev 1379 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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;
    }





}