package pt.estgp.estgweb.web.controllers.courses;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.CourseStudiesPlanImpl;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.views.CourseView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.courses.CoursesService;
import pt.estgp.estgweb.services.courses.StudiesPlanImporter;
import pt.estgp.estgweb.services.courses.xsd.CursoImpl;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.services.users.ReplaceRoleResult;
import pt.estgp.estgweb.web.controllers.configuration.UserRolesController;
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController;
import pt.estgp.estgweb.web.controllers.widgetmodel.ModelWidgetController;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.filters.UserRoleProxy;
import pt.estgp.estgweb.web.form.courses.CourseForm;
import pt.estgp.estgweb.web.form.courses.CourseStudiesPlansAdminForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException;
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 pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Jorge Machado
* @author Fabio Velez
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class CoursesController
extends CourseUnitsController
{
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(CoursesController.
class);
public ActionForward startNew
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
CourseForm cF =
(CourseForm
) form
;
CourseView cV = cF.
getCourseView();
request.
setAttribute("CourseView",cV
);
cF.
setCourseView(cV
);
return mapping.
findForward("submit");
}
private void loadOnlyCourseAndPlans
(CourseForm cF, HttpServletRequest request, HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
{
load
(cF,request,response,
false,
true);
}
private void load
(CourseForm cF, HttpServletRequest request, HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
{
load
(cF,request,response,
true,
true);
}
private void load
(CourseForm cF, HttpServletRequest request, HttpServletResponse response,
boolean loadUnits,
boolean loadStudiesPlans
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
{
1.5.0/docs/api/java/lang/String.html">String code = cF.
getCourseView().
getCode();
long id = cF.
getCourseView().
getId();
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args
;
1.5.0/docs/api/java/lang/String.html">String serviceName
;
if(code
!=
null)
{
args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{code,loadUnits
};
if(loadStudiesPlans
)
serviceName =
"LoadCourseByCodeAndStudiesPlans";
else
serviceName =
"LoadCourseByCode";
}
else
{
args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{id,loadUnits
};
if(loadStudiesPlans
)
serviceName =
"LoadCourseAndStudiesPlans";
else
serviceName =
"LoadCourse";
}
CourseView cV =
(CourseView
) sm.
execute(RequestUtils.
getRequester(request, response
), serviceName, args, names
);
request.
setAttribute("CourseView",cV
);
cF.
setCourseView(cV
);
}
private void loadForPublic
(CourseForm cF, HttpServletRequest request, HttpServletResponse response
)
throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException
{
load
(cF,request,response,
false,
false);
/* String code = cF.getCourseView().getCode();
long id = cF.getCourseView().getId();
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"serializable"};
Object[] args;
String serviceName;
if(code != null)
{
args = new Object[]{code,false};
serviceName = "LoadCourseByCode";
}
else
{
args = new Object[]{id,false};
serviceName = "LoadCourse";
}
CourseView cV = (CourseView) sm.execute(RequestUtils.getRequester(request, response), serviceName, args, names);
request.setAttribute("CourseView",cV);
cF.setCourseView(cV);*/
}
public ActionForward loadPlan
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
load
((CourseForm
) form,request,response
);
return mapping.
findForward("loadPlan");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward load
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
load
((CourseForm
) form,request,response
);
return mapping.
findForward("load");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward loadSeparators
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
loadForPublic
((CourseForm
) form,request,response
);
return mapping.
findForward("loadSeparators");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward loadMenu
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
load
((CourseForm
) form,request,response
);
return mapping.
findForward("loadMenu");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward edit
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
load
((CourseForm
) form,request,response
);
return mapping.
findForward("submit");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward editAdmin
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
loadOnlyCourseAndPlans
((CourseForm
) form, request, response
);
return mapping.
findForward("submit");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward submitAndAdminStudyPlan
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
ActionForward forward = submit
(mapping,form,request,response
);
if(forward.
getPath() == mapping.
getInputForward().
getPath())
{
CourseForm cF =
(CourseForm
) form
;
long id = cF.
getCourseView().
getId();
request.
setAttribute("courseId",id
);
return mapping.
findForward("adminStudiesPlans");
}
return forward
;
}
public ActionForward submit
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseForm cF =
(CourseForm
) form
;
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{"object"};
5+0%2Fdocs%2Fapi+Object">Object[] args
;
if(cF.
getStudiesPlan() ==
null || cF.
getStudiesPlan().
getFileSize() <= 0
)
args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{cF.
getCourseView(),
null,
null,0,
null};
else //ring name, int size, String contentType, String extensio
args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{cF.
getCourseView(),cF.
getStudiesPlan().
getInputStream(),cF.
getStudiesPlan().
getFileName(),cF.
getStudiesPlan().
getFileSize(),cF.
getStudiesPlan().
getContentType()};
long id = cF.
getCourseView().
getId();
CourseView cV =
(CourseView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"SubmitCourse", args, names
);
request.
setAttribute("CourseView",cV
);
if(cV.
getHtmlResult() !=
null)
{
return mapping.
findForward("submit");
}
cF.
setCourseView(cV
);
if(id
> 0)
addMessage
(request,
"course.updated.success",
"" + cV.
getCode());
else
addMessage
(request,
"course.created.success",
"" + cV.
getCode());
return mapping.
getInputForward();
}
catch (AlreadyExistsException e
)
{
addErrorWithKeys
(request,
"course.exists",e.
getMessage());
try
{
load
((CourseForm
) form,request,response
);
return mapping.
findForward("submit");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable throwable
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward loadCoursesPrograms
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseForm cF =
(CourseForm
) form
;
1.5.0/docs/api/java/lang/String.html">String importYear = cF.
getImportYear();
long courseId = cF.
getCourseId();
if(courseId
<=
0)
{
addError
(request,
"courses.fill.course");
return mapping.
findForward("load.courses.programs");
}
1.5.0/docs/api/java/lang/String.html">String semestre = cF.
getSemestre();
1.5.0/docs/api/java/lang/String.html">String area = cF.
getArea();
DirectedCoordinatedUnitsService.
TeachersSituationEnum teachersSituationEnum = cF.
getTeacherSituationEnum();
1.5.0/docs/api/java/lang/String.html">String institutionCode = cF.
getInstitutionCode();
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{"importYear",
"courseId",
"semestre",
"area",
"teachersSituationEnum",
"institutionCode"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{importYear,courseId,semestre,area,teachersSituationEnum,institutionCode
};
DirectedCoordinatedCourses directedCoordinatedCourses =
(DirectedCoordinatedCourses
) sm.
execute(RequestUtils.
getRequester(request, response
),
"LoadCoursesProgramsForServices", args, names
);
cF.
setDirectedCoordinatedCourses(directedCoordinatedCourses
);
cF.
setArea(directedCoordinatedCourses.
getArea());
cF.
setCourseId(directedCoordinatedCourses.
getCourseId());
return mapping.
findForward("load.courses.programs");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward loadDirectedCoordininatedCourses
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseForm cF =
(CourseForm
) form
;
1.5.0/docs/api/java/lang/String.html">String importYear = cF.
getImportYear();
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{"importYear"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 1.5.0/docs/api/java/lang/String.html">String[]{importYear
};
DirectedCoordinatedCourses directedCoordinatedCourses =
(DirectedCoordinatedCourses
) sm.
execute(RequestUtils.
getRequester(request, response
),
"LoadDirectedCoordinatedCoursesForUserInSession", args, names
);
cF.
setDirectedCoordinatedCourses(directedCoordinatedCourses
);
return mapping.
findForward("load.directed.coordinated.courses");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward updateDirectedCoordininatedCourses
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseForm cF =
(CourseForm
) form
;
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{"directedCoordinatedCourses"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{cF.
getDirectedCoordinatedCourses()};
DirectedCoordinatedCourses directedCoordinatedCourses =
(DirectedCoordinatedCourses
) sm.
execute(RequestUtils.
getRequester(request, response
),
"UpdateDirectedCoordinatedCoursesForUserInSession", args, names
);
cF.
setDirectedCoordinatedCourses(directedCoordinatedCourses
);
addMessage
(request,
"course.directed.coordinated.courses.updated.success",
""+directedCoordinatedCourses.
getUpdated());
//return mapping.findForward("confirm.courses.programs");
//return mapping.findForward("load.directed.coordinated.courses");
return loadCoursesPrograms
(mapping,form,request,response
);
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
/**
* StudiesPlans Controller Functions
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws ServletException
*/
public ActionForward addNewVersion
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm =
(CourseStudiesPlansAdminForm
) form
;
long courseId = frm.
getCourseId();
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{courseId,frm.
getCourseStudiesPlan()};
sm.
execute(RequestUtils.
getRequester(request, response
),
"AddNewStudiesPlan", args, names
);
addMessage
(request,
"course.studies.plan.added");
return mapping.
findForward("loadstudyplans");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward savePlano
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm =
(CourseStudiesPlansAdminForm
) form
;
long courseId = frm.
getCourseId();
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
CursoImpl c = CursoImpl.
loadFromJson(frm.
getPlanoEstudosJsonInterface());
frm.
setPlanoEstudos(c
);
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{courseId,frm.
getCourseStudiesPlan().
getId(),frm.
getPlanoEstudos(),frm.
getCourseStudiesPlan()};
sm.
execute(RequestUtils.
getRequester(request, response
),
"SavePlanoEstudos", args, names
);
addMessage
(request,
"course.studies.plan.saved");
request.
setAttribute("courseId",courseId
);
return mapping.
findForward("adminStudyPlans");
}
catch (FilterChainFailedException e
)
{
return mapping.
findForward("error401");
}
catch (NotFoundException e
)
{
return mapping.
findForward("error404");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward clonarPlano
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm =
(CourseStudiesPlansAdminForm
) form
;
long planId = frm.
getCourseStudiesPlan().
getId();
long sourcePlanId = frm.
getSourcePlanId();
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{sourcePlanId,planId,frm.
getCourseId()};
CourseStudiesPlanImpl novoPlano =
(CourseStudiesPlanImpl
) sm.
execute(RequestUtils.
getRequester(request, response
),
"CloneStudiesPlanVersionFrom", args, names
);
frm.
setCourseStudiesPlan(novoPlano
);
frm.
setPlanoEstudos(new CoursesService
().
loadCursoPlanoFromXml(novoPlano.
getXml()));
addMessage
(request,
"course.studies.plan.cloned");
return mapping.
findForward("editStudyPlan");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward importarPlano
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm =
(CourseStudiesPlansAdminForm
) form
;
long planId = frm.
getCourseStudiesPlan().
getId();
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
//NAO E USADO MAS SE VIER A SER JA ESTAMOS A GARANTIR QUE O PLANO VEM CERTO
CursoImpl c = CursoImpl.
loadFromJson(frm.
getPlanoEstudosJsonInterface());
frm.
setPlanoEstudos(c
);
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{frm.
getFormFileImport().
getInputStream(),planId
};
StudiesPlanImporter importer =
(StudiesPlanImporter
) sm.
execute(RequestUtils.
getRequester(request, response
),
"ImportStudiesPlanVersionFromFile", args, names
);
frm.
setPlanoEstudos(importer.
getPlanoEstudosCurso());
addMessage
(request,
"course.studies.plan.imported");
frm.
getCourseStudiesPlan().
setImportLog(importer.
getLog());
return mapping.
findForward("editStudyPlan");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
public ActionForward mergePlano
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm =
(CourseStudiesPlansAdminForm
) form
;
long planId = frm.
getCourseStudiesPlan().
getId();
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
CursoImpl c = CursoImpl.
loadFromJson(frm.
getPlanoEstudosJsonInterface());
frm.
setPlanoEstudos(c
);
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{frm.
getFormFileImport2().
getInputStream(),planId
};
StudiesPlanImporter importer =
(StudiesPlanImporter
) sm.
execute(RequestUtils.
getRequester(request, response
),
"MergeStudiesPlanVersionFromFile", args, names
);
frm.
setPlanoEstudos(importer.
mergePlanoEstudosCurso(frm.
getPlanoEstudos()));
addMessage
(request,
"course.studies.plan.merged");
frm.
getCourseStudiesPlan().
setImportLog(importer.
getLog());
return mapping.
findForward("editStudyPlan");
}
catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error(e, e
);
return mapping.
findForward("error500");
}
}
/**Widget Controller*/
public 1.5.0/docs/api/java/lang/Boolean.html">Boolean addCourseComissionRole
(ActionForm form,HttpServletRequest request, HttpServletResponse response
) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
1.5.0/docs/api/java/lang/String.html">String courseId = request.
getParameter("courseId");
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(courseId
)};
ReplaceRoleResult result =
(ReplaceRoleResult
) sm.
execute(RequestUtils.
getRequester(request, response
),
"CreateRoleCourseComission", args, names
);
UserRolesController.
evaluateUpdateRoleResult(this,request,result
);
UserRoleProxy.
setDirty();
return true;
}
public JSONObject changeCoordinator
(ActionForm form,HttpServletRequest request, HttpServletResponse response
) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
1.5.0/docs/api/java/lang/String.html">String courseId = request.
getParameter("courseId");
1.5.0/docs/api/java/lang/String.html">String teacherId = request.
getParameter("teacherId");
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(teacherId
),
1.5.0/docs/api/java/lang/Long.html">Long.
parseLong(courseId
)};
Teacher t =
(Teacher
) sm.
execute(RequestUtils.
getRequester(request, response
),
"ChangeCourseCoordinator", args, names
);
JSONObject tJson = ModelWidgetController.
getJsonUser(t
);
addMessage
(request,
"course.coordinator.added.success");
return tJson
;
}
}