package pt.estgp.estgweb.web.controllers.assessments;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.views.*;
import pt.estgp.estgweb.utils.DatesWebUtils;
import pt.estgp.estgweb.utils.Globals;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.form.assessments.AssessmentsForm;
import pt.estgp.estgweb.web.utils.DomainUtils;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: Filipe Matos
* Date: 21/Jul/2013
* Time: 14:40:41
* To change this template use File | Settings | File Templates.
*/
public class AssessmentController
extends AddRolesController
{
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);
public ActionForward nothing
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
//este metodo serve apenas para actualizar paginas
return mapping.
getInputForward();
}
public ActionForward changeAssessmentType
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
getAssessmentQuestionTypesSelfEvaluation().
remove("text");
assessmentForm.
getAssessmentQuestionTypesSelfEvaluation().
remove("practical");
return mapping.
getInputForward();
}
public ActionForward updateRadioBox
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
if(request.
getParameter("questionId") !=
null && request.
getParameter("candidateId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
int candidateIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("candidateId"));
int itemIndex=
0;
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
if(request.
getParameter("itemId") !=
null && qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
itemIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("itemId"));
}
int index=
0;
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
List
<AssessmentQuestionPossibleAnswerView
> listaPAV = iView.
getPossibleAnswers();
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_RADIO))
{
for (int i=
0;i
<listaPAV.
size();i++
)
{
if(i
!=candidateIndex
){
listaPAV.
get(i
).
setCorrect(false);
}
}
}
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
for (int i=
0;i
<listaPAV.
size();i++
)
{
if(index==itemIndex
)
{
if(i
!=candidateIndex
){
listaPAV.
get(i
).
setCorrect(false);
}
}
}
}
index++
;
}
}
return mapping.
getInputForward();
}
//////////////////////PARTE DE TESTES
public ActionForward create
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
{
try
{ ///PARA TESTAR SE APAGA TUDO
UserSessionImpl sess =
(UserSessionImpl
) UserSessionProxy.
loadUserSessionFromRequest(request
);
List
<String
> nomesSessao =
(List
<String
>) sess.
get("nomesSessao");
if(nomesSessao
!=
null)
{
for(int i=
0;i
<nomesSessao.
size();i++
)
{
sess.
remove(nomesSessao.
get(i
));
sess.
serialize(request,response
);
}
sess.
remove("nomesSessao");
sess.
serialize(request,response
);
}
return mapping.
findForward("from.add.role");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
// logger.error(e,e);
throw e
;
}
}
public ActionForward addQuestion
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
long id1 = assessmentForm.
getCounterAndDec();
AssessmentQuestionView qView =
new AssessmentQuestionView
();
qView.
setId(id1
);
qView.
setType(assessmentForm.
getQuestionType());
///meter os meus tipos no globals
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_TEXT) || qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_PRACTICAL))
{
AssessmentQuestionItemView iView =
new AssessmentQuestionItemView
();
iView.
setId(assessmentForm.
getCounterAndDec());
AssessmentQuestionPossibleAnswerView pView =
new AssessmentQuestionPossibleAnswerView
();
pView.
setId(assessmentForm.
getCounterAndDec());
//pView.setType(qView.getType());
iView.
getPossibleAnswers().
add(pView
);
qView.
getQuestionItems().
add(iView
);
}
else if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_CHECK) || qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_RADIO))
{
AssessmentQuestionItemView iView =
new AssessmentQuestionItemView
();
iView.
setId(assessmentForm.
getCounterAndDec());
qView.
getQuestionItems().
add(iView
);
}
assessmentView.
getQuestions().
add(qView
);
return mapping.
getInputForward();
}
public ActionForward removeQuestion
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
if(request.
getParameter("questionId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
1.5.0/docs/api/java/lang/String.html">String questionsToDelete = assessmentView.
getDeletedQuestions()+qView.
getId()+
",";
1.5.0/docs/api/java/lang/String.html">String itemsToDelete = assessmentView.
getDeletedItems();
1.5.0/docs/api/java/lang/String.html">String candidatesToDelete = assessmentView.
getDeletedCandidates();
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
itemsToDelete = itemsToDelete+iView.
getId()+
",";
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
candidatesToDelete = candidatesToDelete+pView.
getId()+
",";
}
}
assessmentView.
setDeletedQuestions(questionsToDelete
);
assessmentView.
setDeletedItems(itemsToDelete
);
assessmentView.
setDeletedCandidates(candidatesToDelete
);
assessmentView.
getQuestions().
remove(questionIndex
);
}
return mapping.
getInputForward();
}
public ActionForward addItemOption
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
long id = assessmentForm.
getCounterAndDec();
if(request.
getParameter("questionId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
AssessmentQuestionItemView iView =
new AssessmentQuestionItemView
();
iView.
setId(id
);
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
for(AssessmentQuestionPossibleAnswerView candidateLabel : qView.
getPossibleLabels())
{
AssessmentQuestionPossibleAnswerView pView =
new AssessmentQuestionPossibleAnswerView
();
pView.
setId(assessmentForm.
getCounterAndDec());
iView.
getPossibleAnswers().
add(pView
);
}
}
qView.
getQuestionItems().
add(iView
);
}
return mapping.
getInputForward();
}
public ActionForward removeItemOption
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
if(request.
getParameter("questionId") !=
null && request.
getParameter("itemId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
int itemIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("itemId"));
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
AssessmentQuestionItemView iView = qView.
getQuestionItems().
get(itemIndex
);
1.5.0/docs/api/java/lang/String.html">String itemsToDelete =
""+iView.
getId()+
",";
1.5.0/docs/api/java/lang/String.html">String candidatesToDelete =
"";
for(AssessmentQuestionPossibleAnswerView cView : iView.
getPossibleAnswers())
{
candidatesToDelete = candidatesToDelete+cView.
getId()+
",";
}
assessmentView.
setDeletedItems(assessmentView.
getDeletedItems().
concat(itemsToDelete
));
assessmentView.
setDeletedCandidates(assessmentView.
getDeletedCandidates().
concat(candidatesToDelete
));
qView.
getQuestionItems().
remove(itemIndex
);
}
return mapping.
getInputForward();
}
public ActionForward addCandidateOption
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
if(request.
getParameter("questionId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
if(!qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_TEXT) && qView.
getQuestionItems().
size() ==
0)
{
addError
(request,
"assessment.submit.form.error.question.need.hoption.first");
return mapping.
getInputForward();
}
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
qView.
getPossibleLabels().
add(new AssessmentQuestionPossibleAnswerView
());
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
long id = assessmentForm.
getCounterAndDec();
AssessmentQuestionPossibleAnswerView pView =
new AssessmentQuestionPossibleAnswerView
();
pView.
setId(id
);
//pView.setType(qView.getType());
iView.
getPossibleAnswers().
add(pView
);
}
}
return mapping.
getInputForward();
}
public ActionForward removeCandidateOption
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentForm.
getAssessmentView();
if(request.
getParameter("questionId") !=
null && request.
getParameter("candidateId") !=
null)
{
int questionIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("questionId"));
int candidateIndex =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(request.
getParameter("candidateId"));
AssessmentQuestionView qView = assessmentView.
getQuestions().
get(questionIndex
);
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
qView.
getPossibleLabels().
remove(candidateIndex
);
1.5.0/docs/api/java/lang/String.html">String candidatesToDelete =
"";
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
AssessmentQuestionPossibleAnswerView pView = iView.
getPossibleAnswers().
get(candidateIndex
);
iView.
getPossibleAnswers().
remove(candidateIndex
);
candidatesToDelete = candidatesToDelete+pView.
getId()+
",";
}
assessmentView.
setDeletedCandidates(assessmentView.
getDeletedCandidates().
concat(candidatesToDelete
));
}
return mapping.
getInputForward();
}
public ActionForward save
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentView view = assessmentsForm.
getAssessmentView();
view.
getCourseUnit().
setId(assessmentsForm.
getCourseUnitId());
for(AssessmentQuestionView qView : view.
getQuestions())
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{ //tratar das questoes de matriz
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
int index =
0;
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
pView.
setTextpt(qView.
getPossibleLabels().
get(index
).
getTextpt());
index++
;
}
}
}
//tratar das imagens
if(qView.
getBigImage() !=
null && qView.
getBigImage().
getFileSize() !=0
)
{
1.5.0/docs/api/java/lang/String.html">String description = view.
getTitle()+qView.
getTextpt();
qView.
setImage(DomainUtils.
getNewImage(qView.
getBigImage(),description
));
}
//tratar das cota��es das possiveis respostas
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_RADIO))
{
for(AssessmentQuestionPossibleAnswerView pView : qView.
getQuestionItems().
get(0
).
getPossibleAnswers())
{
if(pView.
isCorrect())
pView.
setQuotation(qView.
getQuotation());
}
}
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_CHECK))
{ double quotationSplit=
0;
int questionsCorrected=
0;
for(AssessmentQuestionPossibleAnswerView pView : qView.
getQuestionItems().
get(0
).
getPossibleAnswers())
{
if(pView.
isCorrect())
questionsCorrected++
;
}
//teste
double cotacao = qView.
getQuotation();
double questionCorrectedD = questionsCorrected
;
quotationSplit = cotacao / questionCorrectedD
;
//quotationSplit = qView.getQuotation() / questionsCorrected;
//valor a atribuir as respostas possiveis obtido
//falta atribuir
for(AssessmentQuestionPossibleAnswerView pView : qView.
getQuestionItems().
get(0
).
getPossibleAnswers())
{
if(pView.
isCorrect())
pView.
setQuotation(quotationSplit
);
}
}
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
double quotationSplit=
0;
int questionsCorrected=
0;
//correr items e respostas possiveis
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
if(pView.
isCorrect())
questionsCorrected++
;
}
}
double cotacao = qView.
getQuotation();
double questionCorrectedD = questionsCorrected
;
quotationSplit = cotacao / questionCorrectedD
;
//quotationSplit = qView.getQuotation() / questionsCorrected;
//valor a atribuir as respostas possiveis obtido
//falta atribuir
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
if(pView.
isCorrect())
pView.
setQuotation(quotationSplit
);
}
}
}
}
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{view
};
boolean newAssessment =
true;
if(view.
getId() > 0
)
newAssessment =
false;
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"CreateEditAssessment",args,names
);
if(assessmentView
!=
null)
{
if(newAssessment
)
addMessage
(request,
"assessment.message.created.success");
else
addMessage
(request,
"assessment.message.edited.success");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward edit
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView view
;
view =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadEditAssessment",args,names
);
if(view
!=
null)
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
setCourseUnitId(view.
getCourseUnit().
getId());
for(AssessmentQuestionView qView : view.
getQuestions())
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
AssessmentQuestionItemView iView = qView.
getQuestionItems().
get(0
);
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
AssessmentQuestionPossibleAnswerView pViewAux =
new AssessmentQuestionPossibleAnswerView
();
pViewAux.
setTextpt(pView.
getTextpt());
qView.
getPossibleLabels().
add(pViewAux
);
}
}
}
assessmentForm.
setAssessmentView(view
);
return mapping.
getInputForward();
}
return mapping.
findForward("serviceZone");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward clone
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadCloneAssessment",args,names
);
if(assessmentView
!=
null)
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
setCourseUnitId(assessmentView.
getCourseUnit().
getId());
assessmentView.
setId(assessmentForm.
getCounterAndDec());
assessmentView.
setTitle(null);
for(AssessmentQuestionView qView : assessmentView.
getQuestions())
{
qView.
setId(assessmentForm.
getCounterAndDec());
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
iView.
setId(assessmentForm.
getCounterAndDec());
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
pView.
setId(assessmentForm.
getCounterAndDec());
}
}
}
for(AssessmentQuestionView qView : assessmentView.
getQuestions())
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
AssessmentQuestionItemView iView = qView.
getQuestionItems().
get(0
);
for(AssessmentQuestionPossibleAnswerView pAView : iView.
getPossibleAnswers())
{
AssessmentQuestionPossibleAnswerView pAViewAux =
new AssessmentQuestionPossibleAnswerView
();
pAViewAux.
setTextpt(pAView.
getTextpt());
qView.
getPossibleLabels().
add(pAViewAux
);
}
}
}
assessmentForm.
setAssessmentView(assessmentView
);
return mapping.
getInputForward();
}
return mapping.
findForward("serviceZone");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward schedule
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadScheduleAssessment",args,names
);
if(assessmentView
!=
null)
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
setAssessmentView(assessmentView
);
assessmentForm.
setPossibleUsersResponse(assessmentView.
getCourseUnit().
getStudentsOrderedByName());
assessmentForm.
setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.
getResponses().
size()]);
for(int i=
0;i
<assessmentView.
getResponses().
size();i++
)
{
assessmentForm.
getSelectedUsers()[i
] =
1.5.0/docs/api/java/lang/String.html">String.
valueOf(assessmentView.
getResponses().
get(i
).
getOwner().
getId());
}
return mapping.
findForward("schedule");
}
return mapping.
findForward("serviceZone");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward saveSchedule
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentView view = assessmentsForm.
getAssessmentView();
//tratar as datas
if(view.
getType().
equals(Globals.
ASSESSMENT_TYPE_EVALUATION))
{
view.
setStartDate(DatesWebUtils.
getDateFromString(assessmentsForm.
getStartDate()));
view.
setEndDate(DatesWebUtils.
getDateFromString(assessmentsForm.
getStartDate())); //a data de fim fica a mesma que a data de inicio
1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c =
new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
c.
setTime(view.
getEndDate());
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
HOUR_OF_DAY,23
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
MINUTE,59
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
SECOND,59
);
view.
setEndDate(c.
getTime());
}
if(view.
getType().
equals(Globals.
ASSESSMENT_TYPE_SELFEVALUATION))
{
view.
setStartDate(DatesWebUtils.
getDateFromString(assessmentsForm.
getStartDate()));
view.
setEndDate(DatesWebUtils.
getDateFromString(assessmentsForm.
getEndDate()));
1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c =
new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
c.
setTime(view.
getEndDate());
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
HOUR_OF_DAY,23
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
MINUTE,59
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
SECOND,59
);
view.
setEndDate(c.
getTime());
}
//tratar dos tempos
1.5.0/docs/api/java/lang/String.html">String[] times = assessmentsForm.
getTime().
split("\\:");
int hours =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(times
[0
]);
int minutes =
1.5.0/docs/api/java/lang/Integer.html">Integer.
parseInt(times
[1
]);
1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar c =
new 1.5.0/docs/api/java/util/GregorianCalendar.html">GregorianCalendar();
c.
setTime(view.
getEndDate());
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
YEAR,1970
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
MONTH,0
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
DAY_OF_MONTH,1
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
HOUR_OF_DAY,hours
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
MINUTE,minutes
);
c.
set(1.5.0/docs/api/java/util/Calendar.html">Calendar.
SECOND,0
);
view.
setEndDate(c.
getTime());
view.
setTime(c.
getTime());
//tratar os alunos selecionados
List
<Long
> selectedUsersId =
new ArrayList
<Long
>();
for(int i=
0;i
<assessmentsForm.
getSelectedUsers().
length;i++
)
{
selectedUsersId.
add(1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(assessmentsForm.
getSelectedUsers()[i
]));
}
//chamada ao servi�o
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{view,selectedUsersId,request
};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"ScheduleAssessment",args,names
);
if(assessmentView
!=
null)
{
addMessage
(request,
"assessment.message.scheduled.success");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward editSchedule
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadScheduleAssessment",args,names
);
if(assessmentView
!=
null)
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
setAssessmentView(assessmentView
);
assessmentForm.
setPossibleUsersResponse(assessmentView.
getCourseUnit().
getStudentsOrderedByName());
assessmentForm.
setSelectedUsers(new 1.5.0/docs/api/java/lang/String.html">String[assessmentView.
getResponses().
size()]);
for(int i=
0;i
<assessmentView.
getResponses().
size();i++
)
{
assessmentForm.
getSelectedUsers()[i
] =
1.5.0/docs/api/java/lang/String.html">String.
valueOf(assessmentView.
getResponses().
get(i
).
getOwner().
getId());
}
return mapping.
findForward("editSchedule");
}
return mapping.
findForward("serviceZone");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward saveEditSchedule
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentView view = assessmentsForm.
getAssessmentView();
//tratar os alunos selecionados
List
<Long
> selectedUsersId =
new ArrayList
<Long
>();
for(int i=
0;i
<assessmentsForm.
getSelectedUsers().
length;i++
)
{
selectedUsersId.
add(1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(assessmentsForm.
getSelectedUsers()[i
]));
}
//chamada ao serviço
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{view,selectedUsersId,request
};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"ScheduleAssessment",args,names
);
if(assessmentView
!=
null)
{
addMessage
(request,
"assessment.message.scheduled.success");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward loadResponse
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
create
(mapping,form,request,response
);
try
{
long resp =
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(request.
getParameter("resp"));
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{resp
};
AssessmentResponseView assessmentResponseView
;
assessmentResponseView =
(AssessmentResponseView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadAssessmentResponse",args,names
);
if(assessmentResponseView
!=
null)
{
assessmentsForm.
setAssessmentResponseView(assessmentResponseView
);
AssessmentView assessmentView = assessmentResponseView.
getAssessment();
for(AssessmentQuestionView qView : assessmentView.
getQuestions())
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
AssessmentQuestionItemView iView = qView.
getQuestionItems().
get(0
);
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
AssessmentQuestionPossibleAnswerView pViewAux =
new AssessmentQuestionPossibleAnswerView
();
pViewAux.
setTextpt(pView.
getTextpt());
qView.
getPossibleLabels().
add(pViewAux
);
}
}
}
assessmentsForm.
setAssessmentView(assessmentView
);
return mapping.
findForward("response");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward answer
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentsForm.
getAssessmentView();
AssessmentResponseView rView = assessmentsForm.
getAssessmentResponseView();
for(AssessmentQuestionView qView : assessmentView.
getQuestions())
{
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
AssessmentQuestionAnswerView aView =
new AssessmentQuestionAnswerView
();
aView.
setId(-1
);
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_TEXT))
{
1.5.0/docs/api/java/lang/String.html">String textValue = iView.
getTextareaValue();
if(textValue
!=
null && textValue.
length() > 0
)
{
aView.
setTextAnswer(textValue
);
aView.
setPossibleAnswer(pView
);
pView.
getAnswers().
add(aView
);
}
}
else if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_PRACTICAL))
{
if(iView.
getUploadFile() !=
null && iView.
getUploadFile().
getFileSize()>0
)
{
aView.
setPossibleAnswer(pView
);
pView.
getAnswers().
add(aView
);
}
}
else if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_RADIO) || qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX))
{
1.5.0/docs/api/java/lang/String.html">String radioValue = iView.
getRadioValue();
if(radioValue
!=
null)
{
long pId =
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(iView.
getRadioValue());
if(pView.
getId() == pId
)
{
aView.
setPossibleAnswer(pView
);
pView.
getAnswers().
add(aView
);
}
}
}
else if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_CHECK))
{
if(pView.
isCheckbox())
{
AssessmentQuestionAnswerView aView2 =
new AssessmentQuestionAnswerView
();
aView2.
setId(-1
);
aView2.
setPossibleAnswer(pView
);
pView.
getAnswers().
add(aView2
);
}
}
}
}
}
try
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{rView.
getId(),assessmentView
};
AssessmentView aView
;
aView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"InsertAssessmentAnswers",args,names
);
if(aView
!=
null)
{
addMessage
(request,
"assessment.message.answered.success");
}
return mapping.
findForward("home");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward startCorrect
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView assessmentView
;
assessmentView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadAssessment",args,names
);
if(assessmentView
!=
null)
{
AssessmentsForm assessmentForm =
(AssessmentsForm
) form
;
assessmentForm.
setAssessmentView(assessmentView
);
return mapping.
findForward("startCorrect");
}
return mapping.
findForward("serviceZone");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
public ActionForward confirmChoicesCorrect
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentView assessmentView = assessmentsForm.
getAssessmentView();
//atirar configurações da correcção para a sessão, primeiro remover o que lá estiver depois adicionar
try
{
UserSessionImpl sess =
(UserSessionImpl
) UserSessionProxy.
loadUserSession(request,response
);
sess.
remove("correctionConf");
sess.
serialize(request,response
);
List
<String
> correctionConf =
new ArrayList
<String
>();
correctionConf.
add(assessmentsForm.
getCorrectionSelection());
correctionConf.
add(assessmentsForm.
getCorrectionAnonymous());
sess.
put("correctionConf",
(1.5.0/docs/api/java/io/Serializable.html">Serializable) correctionConf
);
sess.
serialize(request,response
);
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e,e
);
throw e
;
}
/////////////////////////////////////////////////////////////////////////////
//se a correcção for prova a prova
try{
if(assessmentsForm.
getCorrectionSelection().
equals("assessment"))
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{assessmentView.
getId()};
List
<AssessmentResponseView
> responsesViews =
null;
responsesViews =
(List
<AssessmentResponseView
>) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadAssessmentResponses",args,names
);
assessmentsForm.
setAssessmentResponsesView(responsesViews
);
}
//se a correcção for questão a questão
else if(assessmentsForm.
getCorrectionSelection().
equals("question"))
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{assessmentView.
getId()};
List
<AssessmentQuestionView
> questionViews =
null;
questionViews =
(List
<AssessmentQuestionView
>) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadQuestionsResponses",args,names
);
assessmentsForm.
setAssessmentQuestionsRView(questionViews
);
}
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
return mapping.
findForward("listQuestionsOrResponsesToCorrect");
}
public ActionForward loadCorrectResponse
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
try
{ //buscar configurações da correcção à sessão
UserSessionImpl sess =
(UserSessionImpl
) UserSessionProxy.
loadUserSession(request,response
);
List
<String
> l =
(List
<String
>) sess.
get("correctionConf");
assessmentsForm.
setCorrectionSelection(l.
get(0
));
assessmentsForm.
setCorrectionAnonymous(l.
get(1
));
/////////////////////////////////////////////////////////
long resp =
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(request.
getParameter("respId"));
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{resp
};
AssessmentResponseView assessmentResponseView
;
assessmentResponseView =
(AssessmentResponseView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadAssessmentResponse",args,names
);
if(assessmentResponseView
!=
null)
{
AssessmentView assessmentView = assessmentResponseView.
getAssessment();
List
<AssessmentQuestionView
> questionList =
new ArrayList
<AssessmentQuestionView
>(assessmentView.
getQuestions());
//so interessam as questoes de texto e praticas
for(AssessmentQuestionView qView : questionList
)
{
if(qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_MATRIX)
|| qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_CHECK)
|| qView.
getType().
equals(Globals.
ASSESSMENT_QUESTION_TYPE_RADIO))
{
assessmentView.
getQuestions().
remove(qView
);
}
//verificar se existe resposta a esta questão
else{
boolean exist =
false;
for(AssessmentQuestionItemView iView : qView.
getQuestionItems())
{
for(AssessmentQuestionPossibleAnswerView pView : iView.
getPossibleAnswers())
{
for(AssessmentQuestionAnswerView aView : assessmentResponseView.
getAnswers())
{
if(aView.
getPossibleAnswer().
getId() == pView.
getId())
{
exist =
true;
}
}
}
}
if(!exist
)
{
assessmentView.
getQuestions().
remove(qView
);
}
}
}
///////////////////////////////////////////////////
//apagar as answers que ja estao corrigidas (corrigidas automaticamente) ou corrigidas questao a questao
List
<AssessmentQuestionAnswerView
> answerList =
new ArrayList
<AssessmentQuestionAnswerView
>(assessmentResponseView.
getAnswers());
for(AssessmentQuestionAnswerView aView : answerList
)
{
if(aView.
isEvaluated())
{
assessmentResponseView.
getAnswers().
remove(aView
);
}
}
assessmentsForm.
setAssessmentResponseView(assessmentResponseView
);
assessmentsForm.
setAssessmentView(assessmentView
);
return mapping.
findForward("loadCorrectResponse");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward submitCorrectResponse
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
AssessmentResponseView assessmentResponseView = assessmentsForm.
getAssessmentResponseView();
try
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{assessmentResponseView
};
AssessmentResponseView aRView
;
aRView =
(AssessmentResponseView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"EvaluateAssessmentResponse",args,names
);
if(aRView
!=
null)
{
addMessage
(request,
"assessment.message.corrected.sucess");
confirmChoicesCorrect
(mapping,form,request,response
);
return mapping.
findForward("listQuestionsOrResponsesToCorrect");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward loadQuestionResponses
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
try
{ //buscar configuracoes da correccao a sessao
UserSessionImpl sess =
(UserSessionImpl
) UserSessionProxy.
loadUserSession(request,response
);
List
<String
> l =
(List
<String
>) sess.
get("correctionConf");
assessmentsForm.
setCorrectionSelection(l.
get(0
));
assessmentsForm.
setCorrectionAnonymous(l.
get(1
));
/////////////////////////////////////////////////////////
long question =
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(request.
getParameter("questId"));
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{question
};
List
<AssessmentQuestionAnswerView
> assessmentQuestionAnswersView
;
assessmentQuestionAnswersView =
(List
<AssessmentQuestionAnswerView
>) sm.
execute(RequestUtils.
getRequester(request,response
),
"LoadQuestionResponses",args,names
);
if(assessmentQuestionAnswersView
!=
null)
{
assessmentsForm.
setAssessmentQuestionAnswers(assessmentQuestionAnswersView
);
assessmentsForm.
setAssessmentQuestionsRView(new ArrayList
<AssessmentQuestionView
>());
//achar a quest�o
for(AssessmentQuestionView qView : assessmentQuestionAnswersView.
get(0
).
getResponse().
getAssessment().
getQuestions())
{
if(qView.
getId()==question
)
{
assessmentsForm.
getAssessmentQuestionsRView().
add(qView
);
break;
}
}
return mapping.
findForward("loadQuestionResponses");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward submitCorrectQuestionResponses
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
AssessmentsForm assessmentsForm =
(AssessmentsForm
) form
;
List
<AssessmentQuestionAnswerView
> questionAnswersView = assessmentsForm.
getAssessmentQuestionAnswers();
try
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{questionAnswersView
};
AssessmentView aView
;
aView =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"EvaluateQuestionResponses",args,names
);
if(aView
!=
null)
{
addMessage
(request,
"assessment.message.question.corrected.sucess");
assessmentsForm.
setAssessmentView(aView
);//para o m�todo seguinte funcionar
confirmChoicesCorrect
(mapping,form,request,response
);
return mapping.
findForward("listQuestionsOrResponsesToCorrect");
}
return mapping.
findForward("serviceZone");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward generateEvaluationsPdf
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, ServletException
{
try {
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
{new 1.5.0/docs/api/java/lang/Long.html">Long(request.
getParameter("id"))};
AssessmentView view
;
view =
(AssessmentView
) sm.
execute(RequestUtils.
getRequester(request,response
),
"GenerateEvaluationsPdf",args,names
);
if(view
!=
null)
{
addMessage
(request,
"assessment.message.evaluations.pdf.generated.sucess");
return mapping.
findForward("listAssessments");
}
return mapping.
findForward("listAssessments");
}
catch(FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
throw e
;
}
}
}