Subversion Repositories bacoAlunos

Rev

Rev 1814 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1814 Rev 1827
1
package pt.estgp.estgweb.web.controllers.assessments;
1
package pt.estgp.estgweb.web.controllers.assessments;
2
 
2
 
3
import org.apache.log4j.Logger;
3
import org.apache.log4j.Logger;
4
import org.apache.struts.action.ActionForm;
4
import org.apache.struts.action.ActionForm;
5
import org.apache.struts.action.ActionForward;
5
import org.apache.struts.action.ActionForward;
6
import org.apache.struts.action.ActionMapping;
6
import org.apache.struts.action.ActionMapping;
7
import pt.estgp.estgweb.utils.Globals;
-
 
8
import pt.estgp.estgweb.domain.UserSessionImpl;
7
import pt.estgp.estgweb.domain.UserSessionImpl;
9
import pt.estgp.estgweb.domain.views.*;
8
import pt.estgp.estgweb.domain.views.*;
-
 
9
import pt.estgp.estgweb.utils.DatesWebUtils;
-
 
10
import pt.estgp.estgweb.utils.Globals;
10
import pt.estgp.estgweb.web.UserSessionProxy;
11
import pt.estgp.estgweb.web.UserSessionProxy;
11
import pt.estgp.estgweb.web.controllers.AddRolesController;
12
import pt.estgp.estgweb.web.controllers.AddRolesController;
12
import pt.estgp.estgweb.web.form.assessments.AssessmentsForm;
13
import pt.estgp.estgweb.web.form.assessments.AssessmentsForm;
13
import pt.estgp.estgweb.utils.DatesWebUtils;
-
 
14
import pt.estgp.estgweb.web.utils.DomainUtils;
14
import pt.estgp.estgweb.web.utils.DomainUtils;
15
import pt.estgp.estgweb.web.utils.RequestUtils;
15
import pt.estgp.estgweb.web.utils.RequestUtils;
16
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
16
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
17
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
17
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
18
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
18
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
19
 
19
 
20
import javax.servlet.ServletException;
20
import javax.servlet.ServletException;
21
import javax.servlet.http.HttpServletRequest;
21
import javax.servlet.http.HttpServletRequest;
22
import javax.servlet.http.HttpServletResponse;
22
import javax.servlet.http.HttpServletResponse;
23
import java.io.Serializable;
23
import java.io.Serializable;
24
import java.sql.Time;
-
 
25
import java.util.ArrayList;
24
import java.util.ArrayList;
-
 
25
import java.util.Calendar;
-
 
26
import java.util.GregorianCalendar;
26
import java.util.List;
27
import java.util.List;
27
 
28
 
28
/**
29
/**
29
 * Created by IntelliJ IDEA.
30
 * Created by IntelliJ IDEA.
30
 * User: Filipe Matos
31
 * User: Filipe Matos
31
 * Date: 21/Jul/2013
32
 * Date: 21/Jul/2013
32
 * Time: 14:40:41
33
 * Time: 14:40:41
33
 * To change this template use File | Settings | File Templates.
34
 * To change this template use File | Settings | File Templates.
34
 */
35
 */
35
public class AssessmentController extends AddRolesController{
36
public class AssessmentController extends AddRolesController{
36
 
37
 
37
    private 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(AssessmentController.class);
38
    private 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(AssessmentController.class);
38
 
39
 
39
    public ActionForward nothing(ActionMapping mapping,
40
    public ActionForward nothing(ActionMapping mapping,
40
                              ActionForm form,
41
                              ActionForm form,
41
                              HttpServletRequest request,
42
                              HttpServletRequest request,
42
                              HttpServletResponse response)
43
                              HttpServletResponse response)
43
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
44
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
44
    {
45
    {
45
        //este metodo serve apenas para actualizar paginas
46
        //este metodo serve apenas para actualizar paginas
46
 
47
 
47
        return mapping.getInputForward();
48
        return mapping.getInputForward();
48
    }
49
    }
49
 
50
 
50
    public ActionForward changeAssessmentType(ActionMapping mapping,
51
    public ActionForward changeAssessmentType(ActionMapping mapping,
51
                              ActionForm form,
52
                              ActionForm form,
52
                              HttpServletRequest request,
53
                              HttpServletRequest request,
53
                              HttpServletResponse response)
54
                              HttpServletResponse response)
54
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
55
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
55
    {
56
    {
56
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
57
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
57
        assessmentForm.getAssessmentQuestionTypesSelfEvaluation().remove("text");
58
        assessmentForm.getAssessmentQuestionTypesSelfEvaluation().remove("text");
58
        assessmentForm.getAssessmentQuestionTypesSelfEvaluation().remove("practical");
59
        assessmentForm.getAssessmentQuestionTypesSelfEvaluation().remove("practical");
59
 
60
 
60
        return mapping.getInputForward();
61
        return mapping.getInputForward();
61
    }
62
    }
62
 
63
 
63
    public ActionForward updateRadioBox(ActionMapping mapping,
64
    public ActionForward updateRadioBox(ActionMapping mapping,
64
                              ActionForm form,
65
                              ActionForm form,
65
                              HttpServletRequest request,
66
                              HttpServletRequest request,
66
                              HttpServletResponse response)
67
                              HttpServletResponse response)
67
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
68
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
68
    {
69
    {
69
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
70
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
70
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
71
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
71
 
72
 
72
        if(request.getParameter("questionId") != null && request.getParameter("candidateId") != null)
73
        if(request.getParameter("questionId") != null && request.getParameter("candidateId") != null)
73
        {
74
        {
74
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
75
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
75
            int candidateIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("candidateId"));
76
            int candidateIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("candidateId"));
76
            int itemIndex=0;
77
            int itemIndex=0;
77
 
78
 
78
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
79
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
79
 
80
 
80
            if(request.getParameter("itemId") != null && qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
81
            if(request.getParameter("itemId") != null && qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
81
            {
82
            {
82
                itemIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("itemId"));
83
                itemIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("itemId"));
83
            }
84
            }
84
 
85
 
85
            int index=0;
86
            int index=0;
86
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
87
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
87
            {
88
            {
88
                List<AssessmentQuestionPossibleAnswerView> listaPAV = iView.getPossibleAnswers();
89
                List<AssessmentQuestionPossibleAnswerView> listaPAV = iView.getPossibleAnswers();
89
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
90
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
90
                {
91
                {
91
                    for (int i=0;i<listaPAV.size();i++)
92
                    for (int i=0;i<listaPAV.size();i++)
92
                    {
93
                    {
93
                        if(i!=candidateIndex){
94
                        if(i!=candidateIndex){
94
                            listaPAV.get(i).setCorrect(false);
95
                            listaPAV.get(i).setCorrect(false);
95
                        }
96
                        }
96
                    }
97
                    }
97
                }
98
                }
98
 
99
 
99
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
100
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
100
                {
101
                {
101
                    for (int i=0;i<listaPAV.size();i++)
102
                    for (int i=0;i<listaPAV.size();i++)
102
                    {
103
                    {
103
                        if(index==itemIndex)
104
                        if(index==itemIndex)
104
                        {
105
                        {
105
                            if(i!=candidateIndex){
106
                            if(i!=candidateIndex){
106
                            listaPAV.get(i).setCorrect(false);
107
                            listaPAV.get(i).setCorrect(false);
107
                            }
108
                            }
108
                        }
109
                        }
109
                    }
110
                    }
110
                }
111
                }
111
                index++;
112
                index++;
112
            }
113
            }
113
 
114
 
114
        }
115
        }
115
 
116
 
116
        return mapping.getInputForward();
117
        return mapping.getInputForward();
117
    }
118
    }
118
   
119
   
119
 
120
 
120
    //////////////////////PARTE DE TESTES
121
    //////////////////////PARTE DE TESTES
121
    public ActionForward create (ActionMapping mapping,
122
    public ActionForward create (ActionMapping mapping,
122
                                        ActionForm form,
123
                                        ActionForm form,
123
                                        HttpServletRequest request,
124
                                        HttpServletRequest request,
124
                                        HttpServletResponse response)
125
                                        HttpServletResponse response)
125
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
126
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
126
    {
127
    {
127
 
128
 
128
        try
129
        try
129
        {   ///PARA TESTAR SE APAGA TUDO
130
        {   ///PARA TESTAR SE APAGA TUDO
130
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest(request);
131
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest(request);
131
            List<String> nomesSessao = (List<String>) sess.get("nomesSessao");
132
            List<String> nomesSessao = (List<String>) sess.get("nomesSessao");
132
            if(nomesSessao!=null)
133
            if(nomesSessao!=null)
133
            {
134
            {
134
                for(int i=0;i<nomesSessao.size();i++)
135
                for(int i=0;i<nomesSessao.size();i++)
135
                {
136
                {
136
                    sess.remove(nomesSessao.get(i));
137
                    sess.remove(nomesSessao.get(i));
137
                    sess.serialize(request,response);
138
                    sess.serialize(request,response);
138
                }
139
                }
139
                sess.remove("nomesSessao");
140
                sess.remove("nomesSessao");
140
                sess.serialize(request,response);
141
                sess.serialize(request,response);
141
            }
142
            }
142
            return mapping.findForward("from.add.role");
143
            return mapping.findForward("from.add.role");
143
        }
144
        }
144
        catch(FilterChainFailedException e)
145
        catch(FilterChainFailedException e)
145
        {
146
        {
146
            return mapping.findForward("error401");
147
            return mapping.findForward("error401");
147
        }
148
        }
148
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
149
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
149
        {
150
        {
150
           // logger.error(e,e);
151
           // logger.error(e,e);
151
            throw e;
152
            throw e;
152
        }
153
        }
153
    }
154
    }
154
 
155
 
155
 
156
 
156
    public ActionForward addQuestion(ActionMapping mapping,
157
    public ActionForward addQuestion(ActionMapping mapping,
157
                              ActionForm form,
158
                              ActionForm form,
158
                              HttpServletRequest request,
159
                              HttpServletRequest request,
159
                              HttpServletResponse response)
160
                              HttpServletResponse response)
160
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
161
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
161
    {
162
    {
162
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
163
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
163
       
164
       
164
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
165
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
165
        long id1 = assessmentForm.getCounterAndDec();
166
        long id1 = assessmentForm.getCounterAndDec();
166
 
167
 
167
        AssessmentQuestionView qView = new AssessmentQuestionView();
168
        AssessmentQuestionView qView = new AssessmentQuestionView();
168
        qView.setId(id1);
169
        qView.setId(id1);
169
        qView.setType(assessmentForm.getQuestionType());
170
        qView.setType(assessmentForm.getQuestionType());
170
        ///meter os meus tipos no globals
171
        ///meter os meus tipos no globals
171
        if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_PRACTICAL))
172
        if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_PRACTICAL))
