Search in sources :

Example 1 with Class

use of com.remswork.project.alice.model.Class in project classify-system by anverliedoit.

the class ClassResource method getClassList.

@GET
public Response getClassList() {
    try {
        List<Class> classList;
        ClassResourceLinks resourceLinks = new ClassResourceLinks(uriInfo);
        TeacherResourceLinks teacherResourceLinks = new TeacherResourceLinks(uriInfo);
        SubjectResourceLinks subjectResourceLinks = new SubjectResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        if (teacherId != 0)
            classList = classService.getClassListByTeacherId(teacherId);
        else if (studentId != 0)
            classList = classService.getClassListByStudentId(studentId);
        else if (subjectId != 0)
            classList = classService.getClassListBySubjectId(subjectId);
        else
            classList = classService.getClassList();
        for (Class _class : classList) {
            _class.addLink(resourceLinks.self(_class.getId()));
            _class.addLink(resourceLinks.schedule(_class.getId()));
            _class.addLink(resourceLinks.student(_class.getId()));
            if (_class.getTeacher() != null)
                _class.getTeacher().addLink(teacherResourceLinks.self(_class.getTeacher().getId()));
            if (_class.getSubject() != null)
                _class.getSubject().addLink(subjectResourceLinks.self(_class.getSubject().getId()));
            if (_class.getSection() != null)
                _class.getSection().addLink(sectionResourceLinks.self(_class.getSection().getId()));
        }
        GenericEntity<List<Class>> entity = new GenericEntity<List<Class>>(classList) {
        };
        return Response.status(Response.Status.OK).entity(entity).build();
    } catch (ClassException e) {
        e.printStackTrace();
        Message message = new Message(404, "Not Found", e.getMessage());
        return Response.status(Response.Status.NOT_FOUND).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) SubjectResourceLinks(com.remswork.project.alice.resource.links.SubjectResourceLinks) Message(com.remswork.project.alice.model.support.Message) ClassException(com.remswork.project.alice.exception.ClassException) Class(com.remswork.project.alice.model.Class) TeacherResourceLinks(com.remswork.project.alice.resource.links.TeacherResourceLinks) List(java.util.List) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 2 with Class

use of com.remswork.project.alice.model.Class in project classify-system by anverliedoit.

the class ClassResource method updateClassById.

@PUT
@Path("{classId}")
public Response updateClassById(@PathParam("classId") long id, Class newClass) {
    try {
        ClassResourceLinks resourceLinks = new ClassResourceLinks(uriInfo);
        TeacherResourceLinks teacherResourceLinks = new TeacherResourceLinks(uriInfo);
        SubjectResourceLinks subjectResourceLinks = new SubjectResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        Class _class = classService.updateClassById(id, newClass, teacherId, subjectId, sectionId);
        _class.addLink(resourceLinks.self(id));
        _class.addLink(resourceLinks.schedule(id));
        _class.addLink(resourceLinks.student(id));
        if (_class.getTeacher() != null)
            _class.getTeacher().addLink(teacherResourceLinks.self(_class.getTeacher().getId()));
        if (_class.getSubject() != null)
            _class.getSubject().addLink(subjectResourceLinks.self(_class.getSubject().getId()));
        if (_class.getSection() != null)
            _class.getSection().addLink(sectionResourceLinks.self(_class.getSection().getId()));
        return Response.status(Response.Status.OK).entity(_class).build();
    } catch (ClassException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) SubjectResourceLinks(com.remswork.project.alice.resource.links.SubjectResourceLinks) Message(com.remswork.project.alice.model.support.Message) ClassException(com.remswork.project.alice.exception.ClassException) TeacherResourceLinks(com.remswork.project.alice.resource.links.TeacherResourceLinks) Class(com.remswork.project.alice.model.Class) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 3 with Class

use of com.remswork.project.alice.model.Class in project classify-system by anverliedoit.

the class ClassResource method getClassById.

@GET
@Path("{classId}")
public Response getClassById(@PathParam("classId") long id) {
    try {
        ClassResourceLinks resourceLinks = new ClassResourceLinks(uriInfo);
        TeacherResourceLinks teacherResourceLinks = new TeacherResourceLinks(uriInfo);
        SubjectResourceLinks subjectResourceLinks = new SubjectResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        Class _class = classService.getClassById(id);
        _class.addLink(resourceLinks.self(id));
        _class.addLink(resourceLinks.schedule(id));
        _class.addLink(resourceLinks.student(id));
        if (_class.getTeacher() != null)
            _class.getTeacher().addLink(teacherResourceLinks.self(_class.getTeacher().getId()));
        if (_class.getSubject() != null)
            _class.getSubject().addLink(subjectResourceLinks.self(_class.getSubject().getId()));
        if (_class.getSection() != null)
            _class.getSection().addLink(sectionResourceLinks.self(_class.getSection().getId()));
        return Response.status(Response.Status.OK).entity(_class).build();
    } catch (ClassException e) {
        e.printStackTrace();
        Message message = new Message(404, "Not Found", e.getMessage());
        return Response.status(Response.Status.NOT_FOUND).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) SubjectResourceLinks(com.remswork.project.alice.resource.links.SubjectResourceLinks) Message(com.remswork.project.alice.model.support.Message) ClassException(com.remswork.project.alice.exception.ClassException) TeacherResourceLinks(com.remswork.project.alice.resource.links.TeacherResourceLinks) Class(com.remswork.project.alice.model.Class) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 4 with Class

use of com.remswork.project.alice.model.Class in project classify-system by anverliedoit.

the class RecitationDaoImpl method addRecitation.

@Override
public Recitation addRecitation(Recitation recitation, long classId, long termId) throws GradingFactorException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Class _class = session.get(Class.class, classId);
        Term term = session.get(Term.class, termId);
        if (recitation == null)
            throw new GradingFactorDaoException("You tried to add class with a null value");
        if (termId < 1)
            throw new GradingFactorDaoException("Query param : termId has an invalid input");
        if (_class == null)
            throw new GradingFactorDaoException("Recitation's class with id : " + classId + " does not exist");
        if (term == null)
            throw new GradingFactorDaoException("Recitation's term with id : " + termId + " does not exist");
        if (recitation.getTitle() == null)
            throw new GradingFactorDaoException("Recitation's title is required");
        if (recitation.getTitle().trim().equals(""))
            throw new GradingFactorDaoException("Recitation can't have an empty title");
        if (recitation.getDate() == null)
            throw new GradingFactorDaoException("Recitation's date is required");
        if (recitation.getDate().trim().equals(""))
            throw new GradingFactorDaoException("Recitation can't have an empty date");
        if (recitation.getItemTotal() < 0)
            throw new GradingFactorDaoException("Recitation's itemTotal is invalid");
        recitation.set_class(_class);
        recitation.setTerm(term);
        session.persist(recitation);
        session.getTransaction().commit();
        session.close();
        return recitation;
    } catch (GradingFactorDaoException e) {
        session.close();
        throw new GradingFactorException(e.getMessage());
    }
}
Also used : GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) Class(com.remswork.project.alice.model.Class) GradingFactorDaoException(com.remswork.project.alice.dao.exception.GradingFactorDaoException) Session(org.hibernate.Session)

