Search in sources :

Example 21 with Section

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

the class StudentResource method updateStudentById.

@PUT
@Path("{studentId}")
public Response updateStudentById(@PathParam("studentId") long id, Student newStudent) {
    try {
        StudentResourceLinks resourceLinks = new StudentResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        DepartmentResourceLinks departmentResourceLinks = new DepartmentResourceLinks(uriInfo);
        Student student = studentService.updateStudentById(id, newStudent, sectionId);
        student.addLink(resourceLinks.self(id));
        if (student.getSection() != null) {
            Section section = student.getSection();
            section.addLink(sectionResourceLinks.self(section.getId()));
            if (section.getDepartment() != null)
                section.getDepartment().addLink(departmentResourceLinks.self(section.getDepartment().getId()));
        }
        return Response.status(Response.Status.OK).entity(student).build();
    } catch (StudentException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : StudentException(com.remswork.project.alice.exception.StudentException) Message(com.remswork.project.alice.model.support.Message) StudentResourceLinks(com.remswork.project.alice.resource.links.StudentResourceLinks) DepartmentResourceLinks(com.remswork.project.alice.resource.links.DepartmentResourceLinks) Student(com.remswork.project.alice.model.Student) Section(com.remswork.project.alice.model.Section) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 22 with Section

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

the class StudentResource method getStudentById.

@GET
@Path("{studentId}")
public Response getStudentById(@PathParam("studentId") long id) {
    try {
        StudentResourceLinks resourceLinks = new StudentResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        DepartmentResourceLinks departmentResourceLinks = new DepartmentResourceLinks(uriInfo);
        Student student = studentService.getStudentById(id);
        student.addLink(resourceLinks.self(id));
        if (student.getSection() != null) {
            Section section = student.getSection();
            section.addLink(sectionResourceLinks.self(section.getId()));
            if (section.getDepartment() != null)
                section.getDepartment().addLink(departmentResourceLinks.self(section.getDepartment().getId()));
        }
        return Response.status(Response.Status.OK).entity(student).build();
    } catch (StudentException e) {
        e.printStackTrace();
        Message message = new Message(404, "Not Found", e.getMessage());
        return Response.status(Response.Status.NOT_FOUND).entity(message).build();
    }
}
Also used : StudentException(com.remswork.project.alice.exception.StudentException) Message(com.remswork.project.alice.model.support.Message) StudentResourceLinks(com.remswork.project.alice.resource.links.StudentResourceLinks) DepartmentResourceLinks(com.remswork.project.alice.resource.links.DepartmentResourceLinks) Student(com.remswork.project.alice.model.Student) Section(com.remswork.project.alice.model.Section) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 23 with Section

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

the class StudentResource method deleteStudentById.

@DELETE
@Path("{studentId}")
public Response deleteStudentById(@PathParam("studentId") long id) {
    try {
        StudentResourceLinks resourceLinks = new StudentResourceLinks(uriInfo);
        SectionResourceLinks sectionResourceLinks = new SectionResourceLinks(uriInfo);
        DepartmentResourceLinks departmentResourceLinks = new DepartmentResourceLinks(uriInfo);
        Student student = studentService.deleteStudentById(id);
        student.addLink(resourceLinks.self(id));
        if (student.getSection() != null) {
            Section section = student.getSection();
            section.addLink(sectionResourceLinks.self(section.getId()));
            if (section.getDepartment() != null)
                section.getDepartment().addLink(departmentResourceLinks.self(section.getDepartment().getId()));
        }
        return Response.status(Response.Status.OK).entity(student).build();
    } catch (StudentException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : StudentException(com.remswork.project.alice.exception.StudentException) Message(com.remswork.project.alice.model.support.Message) StudentResourceLinks(com.remswork.project.alice.resource.links.StudentResourceLinks) DepartmentResourceLinks(com.remswork.project.alice.resource.links.DepartmentResourceLinks) Student(com.remswork.project.alice.model.Student) Section(com.remswork.project.alice.model.Section) SectionResourceLinks(com.remswork.project.alice.resource.links.SectionResourceLinks)

Example 24 with Section

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

the class SectionServiceImpl method getSectionList.

@Override
public List<Section> getSectionList() throws SectionException {
    final List<Section> sectionList = new ArrayList<>();
    try {
        return new AsyncTask<String, List<Section>, List<Section>>() {

            @Override
            protected List<Section> doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload);
                    URL url = new URL(link);
                    Gson gson = new Gson();
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                    httpURLConnection.setRequestMethod("GET");
                    httpURLConnection.setRequestProperty("Content-Type", "application/json");
                    httpURLConnection.setRequestProperty("Accept", "application/json");
                    httpURLConnection.connect();
                    if (httpURLConnection.getResponseCode() == 200) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        String jsonData = "";
                        int data;
                        while ((data = inputStream.read()) != -1) {
                            jsonData += (char) data;
                        }
                        JSONArray jsonArray = new JSONArray(jsonData);
                        for (int ctr = 0; ctr < jsonArray.length(); ctr++) {
                            sectionList.add(gson.fromJson(jsonArray.get(ctr).toString(), Section.class));
                        }
                        return sectionList;
                    } else if (httpURLConnection.getResponseCode() == 404) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        String jsonData = "";
                        int data;
                        while ((data = inputStream.read()) != -1) {
                            jsonData += (char) data;
                        }
                        Message message = gson.fromJson(jsonData, Message.class);
                        Log.i("ServiceTAG", "Service : Section");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return sectionList;
                    } else
                        throw new SectionException("Server Error");
                } catch (SectionException e) {
                    e.printStackTrace();
                    return null;
                } catch (IOException e) {
                    e.printStackTrace();
                    return null;
                } catch (JSONException e) {
                    e.printStackTrace();
                    return null;
                }
            }
        }.execute((String) null).get();
    } catch (InterruptedException e) {
        e.printStackTrace();
        return null;
    } catch (ExecutionException e) {
        e.printStackTrace();
        return null;
    }
}
Also used : Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) ArrayList(java.util.ArrayList) AsyncTask(android.os.AsyncTask) JSONArray(org.json.JSONArray) Gson(com.google.gson.Gson) JSONException(org.json.JSONException) IOException(java.io.IOException) Section(com.remswork.project.alice.model.Section) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) SectionException(com.remswork.project.alice.exception.SectionException) ExecutionException(java.util.concurrent.ExecutionException)