172
        {
173
        {
173
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
174
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
174
            iView.setId(assessmentForm.getCounterAndDec());
175
            iView.setId(assessmentForm.getCounterAndDec());
175
            AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
176
            AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
176
            pView.setId(assessmentForm.getCounterAndDec());
177
            pView.setId(assessmentForm.getCounterAndDec());
177
            //pView.setType(qView.getType());
178
            //pView.setType(qView.getType());
178
            iView.getPossibleAnswers().add(pView);
179
            iView.getPossibleAnswers().add(pView);
179
            qView.getQuestionItems().add(iView);
180
            qView.getQuestionItems().add(iView);
180
        }
181
        }
181
        else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
182
        else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
182
        {
183
        {
183
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
184
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
184
            iView.setId(assessmentForm.getCounterAndDec());
185
            iView.setId(assessmentForm.getCounterAndDec());
185
            qView.getQuestionItems().add(iView);
186
            qView.getQuestionItems().add(iView);
186
        }
187
        }
187
 
188
 
188
        assessmentView.getQuestions().add(qView);
189
        assessmentView.getQuestions().add(qView);
189
       
190
       
190
 
191
 
191
        return mapping.getInputForward();
192
        return mapping.getInputForward();
192
    }
193
    }
193
 
194
 
194
    public ActionForward removeQuestion(ActionMapping mapping,
195
    public ActionForward removeQuestion(ActionMapping mapping,
195
                              ActionForm form,
196
                              ActionForm form,
196
                              HttpServletRequest request,
197
                              HttpServletRequest request,
197
                              HttpServletResponse response)
198
                              HttpServletResponse response)
198
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
199
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
199
    {
200
    {
200
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
201
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
201
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
202
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
202
 
203
 
203
        if(request.getParameter("questionId") != null)
204
        if(request.getParameter("questionId") != null)
204
        {
205
        {
205
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
206
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
206
 
207
 
207
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
208
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
208
 
209
 
209
            1.5.0/docs/api/java/lang/String.html">String questionsToDelete = assessmentView.getDeletedQuestions()+qView.getId()+",";
210
            1.5.0/docs/api/java/lang/String.html">String questionsToDelete = assessmentView.getDeletedQuestions()+qView.getId()+",";
210
            1.5.0/docs/api/java/lang/String.html">String itemsToDelete = assessmentView.getDeletedItems();
211
            1.5.0/docs/api/java/lang/String.html">String itemsToDelete = assessmentView.getDeletedItems();
211
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = assessmentView.getDeletedCandidates();
212
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = assessmentView.getDeletedCandidates();
212
 
213
 
213
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
214
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
214
            {
215
            {
215
                itemsToDelete = itemsToDelete+iView.getId()+",";
216
                itemsToDelete = itemsToDelete+iView.getId()+",";
216
                for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
217
                for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
217
                {
218
                {
218
                    candidatesToDelete = candidatesToDelete+pView.getId()+",";
219
                    candidatesToDelete = candidatesToDelete+pView.getId()+",";
219
                }
220
                }
220
            }
221
            }
221
 
222
 
222
            assessmentView.setDeletedQuestions(questionsToDelete);
223
            assessmentView.setDeletedQuestions(questionsToDelete);
223
            assessmentView.setDeletedItems(itemsToDelete);
224
            assessmentView.setDeletedItems(itemsToDelete);
224
            assessmentView.setDeletedCandidates(candidatesToDelete);
225
            assessmentView.setDeletedCandidates(candidatesToDelete);
225
 
226
 
226
            assessmentView.getQuestions().remove(questionIndex);
227
            assessmentView.getQuestions().remove(questionIndex);
227
        }
228
        }
228
 
229
 
229
        return mapping.getInputForward();
230
        return mapping.getInputForward();
230
    }
231
    }
231
 
232
 
232
    public ActionForward addItemOption(ActionMapping mapping,
233
    public ActionForward addItemOption(ActionMapping mapping,
233
                              ActionForm form,
234
                              ActionForm form,
234
                              HttpServletRequest request,
235
                              HttpServletRequest request,
235
                              HttpServletResponse response)
236
                              HttpServletResponse response)
236
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
237
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
237
    {
238
    {
238
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
239
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
239
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
240
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
240
        long id = assessmentForm.getCounterAndDec();
241
        long id = assessmentForm.getCounterAndDec();
241
 
242
 
242
        if(request.getParameter("questionId") != null)
243
        if(request.getParameter("questionId") != null)
243
        {
244
        {
244
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
245
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
245
 
246
 
246
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
247
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
247
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
248
            AssessmentQuestionItemView iView = new AssessmentQuestionItemView();
248
            iView.setId(id);
249
            iView.setId(id);
249
 
250
 
250
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
251
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
251
            {
252
            {
252
                for(AssessmentQuestionPossibleAnswerView candidateLabel : qView.getPossibleLabels())
253
                for(AssessmentQuestionPossibleAnswerView candidateLabel : qView.getPossibleLabels())
253
                {
254
                {
254
                    AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
255
                    AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
255
                    pView.setId(assessmentForm.getCounterAndDec());
256
                    pView.setId(assessmentForm.getCounterAndDec());
256
                    iView.getPossibleAnswers().add(pView);
257
                    iView.getPossibleAnswers().add(pView);
257
                }
258
                }
258
            }
259
            }
259
 
260
 
260
            qView.getQuestionItems().add(iView);
261
            qView.getQuestionItems().add(iView);
261
        }
262
        }
262
 
263
 
263
        return mapping.getInputForward();
264
        return mapping.getInputForward();
264
    }
265
    }
265
 
266
 
266
    public ActionForward removeItemOption(ActionMapping mapping,
267
    public ActionForward removeItemOption(ActionMapping mapping,
267
                              ActionForm form,
268
                              ActionForm form,
268
                              HttpServletRequest request,
269
                              HttpServletRequest request,
269
                              HttpServletResponse response)
270
                              HttpServletResponse response)
270
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
271
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
271
    {
272
    {
272
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
273
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
273
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
274
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
274
 
275
 
275
        if(request.getParameter("questionId") != null && request.getParameter("itemId") != null)
276
        if(request.getParameter("questionId") != null && request.getParameter("itemId") != null)
276
        {
277
        {
277
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
278
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
278
            int itemIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("itemId"));
279
            int itemIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("itemId"));
279
 
280
 
280
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
281
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
281
            AssessmentQuestionItemView iView = qView.getQuestionItems().get(itemIndex);
282
            AssessmentQuestionItemView iView = qView.getQuestionItems().get(itemIndex);
282
 
283
 
283
            1.5.0/docs/api/java/lang/String.html">String itemsToDelete = ""+iView.getId()+",";
284
            1.5.0/docs/api/java/lang/String.html">String itemsToDelete = ""+iView.getId()+",";
284
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = "";
285
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = "";
285
            for(AssessmentQuestionPossibleAnswerView cView : iView.getPossibleAnswers())
286
            for(AssessmentQuestionPossibleAnswerView cView : iView.getPossibleAnswers())
286
            {
287
            {
287
                candidatesToDelete = candidatesToDelete+cView.getId()+",";
288
                candidatesToDelete = candidatesToDelete+cView.getId()+",";
288
            }
289
            }
289
 
290
 
290
            assessmentView.setDeletedItems(assessmentView.getDeletedItems().concat(itemsToDelete));
291
            assessmentView.setDeletedItems(assessmentView.getDeletedItems().concat(itemsToDelete));
291
            assessmentView.setDeletedCandidates(assessmentView.getDeletedCandidates().concat(candidatesToDelete));
292
            assessmentView.setDeletedCandidates(assessmentView.getDeletedCandidates().concat(candidatesToDelete));
292
 
293
 
293
            qView.getQuestionItems().remove(itemIndex);
294
            qView.getQuestionItems().remove(itemIndex);
294
        }
295
        }
295
        return mapping.getInputForward();
296
        return mapping.getInputForward();
296
    }
297
    }
297
 
298
 
298
    public ActionForward addCandidateOption(ActionMapping mapping,
299
    public ActionForward addCandidateOption(ActionMapping mapping,
299
                              ActionForm form,
300
                              ActionForm form,
300
                              HttpServletRequest request,
301
                              HttpServletRequest request,
301
                              HttpServletResponse response)
302
                              HttpServletResponse response)
302
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
303
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
303
    {
304
    {
304
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
305
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
305
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
306
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
306
 
307
 
307
        if(request.getParameter("questionId") != null)
308
        if(request.getParameter("questionId") != null)
308
        {
309
        {
309
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
310
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
310
 
311
 
311
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
312
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
312
 
313
 
313
            if(!qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT) && qView.getQuestionItems().size() == 0)
314
            if(!qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT) && qView.getQuestionItems().size() == 0)
314
            {
315
            {
315
                addError(request,"assessment.submit.form.error.question.need.hoption.first");
316
                addError(request,"assessment.submit.form.error.question.need.hoption.first");
316
                return mapping.getInputForward();
317
                return mapping.getInputForward();
317
            }
318
            }
318
 
319
 
319
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
320
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
320
                qView.getPossibleLabels().add(new AssessmentQuestionPossibleAnswerView());
321
                qView.getPossibleLabels().add(new AssessmentQuestionPossibleAnswerView());
321
 
322
 
322
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
323
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
323
            {
324
            {
324
                long id = assessmentForm.getCounterAndDec();
325
                long id = assessmentForm.getCounterAndDec();
325
                AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
326
                AssessmentQuestionPossibleAnswerView pView = new AssessmentQuestionPossibleAnswerView();
326
                pView.setId(id);
327
                pView.setId(id);
327
                //pView.setType(qView.getType());
328
                //pView.setType(qView.getType());
328
                iView.getPossibleAnswers().add(pView);
329
                iView.getPossibleAnswers().add(pView);
329
            }
330
            }
330
        }
331
        }
331
 
332
 
332
        return mapping.getInputForward();
333
        return mapping.getInputForward();
333
    }
334
    }
334
 
335
 
335
    public ActionForward removeCandidateOption(ActionMapping mapping,
336
    public ActionForward removeCandidateOption(ActionMapping mapping,
336
                              ActionForm form,
337
                              ActionForm form,
337
                              HttpServletRequest request,
338
                              HttpServletRequest request,
338
                              HttpServletResponse response)
339
                              HttpServletResponse response)
