Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1514 → Rev 1516

/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java
754,7 → 754,7
logger.info(msg);
 
//#############UPDATING Course Comission Members
updateCourseComissionMembers(systemUrl, code, c);
updateCourseComissionMembersAndCourseInfo(systemUrl, code, c);
 
//#############UPDATING STUDIES PLAN
updateStudiesPlanFromRemoteSystem(systemUrl, setActive, log, course, code, c);
821,13 → 821,35
* @throws IOException
* @throws JSONException
*/
private void updateCourseComissionMembers(String systemUrl, String code, Course c) throws IOException, JSONException {
private void updateCourseComissionMembersAndCourseInfo(String systemUrl, String code, Course c) throws IOException, JSONException
{
 
URL urlCourseDetails = new URL(systemUrl + "/wsjson/api?service=getCourse&code=" + code);
InputStream isCourseDetails = urlCourseDetails.openStream();
String strCourseDetails = StreamsUtils.readString(isCourseDetails);
JSONObject objCourseDetails = new JSONObject(strCourseDetails);
 
//DEPARTMENT
JSONObject department = objCourseDetails.getJSONObject("courseInfo").getJSONObject("department");
if(department != null)
{
String sigla = department.getString("sigla");
if(sigla != null)
{
CourseDepartment department1 = DaoFactory.getCourseDepartmentDaoImpl().findBySigla(sigla);
if(department1 != null)
{
c.setDepartment(department1);
}
}
}
 
 
String validationRole = objCourseDetails.getJSONObject("courseInfo").getString("validationRole");
 
 
 
 
if(validationRole == null)
{
logger.info("validationRole is not defined");
849,6 → 871,15
{
c.setCoordinator(coordinatorPersistent);
}
 
List<User> users = DaoFactory.getUserDaoImpl().loadRoleUsers(validationRole);
logger.info("Encontrados " + users.size() + " docentes com o papel de comissao " + validationRole + " vai remover");
for(User u: users)
{
logger.info("Removendo role a " + u.getName());
u.removeRole(validationRole);
}
 
for(int j = 0 ; j < courseComission.length(); j++)
{
JSONObject memberComission = courseComission.getJSONObject(j);
865,7 → 896,6
memberPersistent.addRole(validationRole);
}
}
 
}
}
}
904,7 → 934,7
DaoFactory.getCourseStudiesPlanDaoImpl().save(studiesPlan);
}
 
public void cloneVersionFrom(long sourcePlanId, long targetPlanId, long courseId, UserSession session)
public CourseStudiesPlanImpl cloneVersionFrom(long sourcePlanId, long targetPlanId, long courseId, UserSession session)
{
Course course = DaoFactory.getCourseDaoImpl().load(courseId);
CourseStudiesPlan source = null;
918,6 → 948,7
}
target.setXml(source.getXml());
target.setJson(source.getJson());
return (CourseStudiesPlanImpl) DaoFactory.getCourseStudiesPlanDaoImpl().narrow(target);
}
 
public Curso loadCursoPlanoFromXml(String xml)
1060,6 → 1091,23
 
}
 
 
public Teacher addTeacherCommission(String teacherId,String courseId, UserSession session)
{
Course course = DaoFactory.getCourseDaoImpl().load(new Long(courseId));
Teacher t = DaoFactory.getTeacherDaoImpl().load(new Long(teacherId));
t.addRole(course.getValidationRole());
return t;
}
 
public Teacher removeTeacherCommission(String teacherId,String courseId, UserSession session)
{
Course course = DaoFactory.getCourseDaoImpl().load(new Long(courseId));
Teacher t = DaoFactory.getTeacherDaoImpl().load(new Long(teacherId));
t.removeRole(course.getValidationRole());
return t;
}
 
public static void main(String[] args)
{
AbstractDao.getCurrentSession().beginTransaction();
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/CourseView.java
105,6 → 105,10
 
private Course course;
 
public CourseDepartment getCourseDepartment(){
return course.getDepartment();
}
 
public boolean isStatus() {
return status;
}
149,7 → 153,12
courseYearViews.add(courseYearView);
}
 
 
this.course = course;
if(course.getDepartment() != null)
{
course.getDepartment().getName();
}
this.id = course.getId();
this.code = course.getCode();
this.area = course.getArea();
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/courses/CourseStudiesPlansAdminForm.java
27,15 → 27,25
 
private String perfilId;
 
private long sourcePlanId;
 
 
 
 
public CourseStudiesPlansAdminForm()
{
 
 
}
 
public long getSourcePlanId() {
return sourcePlanId;
}
 
public void setSourcePlanId(long sourcePlanId) {
this.sourcePlanId = sourcePlanId;
}
 
public String getSemestreId() {
return semestreId;
}
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesController.java
4,9 → 4,13
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.CourseStudiesPlanImpl;
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.xsd.Curso;
import pt.estgp.estgweb.services.courses.xsd.PerfilImpl;
import pt.estgp.estgweb.services.courses.xsd.SemestreImpl;
import pt.estgp.estgweb.services.courses.xsd.UnidadeImpl;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService;
28,6 → 32,7
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Iterator;
 
/**
* @author Jorge Machado
562,6 → 567,36
return mapping.findForward("error500");
}
}
public ActionForward removePerfil(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String perfilId = frm.getPerfilId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre()){
Iterator<Curso.Semestre.Perfil> iterPerfil = semestre.getPerfil().iterator();
while(iterPerfil.hasNext())
{
Curso.Semestre.Perfil perfil = iterPerfil.next();
if(perfil.getPerfilId().equals(perfilId))
{
iterPerfil.remove();
break;
}
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
public ActionForward addUnidadeSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
589,8 → 624,111
}
}
 
public ActionForward removeSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
Iterator<Curso.Semestre> iteSem = frm.getPlanoEstudos().getSemestre().iterator();
while(iteSem.hasNext())
{
Curso.Semestre semestre = iteSem.next();
if(semestre.getSemestreId().equals(semestreId))
{
iteSem.remove();
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward addNewSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
frm.getPlanoEstudos().getSemestre().add(new SemestreImpl());
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward addPerfilSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre())
{
if(semestre.getSemestreId().equals(semestreId))
{
semestre.getPerfil().add(new PerfilImpl());
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (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();
String[] names = new String[]{};
Object[] args = new 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 (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
 
 
 
 
}