package pt.estgp.estgweb.web.controllers.courseunits;
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.Globals;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.common.ISearchResults;
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm;
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;
/**
* @author Jorge Machado
* @author Fabio Velez
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class CourseUnitsAdminController
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(CourseUnitsAdminController.
class);
public ActionForward createIntranetFolders
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
1.5.0/docs/api/java/lang/String.html">String importYear = request.
getParameter("importYear");
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[]{importYear
};
1.5.0/docs/api/java/lang/String.html">String tmpFile =
(1.5.0/docs/api/java/lang/String.html">String) sm.
execute(RequestUtils.
getRequester(request, response
),
"CreateCourseUnitDirPackage", args, names
);
request.
getRequestDispatcher("/tmpStream/" + tmpFile
).
forward(request,response
);
return null;
}
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 createCourseUnitWorksBackup
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
1.5.0/docs/api/java/lang/String.html">String importYear = request.
getParameter("importYear");
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[]{importYear
};
1.5.0/docs/api/java/lang/String.html">String tmpFile =
(1.5.0/docs/api/java/lang/String.html">String) sm.
execute(RequestUtils.
getRequester(request, response
),
"CreateCourseUnitWorksBackup", args, names
);
request.
getRequestDispatcher("/tmpStream/" + tmpFile
).
forward(request,response
);
return null;
}
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 createOrUpdateAdmin
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) 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 =
new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.
getCourseUnitView()};
long id = cUF.
getCourseUnitView().
getId();
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"CreateCourseUnitAdmin", args, names
);
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
if(id
> 0)
addMessage
(request,
"courseunit.updated.success",
"" + cV.
getCode());
else
addMessage
(request,
"courseunit.created.success",
"" + cV.
getCode());
return mapping.
getInputForward();
}
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
{
CourseUnitsForm cUF =
(CourseUnitsForm
) 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[]{"serializable"};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{cUF.
getId(),
true,
true,
false};
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"LoadCourseUnit", args, names
);
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("edit");
}
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 addTeacher
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) form
;
long teacherId = cUF.
getTeacherId();
long courseUnitId = cUF.
getCourseUnitView().
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[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{teacherId,courseUnitId
};
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"AddTeacherCourseUnit", args, names
);
if(cV.
isNotFound())
addError
(request,
"error.courseunit.teacher.not.found");
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("edit");
}
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 addStudent
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) form
;
int studentCode = cUF.
getStudentCode();
long courseUnitId = cUF.
getCourseUnitView().
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[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{studentCode,courseUnitId
};
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"AddStudentCourseUnit", args, names
);
if(cV.
isNotFound())
addError
(request,
"error.courseunit.student.not.found");
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("edit");
}
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 removeTeacher
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) form
;
long teacherId = cUF.
getId(); //can't come in SELECT BOX because is for choose
long courseUnitId = cUF.
getCourseUnitView().
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[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{teacherId,courseUnitId
};
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"RemoveTeacherCourseUnit", args, names
);
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("edit");
}
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 removeStudent
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) form
;
int studentCode =
(int) cUF.
getId(); //can't come in SELECT BOX because is for choose
long courseUnitId = cUF.
getCourseUnitView().
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[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{studentCode,courseUnitId
};
CourseUnitView cV =
(CourseUnitView
) sm.
execute(RequestUtils.
getRequester(request, response
),
"RemoveStudentCourseUnit", args, names
);
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("edit");
}
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 newAdmin
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
CourseUnitsForm cUF =
(CourseUnitsForm
) form
;
CourseUnitView cV =
new CourseUnitView
();
request.
setAttribute("CourseUnitView",cV
);
cUF.
setCourseUnitView(cV
);
cUF.
initTeachers(request,response
);
return mapping.
findForward("load");
}
public ActionForward search
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)
throws ServletException
{
try
{
CourseUnitsForm cUF =
(CourseUnitsForm
) 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[]{};
5+0%2Fdocs%2Fapi+Object">Object[] args =
new 5+0%2Fdocs%2Fapi+Object">Object[]{"ServiceZone",cUF.
getTextToSearch(),cUF.
getSearchTypeEnum(),cUF.
getPage(), Globals.
SEARCH_MAX_RESULTS};
ISearchResults results =
(ISearchResults
) sm.
execute(RequestUtils.
getRequester(request, response
),
"SearchCourseUnit", args, names
);
request.
setAttribute("ISearchResults",results
);
return mapping.
findForward("search");
}
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");
}
}
}