339
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
340
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
340
    {
341
    {
341
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
342
        AssessmentsForm assessmentForm = (AssessmentsForm) form;
342
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
343
        AssessmentView assessmentView = assessmentForm.getAssessmentView();
343
 
344
 
344
        if(request.getParameter("questionId") != null && request.getParameter("candidateId") != null)
345
        if(request.getParameter("questionId") != null && request.getParameter("candidateId") != null)
345
        {
346
        {
346
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
347
            int questionIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("questionId"));
347
            int candidateIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("candidateId"));
348
            int candidateIndex = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(request.getParameter("candidateId"));
348
 
349
 
349
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
350
            AssessmentQuestionView qView = assessmentView.getQuestions().get(questionIndex);
350
 
351
 
351
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
352
            if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
352
                qView.getPossibleLabels().remove(candidateIndex);
353
                qView.getPossibleLabels().remove(candidateIndex);
353
 
354
 
354
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = "";
355
            1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = "";
355
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
356
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
356
            {
357
            {
357
                AssessmentQuestionPossibleAnswerView pView = iView.getPossibleAnswers().get(candidateIndex);
358
                AssessmentQuestionPossibleAnswerView pView = iView.getPossibleAnswers().get(candidateIndex);
358
                iView.getPossibleAnswers().remove(candidateIndex);
359
                iView.getPossibleAnswers().remove(candidateIndex);
359
                candidatesToDelete = candidatesToDelete+pView.getId()+",";
360
                candidatesToDelete = candidatesToDelete+pView.getId()+",";
360
            }
361
            }
361
 
362
 
362
            assessmentView.setDeletedCandidates(assessmentView.getDeletedCandidates().concat(candidatesToDelete));
363
            assessmentView.setDeletedCandidates(assessmentView.getDeletedCandidates().concat(candidatesToDelete));
363
        }
364
        }
364
 
365
 
365
        return mapping.getInputForward();
366
        return mapping.getInputForward();
366
    }
367
    }
367
 
368
 
368
 
369
 
369
    public ActionForward save(ActionMapping mapping,
370
    public ActionForward save(ActionMapping mapping,
370
                              ActionForm form,
371
                              ActionForm form,
371
                              HttpServletRequest request,
372
                              HttpServletRequest request,
372
                              HttpServletResponse response)
373
                              HttpServletResponse response)
373
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
374
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
374
    {
375
    {
375
        try
376
        try
376
        {
377
        {
377
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
378
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
378
 
379
 
379
            AssessmentView view = assessmentsForm.getAssessmentView();
380
            AssessmentView view = assessmentsForm.getAssessmentView();
380
            view.getCourseUnit().setId(assessmentsForm.getCourseUnitId());
381
            view.getCourseUnit().setId(assessmentsForm.getCourseUnitId());
381
 
382
 
382
            for(AssessmentQuestionView qView : view.getQuestions())
383
            for(AssessmentQuestionView qView : view.getQuestions())
383
            {
384
            {
384
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
385
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
385
                {  //tratar das questoes de matriz
386
                {  //tratar das questoes de matriz
386
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
387
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
387
                    {
388
                    {
388
                        int index = 0;
389
                        int index = 0;
389
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
390
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
390
                        {
391
                        {
391
                            pView.setTextpt(qView.getPossibleLabels().get(index).getTextpt());
392
                            pView.setTextpt(qView.getPossibleLabels().get(index).getTextpt());
392
                            index++;
393
                            index++;
393
                        }
394
                        }
394
                    }
395
                    }
395
                }
396
                }
396
                //tratar das imagens
397
                //tratar das imagens
397
                if(qView.getBigImage() != null && qView.getBigImage().getFileSize() !=0)
398
                if(qView.getBigImage() != null && qView.getBigImage().getFileSize() !=0)
398
                {
399
                {
399
                    1.5.0/docs/api/java/lang/String.html">String description = view.getTitle()+qView.getTextpt();
400
                    1.5.0/docs/api/java/lang/String.html">String description = view.getTitle()+qView.getTextpt();
400
                    qView.setImage(DomainUtils.getNewImage(qView.getBigImage(),description));
401
                    qView.setImage(DomainUtils.getNewImage(qView.getBigImage(),description));
401
                }
402
                }
402
                //tratar das cota��es das possiveis respostas
403
                //tratar das cota��es das possiveis respostas
403
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
404
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
404
                {
405
                {
405
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
406
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
406
                    {
407
                    {
407
                        if(pView.isCorrect())
408
                        if(pView.isCorrect())
408
                            pView.setQuotation(qView.getQuotation());
409
                            pView.setQuotation(qView.getQuotation());
409
                    }
410
                    }
410
                }
411
                }
411
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK))
412
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK))
412
                {   double quotationSplit=0;
413
                {   double quotationSplit=0;
413
                    int questionsCorrected=0;
414
                    int questionsCorrected=0;
414
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
415
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
415
                    {
416
                    {
416
                        if(pView.isCorrect())
417
                        if(pView.isCorrect())
417
                            questionsCorrected++;
418
                            questionsCorrected++;
418
                    }
419
                    }
419
                    //teste
420
                    //teste
420
                    double cotacao = qView.getQuotation();
421
                    double cotacao = qView.getQuotation();
421
                    double questionCorrectedD = questionsCorrected;
422
                    double questionCorrectedD = questionsCorrected;
422
                    quotationSplit = cotacao / questionCorrectedD;
423
                    quotationSplit = cotacao / questionCorrectedD;
423
                    //quotationSplit = qView.getQuotation() / questionsCorrected;
424
                    //quotationSplit = qView.getQuotation() / questionsCorrected;
424
                    //valor a atribuir as respostas possiveis obtido
425
                    //valor a atribuir as respostas possiveis obtido
425
                    //falta atribuir
426
                    //falta atribuir
426
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
427
                    for(AssessmentQuestionPossibleAnswerView pView : qView.getQuestionItems().get(0).getPossibleAnswers())
427
                    {
428
                    {
428
                        if(pView.isCorrect())
429
                        if(pView.isCorrect())
429
                            pView.setQuotation(quotationSplit);
430
                            pView.setQuotation(quotationSplit);
430
                    }
431
                    }
431
                }
432
                }
432
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
433
                if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
433
                {
434
                {
434
                    double quotationSplit=0;
435
                    double quotationSplit=0;
435
                    int questionsCorrected=0;
436
                    int questionsCorrected=0;
436
                    //correr items e respostas possiveis
437
                    //correr items e respostas possiveis
437
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
438
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
438
                    {
439
                    {
439
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
440
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
440
                        {
441
                        {
441
                            if(pView.isCorrect())
442
                            if(pView.isCorrect())
442
                                questionsCorrected++;
443
                                questionsCorrected++;
443
                        }
444
                        }
444
                    }
445
                    }
445
                    double cotacao = qView.getQuotation();
446
                    double cotacao = qView.getQuotation();
446
                    double questionCorrectedD = questionsCorrected;
447
                    double questionCorrectedD = questionsCorrected;
447
                    quotationSplit = cotacao / questionCorrectedD;
448
                    quotationSplit = cotacao / questionCorrectedD;
448
                    //quotationSplit = qView.getQuotation() / questionsCorrected;
449
                    //quotationSplit = qView.getQuotation() / questionsCorrected;
449
                    //valor a atribuir as respostas possiveis obtido
450
                    //valor a atribuir as respostas possiveis obtido
450
                    //falta atribuir
451
                    //falta atribuir
451
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
452
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
452
                    {
453
                    {
453
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
454
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
454
                        {
455
                        {
455
                            if(pView.isCorrect())
456
                            if(pView.isCorrect())
456
                                pView.setQuotation(quotationSplit);
457
                                pView.setQuotation(quotationSplit);
457
                        }
458
                        }
458
                    }
459
                    }
459
                }
460
                }
460
 
461
 
461
 
462
 
462
            }
463
            }
463
 
464
 
464
            IServiceManager sm = ServiceManager.getInstance();
465
            IServiceManager sm = ServiceManager.getInstance();
465
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
466
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
466
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view};
467
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view};
467
            boolean newAssessment = true;
468
            boolean newAssessment = true;
468
            if(view.getId() > 0)
469
            if(view.getId() > 0)
469
                newAssessment = false;
470
                newAssessment = false;
470
 
471
 
471
            AssessmentView assessmentView;
472
            AssessmentView assessmentView;
472
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"CreateEditAssessment",args,names);
473
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"CreateEditAssessment",args,names);
473
 
474
 
474
            if(assessmentView != null)
475
            if(assessmentView != null)
475
            {
476
            {
476
                if(newAssessment)
477
                if(newAssessment)
477
                    addMessage(request, "assessment.message.created.success");
478
                    addMessage(request, "assessment.message.created.success");
478
                else
479
                else
479
                    addMessage(request, "assessment.message.edited.success");
480
                    addMessage(request, "assessment.message.edited.success");
480
            }
481
            }
481
 
482
 
482
            return mapping.findForward("serviceZone");
483
            return mapping.findForward("serviceZone");
483
        }
484
        }
484
        catch (FilterChainFailedException e)
485
        catch (FilterChainFailedException e)
485
        {
486
        {
486
            return mapping.findForward("error401");
487
            return mapping.findForward("error401");
487
        }
488
        }
488
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
489
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
489
        {
490
        {
490
            logger.error(e, e);
491
            logger.error(e, e);
491
            throw e;
492
            throw e;
492
        }
493
        }
493
    }
494
    }
494
 
495
 
495
    public ActionForward edit(ActionMapping mapping,
496
    public ActionForward edit(ActionMapping mapping,
496
                              ActionForm form,
497
                              ActionForm form,
497
                              HttpServletRequest request,
498
                              HttpServletRequest request,
498
                              HttpServletResponse response)
499
                              HttpServletResponse response)
499
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
500
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
500
    {
501
    {
501
        try {
502
        try {
502
            IServiceManager sm = ServiceManager.getInstance();
503
            IServiceManager sm = ServiceManager.getInstance();
503
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
504
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
504
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
505
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
505
 
506
 
506
            AssessmentView view;
507
            AssessmentView view;
507
            view = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadEditAssessment",args,names);
508
            view = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadEditAssessment",args,names);
508
 
509
 
509
            if(view != null)
510
            if(view != null)
510
            {
511
            {
511
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
512
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
512
                assessmentForm.setCourseUnitId(view.getCourseUnit().getId());
513
                assessmentForm.setCourseUnitId(view.getCourseUnit().getId());
513
 
514
 
514
 
515
 
515
                for(AssessmentQuestionView qView : view.getQuestions())
516
                for(AssessmentQuestionView qView : view.getQuestions())
516
                {
517
                {
517
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
518
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
518
                    {
519
                    {
519
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
520
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
520
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
521
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
521
                        {
522
                        {
522
                            AssessmentQuestionPossibleAnswerView pViewAux = new AssessmentQuestionPossibleAnswerView();
523
                            AssessmentQuestionPossibleAnswerView pViewAux = new AssessmentQuestionPossibleAnswerView();
523
                            pViewAux.setTextpt(pView.getTextpt());
524
                            pViewAux.setTextpt(pView.getTextpt());
524
                            qView.getPossibleLabels().add(pViewAux);
525
                            qView.getPossibleLabels().add(pViewAux);
525
                        }
526
                        }
526
                    }
527
                    }
527
                }
528
                }
528
 
529
 
529
                assessmentForm.setAssessmentView(view);
530
                assessmentForm.setAssessmentView(view);
530
 
531
 
531
                return mapping.getInputForward();
532
                return mapping.getInputForward();
532
            }
533
            }
533
            return mapping.findForward("serviceZone");
534
            return mapping.findForward("serviceZone");
534
        }
535
        }
535
        catch(FilterChainFailedException e)
536
        catch(FilterChainFailedException e)
536
        {
537
        {
537
            return mapping.findForward("error401");
538
            return mapping.findForward("error401");
538
        }
539
        }
539
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
540
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
540
        {
541
        {
541
            logger.error(e, e);
542
            logger.error(e, e);
542
            throw e;
543
            throw e;
543
        }
544
        }
544
    }
545
    }