Example 25 with Section

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

the class DepartmentDaoImpl method deleteDepartmentById.

@Override
public Department deleteDepartmentById(long id) throws DepartmentException {
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    try {
        Department department = session.get(Department.class, id);
        if (department == null)
            throw new DepartmentDaoException("Department with id : " + id + " does not exist.");
        // to avoid the constraints restriction we meed to remove department from the teacher
        // that having the department
        Query teacherQuery = session.createQuery("from Teacher");
        for (Object teacherObj : teacherQuery.list()) {
            Teacher teacher = (Teacher) teacherObj;
            if (teacher.getDepartment() == null)
                continue;
            if (teacher.getDepartment().equals(department) || (teacher.getDepartment() != null ? teacher.getDepartment().getId() : 0) == department.getId()) {
                teacher.setDepartment(null);
            }
        }
        // to avoid the constraints restriction we meed to delete the section that having the department
        Query sectionQuery = session.createQuery("from Section");
        for (Object sectionObj : sectionQuery.list()) {
            Section section = (Section) sectionObj;
            if (section.getDepartment() == null)
                continue;
            if (section.getDepartment().equals(department) || (section.getDepartment() != null ? section.getDepartment().getId() : 0) == department.getId()) {
                session.delete(section);
            }
        }
        // to avoid the constraints restriction we meed to remove department from the class's teacher and section
        // that having the department
        Query classQuery = session.createQuery("from Class");
        for (Object classObj : classQuery.list()) {
            Class _class = (Class) classObj;
            Teacher teacher = _class.getTeacher();
            Section section = _class.getSection();
            if (teacher != null) {
                if (teacher.getDepartment() != null) {
                    if (teacher.getDepartment().equals(department) || (teacher.getDepartment() != null ? teacher.getDepartment().getId() : 0) == department.getId()) {
                        teacher.setDepartment(null);
                    }
                }
            }
            if (section != null) {
                if (section.getDepartment() != null) {
                    if (section.getDepartment().equals(department) || (section.getDepartment() != null ? section.getDepartment().getId() : 0) == department.getId()) {
                        _class.setSection(null);
                    }
                }
            }
        }
        session.delete(department);
        session.getTransaction().commit();
        session.close();
        return department;
    } catch (DepartmentDaoException e) {
        session.close();
        throw new DepartmentException(e.getMessage());
    }
}
Also used : Department(com.remswork.project.alice.model.Department) Query(org.hibernate.Query) DepartmentException(com.remswork.project.alice.exception.DepartmentException) Teacher(com.remswork.project.alice.model.Teacher) Class(com.remswork.project.alice.model.Class) DepartmentDaoException(com.remswork.project.alice.dao.exception.DepartmentDaoException) Section(com.remswork.project.alice.model.Section) Session(org.hibernate.Session)

Aggregations

Section (com.remswork.project.alice.model.Section)27 SectionException (com.remswork.project.alice.exception.SectionException)20 Message (com.remswork.project.alice.model.support.Message)15 DepartmentResourceLinks (com.remswork.project.alice.resource.links.DepartmentResourceLinks)9 SectionResourceLinks (com.remswork.project.alice.resource.links.SectionResourceLinks)9 StudentException (com.remswork.project.alice.exception.StudentException)8 Student (com.remswork.project.alice.model.Student)8 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)7 DepartmentException (com.remswork.project.alice.exception.DepartmentException)5 Department (com.remswork.project.alice.model.Department)5 StudentResourceLinks (com.remswork.project.alice.resource.links.StudentResourceLinks)5 SectionServiceException (com.remswork.project.alice.web.service.exception.SectionServiceException)5 Client (javax.ws.rs.client.Client)5 WebTarget (javax.ws.rs.client.WebTarget)5 Response (javax.ws.rs.core.Response)5 Session (org.hibernate.Session)5 SectionDaoException (com.remswork.project.alice.dao.exception.SectionDaoException)4 ArrayList (java.util.ArrayList)4 List (java.util.List)3 ClientBuilder (javax.ws.rs.client.ClientBuilder)3