Example 5 with Class

use of com.remswork.project.alice.model.Class in project classify-system by anverliedoit.

the class ScheduleDaoImpl method deleteScheduleById.

@Override
public Schedule deleteScheduleById(long id) throws ScheduleException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Schedule schedule = session.get(Schedule.class, id);
        if (schedule == null)
            throw new ScheduleDaoException("Schedule with id : " + id + " does not exist");
        Query classQuery = session.createQuery("from Class");
        for (Object classObj : classQuery.list()) {
            Class _class = (Class) classObj;
            _class = session.get(Class.class, _class.getId());
            for (Schedule s : _class.getScheduleList()) {
                if (s == null)
                    continue;
                if (s.getId() == id) {
                    _class.getScheduleList().remove(s);
                    break;
                }
            }
        }
        session.delete(schedule);
        session.getTransaction().commit();
        session.close();
        return schedule;
    } catch (ScheduleDaoException e) {
        session.close();
        throw new ScheduleException(e.getMessage());
    }
}
Also used : Query(org.hibernate.Query) Schedule(com.remswork.project.alice.model.Schedule) Class(com.remswork.project.alice.model.Class) ScheduleException(com.remswork.project.alice.exception.ScheduleException) Session(org.hibernate.Session) ScheduleDaoException(com.remswork.project.alice.dao.exception.ScheduleDaoException)

Aggregations

Class (com.remswork.project.alice.model.Class)59 Session (org.hibernate.Session)35 ClassException (com.remswork.project.alice.exception.ClassException)18 GradingFactorDaoException (com.remswork.project.alice.dao.exception.GradingFactorDaoException)16 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)16 Message (com.remswork.project.alice.model.support.Message)16 ClassDaoException (com.remswork.project.alice.dao.exception.ClassDaoException)15 Query (org.hibernate.Query)10 Student (com.remswork.project.alice.model.Student)9 ArrayList (java.util.ArrayList)9 ClassServiceException (com.remswork.project.alice.web.service.exception.ClassServiceException)8 Client (javax.ws.rs.client.Client)8 WebTarget (javax.ws.rs.client.WebTarget)8 Response (javax.ws.rs.core.Response)8 Grade (com.remswork.project.alice.model.Grade)7 Formula (com.remswork.project.alice.model.Formula)6 FormulaService (com.remswork.project.alice.service.FormulaService)6 GradeService (com.remswork.project.alice.service.GradeService)6 FormulaServiceImpl (com.remswork.project.alice.service.impl.FormulaServiceImpl)6 GradeServiceImpl (com.remswork.project.alice.service.impl.GradeServiceImpl)6