545
 
546
 
546
 
547
 
547
    public ActionForward clone(ActionMapping mapping,
548
    public ActionForward clone(ActionMapping mapping,
548
                              ActionForm form,
549
                              ActionForm form,
549
                              HttpServletRequest request,
550
                              HttpServletRequest request,
550
                              HttpServletResponse response)
551
                              HttpServletResponse response)
551
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
552
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
552
    {
553
    {
553
        try {
554
        try {
554
            IServiceManager sm = ServiceManager.getInstance();
555
            IServiceManager sm = ServiceManager.getInstance();
555
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
556
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
556
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
557
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
557
 
558
 
558
            AssessmentView assessmentView;
559
            AssessmentView assessmentView;
559
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadCloneAssessment",args,names);
560
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadCloneAssessment",args,names);
560
 
561
 
561
            if(assessmentView != null)
562
            if(assessmentView != null)
562
            {
563
            {
563
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
564
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
564
                assessmentForm.setCourseUnitId(assessmentView.getCourseUnit().getId());
565
                assessmentForm.setCourseUnitId(assessmentView.getCourseUnit().getId());
565
 
566
 
566
                assessmentView.setId(assessmentForm.getCounterAndDec());
567
                assessmentView.setId(assessmentForm.getCounterAndDec());
567
                assessmentView.setTitle(null);
568
                assessmentView.setTitle(null);
568
 
569
 
569
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
570
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
570
                {
571
                {
571
                    qView.setId(assessmentForm.getCounterAndDec());
572
                    qView.setId(assessmentForm.getCounterAndDec());
572
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
573
                    for(AssessmentQuestionItemView iView : qView.getQuestionItems())
573
                    {
574
                    {
574
                        iView.setId(assessmentForm.getCounterAndDec());
575
                        iView.setId(assessmentForm.getCounterAndDec());
575
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
576
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
576
                        {
577
                        {
577
                            pView.setId(assessmentForm.getCounterAndDec());
578
                            pView.setId(assessmentForm.getCounterAndDec());
578
                        }
579
                        }
579
                    }
580
                    }
580
                }
581
                }
581
 
582
 
582
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
583
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
583
                {
584
                {
584
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
585
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
585
                    {
586
                    {
586
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
587
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
587
                        for(AssessmentQuestionPossibleAnswerView pAView : iView.getPossibleAnswers())
588
                        for(AssessmentQuestionPossibleAnswerView pAView : iView.getPossibleAnswers())
588
                        {
589
                        {
589
                            AssessmentQuestionPossibleAnswerView pAViewAux = new AssessmentQuestionPossibleAnswerView();
590
                            AssessmentQuestionPossibleAnswerView pAViewAux = new AssessmentQuestionPossibleAnswerView();
590
                            pAViewAux.setTextpt(pAView.getTextpt());
591
                            pAViewAux.setTextpt(pAView.getTextpt());
591
                            qView.getPossibleLabels().add(pAViewAux);
592
                            qView.getPossibleLabels().add(pAViewAux);
592
                        }
593
                        }
593
                    }
594
                    }
594
                }
595
                }
595
 
596
 
596
                assessmentForm.setAssessmentView(assessmentView);
597
                assessmentForm.setAssessmentView(assessmentView);
597
 
598
 
598
                return mapping.getInputForward();
599
                return mapping.getInputForward();
599
            }
600
            }
600
            return mapping.findForward("serviceZone");
601
            return mapping.findForward("serviceZone");
601
        }
602
        }
602
        catch(FilterChainFailedException e)
603
        catch(FilterChainFailedException e)
603
        {
604
        {
604
            return mapping.findForward("error401");
605
            return mapping.findForward("error401");
605
        }
606
        }
606
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
607
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
607
        {
608
        {
608
            logger.error(e, e);
609
            logger.error(e, e);
609
            throw e;
610
            throw e;
610
        }
611
        }
611
    }
612
    }
612
 
613
 
613
    public ActionForward schedule(ActionMapping mapping,
614
    public ActionForward schedule(ActionMapping mapping,
614
                              ActionForm form,
615
                              ActionForm form,
615
                              HttpServletRequest request,
616
                              HttpServletRequest request,
616
                              HttpServletResponse response)
617
                              HttpServletResponse response)
617
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
618
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
618
    {
619
    {
619
        try {
620
        try {
620
            IServiceManager sm = ServiceManager.getInstance();
621
            IServiceManager sm = ServiceManager.getInstance();
621
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
622
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
622
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
623
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
623
 
624
 
624
            AssessmentView assessmentView;
625
            AssessmentView assessmentView;
625
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadScheduleAssessment",args,names);
626
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadScheduleAssessment",args,names);
626
 
627
 
627
            if(assessmentView != null)
628
            if(assessmentView != null)
628
            {
629
            {
629
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
630
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
630
                assessmentForm.setAssessmentView(assessmentView);
631
                assessmentForm.setAssessmentView(assessmentView);
631
                assessmentForm.setPossibleUsersResponse(assessmentView.getCourseUnit().getStudentsOrderedByName());
632
                assessmentForm.setPossibleUsersResponse(assessmentView.getCourseUnit().getStudentsOrderedByName());
632
 
633
 
633
                assessmentForm.setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.getResponses().size()]);
634
                assessmentForm.setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.getResponses().size()]);
634
                for(int i=0;i<assessmentView.getResponses().size();i++)
635
                for(int i=0;i<assessmentView.getResponses().size();i++)
635
                {
636
                {
636
                    assessmentForm.getSelectedUsers()[i] = 1.5.0/docs/api/java/lang/String.html">String.valueOf(assessmentView.getResponses().get(i).getOwner().getId());
637
                    assessmentForm.getSelectedUsers()[i] = 1.5.0/docs/api/java/lang/String.html">String.valueOf(assessmentView.getResponses().get(i).getOwner().getId());
637
                }
638
                }
638
 
639
 
639
                return mapping.findForward("schedule");
640
                return mapping.findForward("schedule");
640
            }
641
            }
641
            return mapping.findForward("serviceZone");
642
            return mapping.findForward("serviceZone");
642
        }
643
        }
643
        catch(FilterChainFailedException e)
644
        catch(FilterChainFailedException e)
644
        {
645
        {
645
            return mapping.findForward("error401");
646
            return mapping.findForward("error401");
646
        }
647
        }
647
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
648
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
648
        {
649
        {
649
            logger.error(e, e);
650
            logger.error(e, e);
650
            throw e;
651
            throw e;
651
        }
652
        }
652
    }
653
    }
653
 
654
 
654
 
655
 
655
    public ActionForward saveSchedule(ActionMapping mapping,
656
    public ActionForward saveSchedule(ActionMapping mapping,
656
                              ActionForm form,
657
                              ActionForm form,
657
                              HttpServletRequest request,
658
                              HttpServletRequest request,
658
                              HttpServletResponse response)
659
                              HttpServletResponse response)
659
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
660
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
660
    {
661
    {
661
        try
662
        try
662
        {
663
        {
663
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
664
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
664
 
665
 
665
            AssessmentView view = assessmentsForm.getAssessmentView();
666
            AssessmentView view = assessmentsForm.getAssessmentView();
666
            //tratar as datas
667
            //tratar as datas
667
            if(view.getType().equals(Globals.ASSESSMENT_TYPE_EVALUATION))
668
            if(view.getType().equals(Globals.ASSESSMENT_TYPE_EVALUATION))
668
            {
669
            {
669
                view.setStartDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate()));
670
                view.setStartDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate()));
670
                view.setEndDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate())); //a data de fim fica a mesma que a data de inicio
671
                view.setEndDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate())); //a data de fim fica a mesma que a data de inicio
-
 
672
                1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c = new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
671
                view.getEndDate().setHours(23);
673
                c.setTime(view.getEndDate());
-
 
674
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.HOUR_OF_DAY,23);
672
                view.getEndDate().setMinutes(59);
675
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.MINUTE,59);
-
 
676
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.SECOND,59);
673
                view.getEndDate().setSeconds(59);
677
                view.setEndDate(c.getTime());
674
            }
678
            }
675
            if(view.getType().equals(Globals.ASSESSMENT_TYPE_SELFEVALUATION))
679
            if(view.getType().equals(Globals.ASSESSMENT_TYPE_SELFEVALUATION))
676
            {
680
            {
677
                view.setStartDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate()));
681
                view.setStartDate(DatesWebUtils.getDateFromString(assessmentsForm.getStartDate()));
678
                view.setEndDate(DatesWebUtils.getDateFromString(assessmentsForm.getEndDate()));
682
                view.setEndDate(DatesWebUtils.getDateFromString(assessmentsForm.getEndDate()));
-
 
683
                1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c = new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
679
                view.getEndDate().setHours(23);
684
                c.setTime(view.getEndDate());
-
 
685
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.HOUR_OF_DAY,23);
680
                view.getEndDate().setMinutes(59);
686
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.MINUTE,59);
-
 
687
                c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.SECOND,59);
681
                view.getEndDate().setSeconds(59);
688
                view.setEndDate(c.getTime());
682
            }
689
            }
683
            //tratar dos tempos
690
            //tratar dos tempos
684
            1.5.0/docs/api/java/lang/String.html">String[] times = assessmentsForm.getTime().split("\\:");
691
            1.5.0/docs/api/java/lang/String.html">String[] times = assessmentsForm.getTime().split("\\:");
685
            int hours = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(times[0]);
692
            int hours = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(times[0]);
686
            int minutes = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(times[1]);
693
            int minutes = 1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(times[1]);
-
 
694
            1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c = new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
-
 
695
            c.setTime(view.getEndDate());
-
 
696
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.YEAR,1970);
-
 
697
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.MONTH,0);
-
 
698
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.DAY_OF_MONTH,1);
-
 
699
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.HOUR_OF_DAY,hours);
-
 
700
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.MINUTE,minutes);
-
 
