Subversion Repositories bacoAlunos

Rev

Rev 1328 | Rev 1336 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1325 jmachado 1
package pt.estgp.estgweb.services.questionarios;
2
 
3
import pt.estgp.estgweb.domain.IAnswersProcessor;
1329 jmachado 4
import pt.estgp.estgweb.domain.JobServiceTask;
1328 jmachado 5
import pt.estgp.estgweb.domain.QuestionarioImpl;
1329 jmachado 6
import pt.estgp.estgweb.domain.UserSessionImpl;
7
import pt.estgp.estgweb.domain.dao.DaoFactory;
8
import pt.estgp.estgweb.domain.utils.SimpleClearanceRuledSupport;
1328 jmachado 9
import pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService;
1325 jmachado 10
import pt.estgp.estgweb.utils.ConfigProperties;
11
 
12
/**
13
 * Created by jorgemachado on 20/03/16.
14
 */
15
public class PedagogicoAlunosProcessor implements IAnswersProcessor
16
{
17
 
18
    static 1.5.0/docs/api/java/lang/String.html">String title = ConfigProperties.getProperty("pt.estgp.estgweb.services.questionarios.PedagogicoAlunosProcessor.title");
1328 jmachado 19
    static 1.5.0/docs/api/java/lang/String.html">String jsp = ConfigProperties.getProperty("pt.estgp.estgweb.services.questionarios.PedagogicoAlunosProcessor.jsp");
1325 jmachado 20
 
21
    @1.5.0/docs/api/java/lang/Override.html">Override
22
    public 1.5.0/docs/api/java/lang/String.html">String getHistoryDriveConstraint() {
23
        return "QuestionarioAvaliacaoUnidadesCurricularesEstudantes";
24
    }
25
 
26
    @1.5.0/docs/api/java/lang/Override.html">Override
27
    public 1.5.0/docs/api/java/lang/String.html">String getTitle() {
28
        return title;
29
    }
30
 
31
    @1.5.0/docs/api/java/lang/Override.html">Override
32
    public 1.5.0/docs/api/java/lang/String.html">String getAfetacoesManagementForward()
33
    {
1328 jmachado 34
        return jsp;
1325 jmachado 35
    }
1328 jmachado 36
 
37
    @1.5.0/docs/api/java/lang/Override.html">Override
38
    public void initQuestionarioAfetacoesVariables(QuestionarioImpl questionario)
39
    {
40
        questionario.setAfetacoesVarCoursesSelectionForJob(new UpdateCoursesAndUnitsJobService().deserializeCoursesList(questionario));
41
    }
1329 jmachado 42
 
43
    public void startAfetacoes(QuestionarioImpl questionario)
44
    {
45
        questionario.setSubStatePedagogicoClass(QuestionarioImpl.SubStatePedagogico.START);
46
    }
47
 
48
    public void initClearances(QuestionarioImpl q, UserSessionImpl usession, SimpleClearanceRuledSupport s)
49
    {
50
        if(q.getSubStatePedagodigoEnum() == QuestionarioImpl.SubStatePedagogico.START ||
51
                q.getSubStatePedagodigoEnum() == QuestionarioImpl.SubStatePedagogico.YEAR_SEMESTRE_ASSIGNED)
52
            s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SET_ANO_SEMESTRE.name(),usession);
53
 
54
        if(q.getSubStatePedagodigoEnum().getPosition() >= QuestionarioImpl.SubStatePedagogico.YEAR_SEMESTRE_ASSIGNED.getPosition() &&
55
                q.getSubStatePedagodigoEnum().getPosition() < QuestionarioImpl.SubStatePedagogico.FINNISHED_ANSWERS_GENERATING.getPosition())
56
        {
57
            s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SCHEDULLE_SEE_SELECT_COURSES.name(),usession);
58
            if(q.getCourseSelectionTaskId() <= 0)
59
                s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SCHEDULLE_SELECT_COURSES.name(),usession);
60
            else
61
            {
62
                JobServiceTask task = DaoFactory.getJobServiceTaskDaoImpl().load(q.getCourseSelectionTaskId());
63
                if(task.isExecuted() || (task.getSaveDate() != null &&
64
                        1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis()-task.getSaveDate().getTime()>1800000)) //half hour blocked
65
                {
66
                    if(!task.isExecuted() && 1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis()-task.getSaveDate().getTime()>1800000)
67
                    {
68
                        q.setSubStatePedagogicoClass(QuestionarioImpl.SubStatePedagogico.YEAR_SEMESTRE_ASSIGNED);//rolling back to year semestre assigned
69
                    }
70
                    task.setExecuted(true);
71
                    s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_SCHEDULLE_SELECT_COURSES.name(),usession);
72
                }
73
            }
74
        }
75
 
76
        if(q.getSubStatePedagodigoEnum().getPosition() >= QuestionarioImpl.SubStatePedagogico.COURSES_ASSIGNED.getPosition() &&
77
                q.getSubStatePedagodigoEnum().getPosition() < QuestionarioImpl.SubStatePedagogico.FINNISHED_ANSWERS_GENERATING.getPosition())
78
        {
79
            s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_CHANGE_TIPOLOGIES.name(),usession);
80
            s.addClearance(QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_START_ASSIGN_ANSWERS.name(),usession);
81
        }
82
    }
1325 jmachado 83
}