701
            c.set(1.5.0/docs/api/java/util/Calendar.html">Calendar.SECOND,0);
-
 
702
            view.setEndDate(c.getTime());
687
            view.setTime(new 1.5.0/docs/api/java/sql/Time.html">Time(hours,minutes,0));
703
            view.setTime(c.getTime());
688
            //tratar os alunos selecionados
704
            //tratar os alunos selecionados
689
            List<Long> selectedUsersId = new ArrayList<Long>();
705
            List<Long> selectedUsersId = new ArrayList<Long>();
690
            for(int i=0;i<assessmentsForm.getSelectedUsers().length;i++)
706
            for(int i=0;i<assessmentsForm.getSelectedUsers().length;i++)
691
            {
707
            {
692
                selectedUsersId.add(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(assessmentsForm.getSelectedUsers()[i]));
708
                selectedUsersId.add(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(assessmentsForm.getSelectedUsers()[i]));
693
            }
709
            }
694
 
710
 
695
            //chamada ao servi�o
711
            //chamada ao servi�o
696
            IServiceManager sm = ServiceManager.getInstance();
712
            IServiceManager sm = ServiceManager.getInstance();
697
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
713
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
698
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view,selectedUsersId,request};
714
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view,selectedUsersId,request};
699
 
715
 
700
            AssessmentView assessmentView;
716
            AssessmentView assessmentView;
701
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"ScheduleAssessment",args,names);
717
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"ScheduleAssessment",args,names);
702
 
718
 
703
            if(assessmentView != null)
719
            if(assessmentView != null)
704
            {
720
            {
705
                    addMessage(request, "assessment.message.scheduled.success");
721
                    addMessage(request, "assessment.message.scheduled.success");
706
            }
722
            }
707
 
723
 
708
            return mapping.findForward("serviceZone");
724
            return mapping.findForward("serviceZone");
709
        }
725
        }
710
        catch (FilterChainFailedException e)
726
        catch (FilterChainFailedException e)
711
        {
727
        {
712
            return mapping.findForward("error401");
728
            return mapping.findForward("error401");
713
        }
729
        }
714
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
730
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
715
        {
731
        {
716
            logger.error(e, e);
732
            logger.error(e, e);
717
            throw e;
733
            throw e;
718
        }
734
        }
719
    }
735
    }
720
 
736
 
721
    public ActionForward editSchedule(ActionMapping mapping,
737
    public ActionForward editSchedule(ActionMapping mapping,
722
                              ActionForm form,
738
                              ActionForm form,
723
                              HttpServletRequest request,
739
                              HttpServletRequest request,
724
                              HttpServletResponse response)
740
                              HttpServletResponse response)
725
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
741
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
726
    {
742
    {
727
        try {
743
        try {
728
            IServiceManager sm = ServiceManager.getInstance();
744
            IServiceManager sm = ServiceManager.getInstance();
729
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
745
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
730
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
746
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
731
 
747
 
732
            AssessmentView assessmentView;
748
            AssessmentView assessmentView;
733
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadScheduleAssessment",args,names);
749
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadScheduleAssessment",args,names);
734
 
750
 
735
            if(assessmentView != null)
751
            if(assessmentView != null)
736
            {
752
            {
737
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
753
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
738
                assessmentForm.setAssessmentView(assessmentView);
754
                assessmentForm.setAssessmentView(assessmentView);
739
                assessmentForm.setPossibleUsersResponse(assessmentView.getCourseUnit().getStudentsOrderedByName());
755
                assessmentForm.setPossibleUsersResponse(assessmentView.getCourseUnit().getStudentsOrderedByName());
740
 
756
 
741
                assessmentForm.setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.getResponses().size()]);
757
                assessmentForm.setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.getResponses().size()]);
742
                for(int i=0;i<assessmentView.getResponses().size();i++)
758
                for(int i=0;i<assessmentView.getResponses().size();i++)
743
                {
759
                {
744
                    assessmentForm.getSelectedUsers()[i] = 1.5.0/docs/api/java/lang/String.html">String.valueOf(assessmentView.getResponses().get(i).getOwner().getId());
760
                    assessmentForm.getSelectedUsers()[i] = 1.5.0/docs/api/java/lang/String.html">String.valueOf(assessmentView.getResponses().get(i).getOwner().getId());
745
                }
761
                }
746
 
762
 
747
                return mapping.findForward("editSchedule");
763
                return mapping.findForward("editSchedule");
748
            }
764
            }
749
            return mapping.findForward("serviceZone");
765
            return mapping.findForward("serviceZone");
750
        }
766
        }
751
        catch(FilterChainFailedException e)
767
        catch(FilterChainFailedException e)
752
        {
768
        {
753
            return mapping.findForward("error401");
769
            return mapping.findForward("error401");
754
        }
770
        }
755
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
771
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
756
        {
772
        {
757
            logger.error(e, e);
773
            logger.error(e, e);
758
            throw e;
774
            throw e;
759
        }
775
        }
760
    }
776
    }
761
 
777
 
762
    public ActionForward saveEditSchedule(ActionMapping mapping,
778
    public ActionForward saveEditSchedule(ActionMapping mapping,
763
                              ActionForm form,
779
                              ActionForm form,
764
                              HttpServletRequest request,
780
                              HttpServletRequest request,
765
                              HttpServletResponse response)
781
                              HttpServletResponse response)
766
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
782
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
767
    {
783
    {
768
        try
784
        try
769
        {
785
        {
770
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
786
            AssessmentsForm assessmentsForm = (AssessmentsForm) form;
771
 
787
 
772
            AssessmentView view = assessmentsForm.getAssessmentView();
788
            AssessmentView view = assessmentsForm.getAssessmentView();
773
 
789
 
774
            //tratar os alunos selecionados
790
            //tratar os alunos selecionados
775
            List<Long> selectedUsersId = new ArrayList<Long>();
791
            List<Long> selectedUsersId = new ArrayList<Long>();
776
            for(int i=0;i<assessmentsForm.getSelectedUsers().length;i++)
792
            for(int i=0;i<assessmentsForm.getSelectedUsers().length;i++)
777
            {
793
            {
778
                selectedUsersId.add(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(assessmentsForm.getSelectedUsers()[i]));
794
                selectedUsersId.add(1.5.0/docs/api/java/lang/Long.html">Long.parseLong(assessmentsForm.getSelectedUsers()[i]));
779
            }
795
            }
780
 
796
 
781
            //chamada ao serviço
797
            //chamada ao serviço
782
            IServiceManager sm = ServiceManager.getInstance();
798
            IServiceManager sm = ServiceManager.getInstance();
783
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
799
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
784
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view,selectedUsersId,request};
800
            5+0%2Fdocs%2Fapi+Object">Object[] args = {view,selectedUsersId,request};
785
 
801
 
786
            AssessmentView assessmentView;
802
            AssessmentView assessmentView;
787
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"ScheduleAssessment",args,names);
803
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"ScheduleAssessment",args,names);
788
 
804
 
789
            if(assessmentView != null)
805
            if(assessmentView != null)
790
            {
806
            {
791
                    addMessage(request, "assessment.message.scheduled.success");
807
                    addMessage(request, "assessment.message.scheduled.success");
792
            }
808
            }
793
 
809
 
794
            return mapping.findForward("serviceZone");
810
            return mapping.findForward("serviceZone");
795
        }
811
        }
796
        catch (FilterChainFailedException e)
812
        catch (FilterChainFailedException e)
797
        {
813
        {
798
            return mapping.findForward("error401");
814
            return mapping.findForward("error401");
799
        }
815
        }
800
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
816
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
801
        {
817
        {
802
            logger.error(e, e);
818
            logger.error(e, e);
803
            throw e;
819
            throw e;
804
        }
820
        }
805
    }
821
    }
806
 
822
 
807
    public ActionForward loadResponse(ActionMapping mapping,
823
    public ActionForward loadResponse(ActionMapping mapping,
808
                              ActionForm form,
824
                              ActionForm form,
809
                              HttpServletRequest request,
825
                              HttpServletRequest request,
810
                              HttpServletResponse response)
826
                              HttpServletResponse response)
811
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
827
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
812
    {
828
    {
813
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
829
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
814
        create(mapping,form,request,response);
830
        create(mapping,form,request,response);
815
 
831
 
816
        try
832
        try
817
        {
833
        {
818
            long resp = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("resp"));
834
            long resp = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("resp"));
819
 
835
 
820
            IServiceManager sm = ServiceManager.getInstance();
836
            IServiceManager sm = ServiceManager.getInstance();
821
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
837
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
822
            5+0%2Fdocs%2Fapi+Object">Object[] args = {resp};
838
            5+0%2Fdocs%2Fapi+Object">Object[] args = {resp};
823
 
839
 
824
            AssessmentResponseView assessmentResponseView;
840
            AssessmentResponseView assessmentResponseView;
825
            assessmentResponseView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponse",args,names);
841
            assessmentResponseView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponse",args,names);
826
 
842
 
827
            if(assessmentResponseView != null)
843
            if(assessmentResponseView != null)
828
            {
844
            {
829
                assessmentsForm.setAssessmentResponseView(assessmentResponseView);
845
                assessmentsForm.setAssessmentResponseView(assessmentResponseView);
830
                AssessmentView assessmentView = assessmentResponseView.getAssessment();
846
                AssessmentView assessmentView = assessmentResponseView.getAssessment();
831
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
847
                for(AssessmentQuestionView qView : assessmentView.getQuestions())
832
                {
848
                {
833
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
849
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
834
                    {
850
                    {
835
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
851
                        AssessmentQuestionItemView iView = qView.getQuestionItems().get(0);
836
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
852
                        for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
837
                        {
853
                        {
838
                            AssessmentQuestionPossibleAnswerView pViewAux = new AssessmentQuestionPossibleAnswerView();
854
                            AssessmentQuestionPossibleAnswerView pViewAux = new AssessmentQuestionPossibleAnswerView();
839
                            pViewAux.setTextpt(pView.getTextpt());
855
                            pViewAux.setTextpt(pView.getTextpt());
840
                            qView.getPossibleLabels().add(pViewAux);
856
                            qView.getPossibleLabels().add(pViewAux);
841
                        }
857
                        }
842
                    }
858
                    }
843
                }
859
                }
844
                assessmentsForm.setAssessmentView(assessmentView);
860
                assessmentsForm.setAssessmentView(assessmentView);
845
 
861
 
846
                return mapping.findForward("response");
862
                return mapping.findForward("response");
847
 
863
 
848
            }
864
            }
849
            return mapping.findForward("serviceZone");
865
            return mapping.findForward("serviceZone");
850
        }
866
        }
851
        catch (FilterChainFailedException e)
867
        catch (FilterChainFailedException e)
852
        {
868
        {
853
            return mapping.findForward("error401");
869
            return mapping.findForward("error401");
854
        }
870
        }
855
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
871
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
856
        {
872
        {
857
            logger.error(e, e);
873
            logger.error(e, e);
858
            return mapping.findForward("error500");
874
            return mapping.findForward("error500");
859
        }
875
        }
860
    }
876
    }
861
 
877
 
862
 
878
 
863
    public ActionForward answer(ActionMapping mapping,
879
    public ActionForward answer(ActionMapping mapping,
864
                              ActionForm form,
880
                              ActionForm form,
865
                              HttpServletRequest request,
881
                              HttpServletRequest request,
866
                              HttpServletResponse response)
882
                              HttpServletResponse response)
867
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
883
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
868
    {
884
    {
869
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
885
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
870
 
886
 
871
        AssessmentView assessmentView = assessmentsForm.getAssessmentView();
887
        AssessmentView assessmentView = assessmentsForm.getAssessmentView();
872
        AssessmentResponseView rView = assessmentsForm.getAssessmentResponseView();
888
        AssessmentResponseView rView = assessmentsForm.getAssessmentResponseView();
873
 
889
 
874
        for(AssessmentQuestionView qView : assessmentView.getQuestions())
890
        for(AssessmentQuestionView qView : assessmentView.getQuestions())
875
        {
891
        {
876
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
892
            for(AssessmentQuestionItemView iView : qView.getQuestionItems())
877
            {
893
            {
878
                AssessmentQuestionAnswerView aView = new AssessmentQuestionAnswerView();
894
                AssessmentQuestionAnswerView aView = new AssessmentQuestionAnswerView();
879
                aView.setId(-1);
895
                aView.setId(-1);
880
 
896
 
881
                for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
897
                for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
882
                {
898
                {
883
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT))
899
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_TEXT))
884
                    {
900
                    {
885
                        1.5.0/docs/api/java/lang/String.html">String textValue = iView.getTextareaValue();
901
                        1.5.0/docs/api/java/lang/String.html">String textValue = iView.getTextareaValue();
886
                        if(textValue != null && textValue.length() > 0)
902
                        if(textValue != null && textValue.length() > 0)
887
                        {
903
                        {
888
                            aView.setTextAnswer(textValue);
904
                            aView.setTextAnswer(textValue);
889
                            aView.setPossibleAnswer(pView);
905
                            aView.setPossibleAnswer(pView);
890
                            pView.getAnswers().add(aView);
906
                            pView.getAnswers().add(aView);
891
                        }
907
                        }
892
                    }
908
                    }
893
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_PRACTICAL))
909
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_PRACTICAL))
894
                    {
910
                    {
895
                        if(iView.getUploadFile() != null && iView.getUploadFile().getFileSize()>0)
911
                        if(iView.getUploadFile() != null && iView.getUploadFile().getFileSize()>0)
896
                        {
912
                        {
897
                            aView.setPossibleAnswer(pView);
913
                            aView.setPossibleAnswer(pView);
898
                            pView.getAnswers().add(aView);
914
                            pView.getAnswers().add(aView);
899
                        }
915
                        }
900
                    }
916
                    }
901
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
917
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO) || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX))
902
                    {
918
                    {
903
                        1.5.0/docs/api/java/lang/String.html">String radioValue = iView.getRadioValue();
919
                        1.5.0/docs/api/java/lang/String.html">String radioValue = iView.getRadioValue();
904
                        if(radioValue != null)
920
                        if(radioValue != null)
905
                        {
921
                        {
906
                            long pId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(iView.getRadioValue());
922
                            long pId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(iView.getRadioValue());
907
                            if(pView.getId() == pId)
923
                            if(pView.getId() == pId)
908
                            {
924
                            {
909
                                aView.setPossibleAnswer(pView);
925
                                aView.setPossibleAnswer(pView);
910
                                pView.getAnswers().add(aView);
926
                                pView.getAnswers().add(aView);
911
                            }
927
                            }
912
                        }
928
                        }
913
                    }
929
                    }
914
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK))
930
                    else if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK))
915
                    {
931
                    {
916
                        if(pView.isCheckbox())
932
                        if(pView.isCheckbox())
917
                        {
933
                        {
918
                            AssessmentQuestionAnswerView aView2 = new AssessmentQuestionAnswerView();
934
                            AssessmentQuestionAnswerView aView2 = new AssessmentQuestionAnswerView();
919
                            aView2.setId(-1);
935
                            aView2.setId(-1);
920
                            aView2.setPossibleAnswer(pView);
936
                            aView2.setPossibleAnswer(pView);
921
                            pView.getAnswers().add(aView2);
937
                            pView.getAnswers().add(aView2);
922
                        }
938
                        }
923
                    }
939
                    }
924
                }
940
                }
925
            }
941
            }
926
        }
942
        }
927
 
943
 
928
          try
944
          try
929
        {
945
        {
930
            IServiceManager sm = ServiceManager.getInstance();
946
            IServiceManager sm = ServiceManager.getInstance();
931
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
947
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
932
            5+0%2Fdocs%2Fapi+Object">Object[] args = {rView.getId(),assessmentView};
948
            5+0%2Fdocs%2Fapi+Object">Object[] args = {rView.getId(),assessmentView};
933
 
949
 
934
            AssessmentView aView;
950
            AssessmentView aView;
935
            aView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"InsertAssessmentAnswers",args,names);
951
            aView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"InsertAssessmentAnswers",args,names);
936
 
952
 
937
            if(aView != null)
953
            if(aView != null)
938
            {
954
            {
939
                addMessage(request, "assessment.message.answered.success");
955
                addMessage(request, "assessment.message.answered.success");
940
            }
956
            }
941
 
957
 
942
            return mapping.findForward("home");
958
            return mapping.findForward("home");
943
        }
959
        }
944
        catch (FilterChainFailedException e)
960
        catch (FilterChainFailedException e)
945
        {
961
        {
946
            return mapping.findForward("error401");
962
            return mapping.findForward("error401");
947
        }
963
        }
948
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
964
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
949
        {
965
        {
950
            logger.error(e, e);
966
            logger.error(e, e);
951
            return mapping.findForward("error500");
967
            return mapping.findForward("error500");
952
        }
968
        }
953
    }
969
    }
954
 
970
 
955
 
971
 
956
    public ActionForward startCorrect(ActionMapping mapping,
972
    public ActionForward startCorrect(ActionMapping mapping,
957
                              ActionForm form,
973
                              ActionForm form,
958
                              HttpServletRequest request,
974
                              HttpServletRequest request,
959
                              HttpServletResponse response)
975
                              HttpServletResponse response)
960
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
976
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
961
    {
977
    {
962
        try {
978
        try {
963
            IServiceManager sm = ServiceManager.getInstance();
979
            IServiceManager sm = ServiceManager.getInstance();
964
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
980
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
965
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
981
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
966
 
982
 
967
            AssessmentView assessmentView;
983
            AssessmentView assessmentView;
968
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessment",args,names);
984
            assessmentView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessment",args,names);
969
 
985
 
970
            if(assessmentView != null)
986
            if(assessmentView != null)
971
            {
987
            {
972
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
988
                AssessmentsForm assessmentForm = (AssessmentsForm) form;
973
                assessmentForm.setAssessmentView(assessmentView);
989
                assessmentForm.setAssessmentView(assessmentView);
974
 
990
 
975
                return mapping.findForward("startCorrect");
991
                return mapping.findForward("startCorrect");
976
            }
992
            }
977
            return mapping.findForward("serviceZone");
993
            return mapping.findForward("serviceZone");
978
        }
994
        }
979
        catch(FilterChainFailedException e)
995
        catch(FilterChainFailedException e)
980
        {
996
        {
981
            return mapping.findForward("error401");
997
            return mapping.findForward("error401");
982
        }
998
        }
983
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
999
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
984
        {
1000
        {
985
            logger.error(e, e);
1001
            logger.error(e, e);
986
            throw e;
1002
            throw e;
987
        }
1003
        }
988
    }
1004
    }
989
 
1005
 
990
 
1006
 
991
    public ActionForward confirmChoicesCorrect(ActionMapping mapping,
1007
    public ActionForward confirmChoicesCorrect(ActionMapping mapping,
992
                              ActionForm form,
1008
                              ActionForm form,
993
                              HttpServletRequest request,
1009
                              HttpServletRequest request,
994
                              HttpServletResponse response)
1010
                              HttpServletResponse response)
995
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1011
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
996
    {
1012
    {
997
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1013
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
998
        AssessmentView assessmentView = assessmentsForm.getAssessmentView();
1014
        AssessmentView assessmentView = assessmentsForm.getAssessmentView();
999
        //atirar configurações da correcção para a sessão, primeiro remover o que lá estiver depois adicionar
1015
        //atirar configurações da correcção para a sessão, primeiro remover o que lá estiver depois adicionar
1000
        try
1016
        try
1001
        {
1017
        {
1002
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1018
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1003
            sess.remove("correctionConf");
1019
            sess.remove("correctionConf");
1004
            sess.serialize(request,response);
1020
            sess.serialize(request,response);
1005
            List<String> correctionConf = new ArrayList<String>();
1021
            List<String> correctionConf = new ArrayList<String>();
1006
            correctionConf.add(assessmentsForm.getCorrectionSelection());
1022
            correctionConf.add(assessmentsForm.getCorrectionSelection());
1007
            correctionConf.add(assessmentsForm.getCorrectionAnonymous());
1023
            correctionConf.add(assessmentsForm.getCorrectionAnonymous());
1008
            sess.put("correctionConf", (1.5.0/docs/api/java/io/Serializable.html">Serializable) correctionConf);
1024
            sess.put("correctionConf", (1.5.0/docs/api/java/io/Serializable.html">Serializable) correctionConf);
1009
            sess.serialize(request,response);
1025
            sess.serialize(request,response);
1010
        }
1026
        }
1011
        catch(FilterChainFailedException e)
1027
        catch(FilterChainFailedException e)
1012
        {
1028
        {
1013
            return mapping.findForward("error401");
1029
            return mapping.findForward("error401");
1014
        }
1030
        }
1015
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1031
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1016
        {
1032
        {
1017
            logger.error(e,e);
1033
            logger.error(e,e);
1018
            throw e;
1034
            throw e;
1019
        }
1035
        }
1020
        /////////////////////////////////////////////////////////////////////////////
1036
        /////////////////////////////////////////////////////////////////////////////
1021
 
1037
 
1022
        //se a correcção for prova a prova
1038
        //se a correcção for prova a prova
1023
        try{
1039
        try{
1024
            if(assessmentsForm.getCorrectionSelection().equals("assessment"))
1040
            if(assessmentsForm.getCorrectionSelection().equals("assessment"))
1025
            {
1041
            {
1026
 
1042
 
1027
               IServiceManager sm = ServiceManager.getInstance();
1043
               IServiceManager sm = ServiceManager.getInstance();
1028
               1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1044
               1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1029
               5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentView.getId()};
1045
               5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentView.getId()};
1030
 
1046
 
1031
               List<AssessmentResponseView> responsesViews = null;
1047
               List<AssessmentResponseView> responsesViews = null;
1032
               responsesViews = (List<AssessmentResponseView>) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponses",args,names);
1048
               responsesViews = (List<AssessmentResponseView>) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponses",args,names);
1033
               assessmentsForm.setAssessmentResponsesView(responsesViews);
1049
               assessmentsForm.setAssessmentResponsesView(responsesViews);
1034
 
1050
 
1035
            }
1051
            }
1036
            //se a correcção for questão a questão
1052
            //se a correcção for questão a questão
1037
            else if(assessmentsForm.getCorrectionSelection().equals("question"))
1053
            else if(assessmentsForm.getCorrectionSelection().equals("question"))
1038
            {
1054
            {
1039
 
1055
 
1040
               IServiceManager sm = ServiceManager.getInstance();
1056
               IServiceManager sm = ServiceManager.getInstance();
1041
               1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1057
               1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1042
               5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentView.getId()};
1058
               5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentView.getId()};
1043
 
1059
 
1044
               List<AssessmentQuestionView> questionViews = null;
1060
               List<AssessmentQuestionView> questionViews = null;
1045
               questionViews = (List<AssessmentQuestionView>) sm.execute(RequestUtils.getRequester(request,response),"LoadQuestionsResponses",args,names);
1061
               questionViews = (List<AssessmentQuestionView>) sm.execute(RequestUtils.getRequester(request,response),"LoadQuestionsResponses",args,names);
1046
               assessmentsForm.setAssessmentQuestionsRView(questionViews);
1062
               assessmentsForm.setAssessmentQuestionsRView(questionViews);
1047
            }
1063
            }
1048
 
1064
 
1049
        }
1065
        }
1050
        catch(FilterChainFailedException e)
1066
        catch(FilterChainFailedException e)
1051
        {
1067
        {
1052
            return mapping.findForward("error401");
1068
            return mapping.findForward("error401");
1053
        }
1069
        }
1054
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1070
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1055
        {
1071
        {
1056
            logger.error(e, e);
1072
            logger.error(e, e);
1057
            throw e;
1073
            throw e;
1058
        }
1074
        }
1059
        return mapping.findForward("listQuestionsOrResponsesToCorrect");
1075
        return mapping.findForward("listQuestionsOrResponsesToCorrect");
1060
    }
1076
    }
1061
 
1077
 
1062
    public ActionForward loadCorrectResponse(ActionMapping mapping,
1078
    public ActionForward loadCorrectResponse(ActionMapping mapping,
1063
                              ActionForm form,
1079
                              ActionForm form,
1064
                              HttpServletRequest request,
1080
                              HttpServletRequest request,
1065
                              HttpServletResponse response)
1081
                              HttpServletResponse response)
1066
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1082
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1067
    {
1083
    {
1068
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1084
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1069
 
1085
 
1070
        try
1086
        try
1071
        {   //buscar configurações da correcção à sessão
1087
        {   //buscar configurações da correcção à sessão
1072
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1088
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1073
            List<String> l = (List<String>) sess.get("correctionConf");
1089
            List<String> l = (List<String>) sess.get("correctionConf");
1074
            assessmentsForm.setCorrectionSelection(l.get(0));
1090
            assessmentsForm.setCorrectionSelection(l.get(0));
1075
            assessmentsForm.setCorrectionAnonymous(l.get(1));
1091
            assessmentsForm.setCorrectionAnonymous(l.get(1));
1076
            /////////////////////////////////////////////////////////
1092
            /////////////////////////////////////////////////////////
1077
            long resp = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("respId"));
1093
            long resp = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("respId"));
1078
 
1094
 
1079
            IServiceManager sm = ServiceManager.getInstance();
1095
            IServiceManager sm = ServiceManager.getInstance();
1080
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1096
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1081
            5+0%2Fdocs%2Fapi+Object">Object[] args = {resp};
1097
            5+0%2Fdocs%2Fapi+Object">Object[] args = {resp};
1082
 
1098
 
1083
            AssessmentResponseView assessmentResponseView;
1099
            AssessmentResponseView assessmentResponseView;
1084
            assessmentResponseView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponse",args,names);
1100
            assessmentResponseView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"LoadAssessmentResponse",args,names);
1085
 
1101
 
1086
            if(assessmentResponseView != null)
1102
            if(assessmentResponseView != null)
1087
            {
1103
            {
1088
                AssessmentView assessmentView = assessmentResponseView.getAssessment();
1104
                AssessmentView assessmentView = assessmentResponseView.getAssessment();
1089
                List<AssessmentQuestionView> questionList = new ArrayList<AssessmentQuestionView>(assessmentView.getQuestions());
1105
                List<AssessmentQuestionView> questionList = new ArrayList<AssessmentQuestionView>(assessmentView.getQuestions());
1090
                //so interessam as questoes de texto e praticas
1106
                //so interessam as questoes de texto e praticas
1091
                for(AssessmentQuestionView qView : questionList)
1107
                for(AssessmentQuestionView qView : questionList)
1092
                {
1108
                {
1093
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX)
1109
                    if(qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_MATRIX)
1094
                            || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK)
1110
                            || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_CHECK)
1095
                            || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
1111
                            || qView.getType().equals(Globals.ASSESSMENT_QUESTION_TYPE_RADIO))
1096
                    {
1112
                    {
1097
                        assessmentView.getQuestions().remove(qView);
1113
                        assessmentView.getQuestions().remove(qView);
1098
                    }
1114
                    }
1099
                    //verificar se existe resposta a esta questão
1115
                    //verificar se existe resposta a esta questão
1100
                    else{
1116
                    else{
1101
                        boolean exist = false;
1117
                        boolean exist = false;
1102
                        for(AssessmentQuestionItemView iView : qView.getQuestionItems())
1118
                        for(AssessmentQuestionItemView iView : qView.getQuestionItems())
1103
                        {
1119
                        {
1104
                            for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
1120
                            for(AssessmentQuestionPossibleAnswerView pView : iView.getPossibleAnswers())
1105
                            {
1121
                            {
1106
                                for(AssessmentQuestionAnswerView aView : assessmentResponseView.getAnswers())
1122
                                for(AssessmentQuestionAnswerView aView : assessmentResponseView.getAnswers())
1107
                                {
1123
                                {
1108
                                    if(aView.getPossibleAnswer().getId() == pView.getId())
1124
                                    if(aView.getPossibleAnswer().getId() == pView.getId())
1109
                                    {
1125
                                    {
1110
                                        exist = true;
1126
                                        exist = true;
1111
                                    }
1127
                                    }
1112
                                }
1128
                                }
1113
                            }
1129
                            }
1114
                        }
1130
                        }
1115
                        if(!exist)
1131
                        if(!exist)
1116
                        {
1132
                        {
1117
                            assessmentView.getQuestions().remove(qView);    
1133
                            assessmentView.getQuestions().remove(qView);    
1118
                        }
1134
                        }
1119
                    }
1135
                    }
1120
                }
1136
                }
1121
                ///////////////////////////////////////////////////
1137
                ///////////////////////////////////////////////////
1122
                //apagar as answers que ja estao corrigidas (corrigidas automaticamente) ou corrigidas questao a questao
1138
                //apagar as answers que ja estao corrigidas (corrigidas automaticamente) ou corrigidas questao a questao
1123
                List<AssessmentQuestionAnswerView> answerList = new ArrayList<AssessmentQuestionAnswerView>(assessmentResponseView.getAnswers());
1139
                List<AssessmentQuestionAnswerView> answerList = new ArrayList<AssessmentQuestionAnswerView>(assessmentResponseView.getAnswers());
1124
                for(AssessmentQuestionAnswerView aView : answerList)
1140
                for(AssessmentQuestionAnswerView aView : answerList)
1125
                {
1141
                {
1126
                    if(aView.isEvaluated())
1142
                    if(aView.isEvaluated())
1127
                    {
1143
                    {
1128
                        assessmentResponseView.getAnswers().remove(aView);
1144
                        assessmentResponseView.getAnswers().remove(aView);
1129
                    }
1145
                    }
1130
                }
1146
                }
1131
 
1147
 
1132
                assessmentsForm.setAssessmentResponseView(assessmentResponseView);
1148
                assessmentsForm.setAssessmentResponseView(assessmentResponseView);
1133
                assessmentsForm.setAssessmentView(assessmentView);
1149
                assessmentsForm.setAssessmentView(assessmentView);
1134
 
1150
 
1135
                return mapping.findForward("loadCorrectResponse");
1151
                return mapping.findForward("loadCorrectResponse");
1136
 
1152
 
1137
            }
1153
            }
1138
            return mapping.findForward("serviceZone");
1154
            return mapping.findForward("serviceZone");
1139
        }
1155
        }
1140
        catch (FilterChainFailedException e)
1156
        catch (FilterChainFailedException e)
1141
        {
1157
        {
1142
            return mapping.findForward("error401");
1158
            return mapping.findForward("error401");
1143
        }
1159
        }
1144
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1160
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1145
        {
1161
        {
1146
            logger.error(e, e);
1162
            logger.error(e, e);
1147
            return mapping.findForward("error500");
1163
            return mapping.findForward("error500");
1148
        }
1164
        }
1149
    }
1165
    }
1150
 
1166
 
1151
    public ActionForward submitCorrectResponse(ActionMapping mapping,
1167
    public ActionForward submitCorrectResponse(ActionMapping mapping,
1152
                              ActionForm form,
1168
                              ActionForm form,
1153
                              HttpServletRequest request,
1169
                              HttpServletRequest request,
1154
                              HttpServletResponse response)
1170
                              HttpServletResponse response)
1155
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1171
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1156
    {
1172
    {
1157
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1173
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1158
        AssessmentResponseView assessmentResponseView = assessmentsForm.getAssessmentResponseView();
1174
        AssessmentResponseView assessmentResponseView = assessmentsForm.getAssessmentResponseView();
1159
       
1175
       
1160
        try
1176
        try
1161
        {
1177
        {
1162
            IServiceManager sm = ServiceManager.getInstance();
1178
            IServiceManager sm = ServiceManager.getInstance();
1163
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1179
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1164
            5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentResponseView};
1180
            5+0%2Fdocs%2Fapi+Object">Object[] args = {assessmentResponseView};
1165
 
1181
 
1166
            AssessmentResponseView aRView;
1182
            AssessmentResponseView aRView;
1167
            aRView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"EvaluateAssessmentResponse",args,names);
1183
            aRView = (AssessmentResponseView) sm.execute(RequestUtils.getRequester(request,response),"EvaluateAssessmentResponse",args,names);
1168
 
1184
 
1169
            if(aRView != null)
1185
            if(aRView != null)
1170
            {
1186
            {
1171
                addMessage(request, "assessment.message.corrected.sucess");
1187
                addMessage(request, "assessment.message.corrected.sucess");
1172
                confirmChoicesCorrect(mapping,form,request,response);
1188
                confirmChoicesCorrect(mapping,form,request,response);
1173
                return mapping.findForward("listQuestionsOrResponsesToCorrect");
1189
                return mapping.findForward("listQuestionsOrResponsesToCorrect");
1174
            }
1190
            }
1175
            return mapping.findForward("serviceZone");
1191
            return mapping.findForward("serviceZone");
1176
        }
1192
        }
1177
        catch (FilterChainFailedException e)
1193
        catch (FilterChainFailedException e)
1178
        {
1194
        {
1179
            return mapping.findForward("error401");
1195
            return mapping.findForward("error401");
1180
        }
1196
        }
1181
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1197
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1182
        {
1198
        {
1183
            logger.error(e, e);
1199
            logger.error(e, e);
1184
            return mapping.findForward("error500");
1200
            return mapping.findForward("error500");
1185
        }
1201
        }
1186
    }
1202
    }
1187
 
1203
 
1188
    public ActionForward loadQuestionResponses(ActionMapping mapping,
1204
    public ActionForward loadQuestionResponses(ActionMapping mapping,
1189
                              ActionForm form,
1205
                              ActionForm form,
1190
                              HttpServletRequest request,
1206
                              HttpServletRequest request,
1191
                              HttpServletResponse response)
1207
                              HttpServletResponse response)
1192
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1208
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1193
    {
1209
    {
1194
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1210
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1195
 
1211
 
1196
        try
1212
        try
1197
        {   //buscar configuracoes da correccao a sessao
1213
        {   //buscar configuracoes da correccao a sessao
1198
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1214
            UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request,response);
1199
            List<String> l = (List<String>) sess.get("correctionConf");
1215
            List<String> l = (List<String>) sess.get("correctionConf");
1200
            assessmentsForm.setCorrectionSelection(l.get(0));
1216
            assessmentsForm.setCorrectionSelection(l.get(0));
1201
            assessmentsForm.setCorrectionAnonymous(l.get(1));
1217
            assessmentsForm.setCorrectionAnonymous(l.get(1));
1202
            /////////////////////////////////////////////////////////
1218
            /////////////////////////////////////////////////////////
1203
            long question = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("questId"));
1219
            long question = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("questId"));
1204
 
1220
 
1205
            IServiceManager sm = ServiceManager.getInstance();
1221
            IServiceManager sm = ServiceManager.getInstance();
1206
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1222
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1207
            5+0%2Fdocs%2Fapi+Object">Object[] args = {question};
1223
            5+0%2Fdocs%2Fapi+Object">Object[] args = {question};
1208
 
1224
 
1209
            List<AssessmentQuestionAnswerView> assessmentQuestionAnswersView;
1225
            List<AssessmentQuestionAnswerView> assessmentQuestionAnswersView;
1210
            assessmentQuestionAnswersView = (List<AssessmentQuestionAnswerView>) sm.execute(RequestUtils.getRequester(request,response),"LoadQuestionResponses",args,names);
1226
            assessmentQuestionAnswersView = (List<AssessmentQuestionAnswerView>) sm.execute(RequestUtils.getRequester(request,response),"LoadQuestionResponses",args,names);
1211
 
1227
 
1212
            if(assessmentQuestionAnswersView != null)
1228
            if(assessmentQuestionAnswersView != null)
1213
            {
1229
            {
1214
                assessmentsForm.setAssessmentQuestionAnswers(assessmentQuestionAnswersView);
1230
                assessmentsForm.setAssessmentQuestionAnswers(assessmentQuestionAnswersView);
1215
                assessmentsForm.setAssessmentQuestionsRView(new ArrayList<AssessmentQuestionView>());
1231
                assessmentsForm.setAssessmentQuestionsRView(new ArrayList<AssessmentQuestionView>());
1216
                //achar a quest�o
1232
                //achar a quest�o
1217
                for(AssessmentQuestionView qView : assessmentQuestionAnswersView.get(0).getResponse().getAssessment().getQuestions())
1233
                for(AssessmentQuestionView qView : assessmentQuestionAnswersView.get(0).getResponse().getAssessment().getQuestions())
1218
                {
1234
                {
1219
                    if(qView.getId()==question)
1235
                    if(qView.getId()==question)
1220
                    {
1236
                    {
1221
                        assessmentsForm.getAssessmentQuestionsRView().add(qView);
1237
                        assessmentsForm.getAssessmentQuestionsRView().add(qView);
1222
                        break;
1238
                        break;
1223
                    }
1239
                    }
1224
                }
1240
                }
1225
                return mapping.findForward("loadQuestionResponses");
1241
                return mapping.findForward("loadQuestionResponses");
1226
 
1242
 
1227
            }
1243
            }
1228
            return mapping.findForward("serviceZone");
1244
            return mapping.findForward("serviceZone");
1229
        }
1245
        }
1230
        catch (FilterChainFailedException e)
1246
        catch (FilterChainFailedException e)
1231
        {
1247
        {
1232
            return mapping.findForward("error401");
1248
            return mapping.findForward("error401");
1233
        }
1249
        }
1234
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1250
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1235
        {
1251
        {
1236
            logger.error(e, e);
1252
            logger.error(e, e);
1237
            return mapping.findForward("error500");
1253
            return mapping.findForward("error500");
1238
        }
1254
        }
1239
    }
1255
    }
1240
 
1256
 
1241
public ActionForward submitCorrectQuestionResponses(ActionMapping mapping,
1257
public ActionForward submitCorrectQuestionResponses(ActionMapping mapping,
1242
                              ActionForm form,
1258
                              ActionForm form,
1243
                              HttpServletRequest request,
1259
                              HttpServletRequest request,
1244
                              HttpServletResponse response)
1260
                              HttpServletResponse response)
1245
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1261
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1246
    {
1262
    {
1247
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1263
        AssessmentsForm assessmentsForm = (AssessmentsForm) form;
1248
        List<AssessmentQuestionAnswerView> questionAnswersView = assessmentsForm.getAssessmentQuestionAnswers();
1264
        List<AssessmentQuestionAnswerView> questionAnswersView = assessmentsForm.getAssessmentQuestionAnswers();
1249
 
1265
 
1250
        try
1266
        try
1251
        {
1267
        {
1252
            IServiceManager sm = ServiceManager.getInstance();
1268
            IServiceManager sm = ServiceManager.getInstance();
1253
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1269
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1254
            5+0%2Fdocs%2Fapi+Object">Object[] args = {questionAnswersView};
1270
            5+0%2Fdocs%2Fapi+Object">Object[] args = {questionAnswersView};
1255
 
1271
 
1256
           AssessmentView aView;
1272
           AssessmentView aView;
1257
            aView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"EvaluateQuestionResponses",args,names);
1273
            aView = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"EvaluateQuestionResponses",args,names);
1258
 
1274
 
1259
            if(aView != null)
1275
            if(aView != null)
1260
            {
1276
            {
1261
                addMessage(request, "assessment.message.question.corrected.sucess");
1277
                addMessage(request, "assessment.message.question.corrected.sucess");
1262
                assessmentsForm.setAssessmentView(aView);//para o m�todo seguinte funcionar
1278
                assessmentsForm.setAssessmentView(aView);//para o m�todo seguinte funcionar
1263
                confirmChoicesCorrect(mapping,form,request,response);
1279
                confirmChoicesCorrect(mapping,form,request,response);
1264
                return mapping.findForward("listQuestionsOrResponsesToCorrect");
1280
                return mapping.findForward("listQuestionsOrResponsesToCorrect");
1265
            }
1281
            }
1266
            return mapping.findForward("serviceZone");
1282
            return mapping.findForward("serviceZone");
1267
        }
1283
        }
1268
        catch (FilterChainFailedException e)
1284
        catch (FilterChainFailedException e)
1269
        {
1285
        {
1270
            return mapping.findForward("error401");
1286
            return mapping.findForward("error401");
1271
        }
1287
        }
1272
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1288
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1273
        {
1289
        {
1274
            logger.error(e, e);
1290
            logger.error(e, e);
1275
            return mapping.findForward("error500");
1291
            return mapping.findForward("error500");
1276
        }
1292
        }
1277
    }
1293
    }
1278
 
1294
 
1279
 
1295
 
1280
    public ActionForward generateEvaluationsPdf(ActionMapping mapping,
1296
    public ActionForward generateEvaluationsPdf(ActionMapping mapping,
1281
                              ActionForm form,
1297
                              ActionForm form,
1282
                              HttpServletRequest request,
1298
                              HttpServletRequest request,
1283
                              HttpServletResponse response)
1299
                              HttpServletResponse response)
1284
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1300
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
1285
    {
1301
    {
1286
        try {
1302
        try {
1287
            IServiceManager sm = ServiceManager.getInstance();
1303
            IServiceManager sm = ServiceManager.getInstance();
1288
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1304
            1.5.0/docs/api/java/lang/String.html">String[] names = {"serializable"};
1289
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
1305
            5+0%2Fdocs%2Fapi+Object">Object[] args = {new 1.5.0/docs/api/java/lang/Long.html">Long(request.getParameter("id"))};
1290
 
1306
 
1291
            AssessmentView view;
1307
            AssessmentView view;
1292
            view = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"GenerateEvaluationsPdf",args,names);
1308
            view = (AssessmentView) sm.execute(RequestUtils.getRequester(request,response),"GenerateEvaluationsPdf",args,names);
1293
 
1309
 
1294
            if(view != null)
1310
            if(view != null)
1295
            {
1311
            {
1296
                addMessage(request, "assessment.message.evaluations.pdf.generated.sucess");
1312
                addMessage(request, "assessment.message.evaluations.pdf.generated.sucess");
1297
                return mapping.findForward("listAssessments");
1313
                return mapping.findForward("listAssessments");
1298
            }
1314
            }
1299
            return mapping.findForward("listAssessments");
1315
            return mapping.findForward("listAssessments");
1300
        }
1316
        }
1301
        catch(FilterChainFailedException e)
1317
        catch(FilterChainFailedException e)
1302
        {
1318
        {
1303
            return mapping.findForward("error401");
1319
            return mapping.findForward("error401");
1304
        }
1320
        }
1305
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1321
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
1306
        {
1322
        {
1307
            logger.error(e, e);
1323
            logger.error(e, e);
1308
            throw e;
1324
            throw e;
1309
        }
1325
        }
1310
    }
1326
    }
1311
}
1327
}
1312
 
1328