Search in sources :

Example 1 with Attendance

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

the class AttendanceResource method getAttendanceList.

@GET
public Response getAttendanceList() {
    try {
        List<Attendance> attendanceList;
        AttendanceResourceLinks resourceLinks = new AttendanceResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        if (classId != 0 && termId != 0)
            attendanceList = attendanceService.getAttendanceListByClassId(classId, termId);
        else if (classId != 0)
            attendanceList = attendanceService.getAttendanceListByClassId(classId);
        else if (studentId != 0 && termId != 0)
            attendanceList = attendanceService.getAttendanceListByStudentId(studentId, termId);
        else if (studentId != 0)
            attendanceList = attendanceService.getAttendanceListByStudentId(studentId);
        else
            attendanceList = attendanceService.getAttendanceList();
        for (Attendance attendance : attendanceList) {
            attendance.addLink(resourceLinks.self(attendance.getId()));
            if (attendance.get_class() != null)
                attendance.get_class().addLink(classResourceLinks.self(attendance.get_class().getId()));
        }
        GenericEntity<List<Attendance>> entity = new GenericEntity<List<Attendance>>(attendanceList) {
        };
        return Response.status(Response.Status.OK).entity(entity).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(404, "Not Found", e.getMessage());
        return Response.status(Response.Status.NOT_FOUND).entity(message).build();
    }
}
Also used : Attendance(com.remswork.project.alice.model.Attendance) AttendanceResourceLinks(com.remswork.project.alice.resource.links.AttendanceResourceLinks) ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) List(java.util.List)

Example 2 with Attendance

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

the class AttendanceResource method updateAttendanceById.

@PUT
@Path("{attendanceId}")
public Response updateAttendanceById(@PathParam("attendanceId") long id, Attendance newAttendance) {
    try {
        AttendanceResourceLinks resourceLinks = new AttendanceResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        Attendance attendance;
        if (termId > 0)
            attendance = attendanceService.updateAttendanceById(id, newAttendance, classId, termId);
        else
            attendance = attendanceService.updateAttendanceById(id, newAttendance, classId);
        attendance.addLink(resourceLinks.self(attendance.getId()));
        if (attendance.get_class() != null)
            attendance.get_class().addLink(classResourceLinks.self(attendance.get_class().getId()));
        return Response.status(Response.Status.OK).entity(attendance).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : AttendanceResourceLinks(com.remswork.project.alice.resource.links.AttendanceResourceLinks) Attendance(com.remswork.project.alice.model.Attendance) ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException)

Example 3 with Attendance

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

the class AttendanceResource method deleteAttendanceById.

@DELETE
@Path("{attendanceId}")
public Response deleteAttendanceById(@PathParam("attendanceId") long id) {
    try {
        AttendanceResourceLinks resourceLinks = new AttendanceResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        Attendance attendance = attendanceService.deleteAttendanceById(id);
        attendance.addLink(resourceLinks.self(attendance.getId()));
        if (attendance.get_class() != null)
            attendance.get_class().addLink(classResourceLinks.self(attendance.get_class().getId()));
        return Response.status(Response.Status.OK).entity(attendance).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : AttendanceResourceLinks(com.remswork.project.alice.resource.links.AttendanceResourceLinks) Attendance(com.remswork.project.alice.model.Attendance) ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException)

Example 4 with Attendance

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

the class AttendanceServiceImpl method getAttendanceListByStudentId.

@Override
public List<Attendance> getAttendanceListByStudentId(final long studentId) throws GradingFactorException {
    final List<Attendance> attendanceList = new ArrayList<>();
    try {
        return new AsyncTask<String, List<Attendance>, List<Attendance>>() {

            @Override
            protected List<Attendance> doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("?studentId=").concat(String.valueOf(studentId));
                    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++) {
                            attendanceList.add(gson.fromJson(jsonArray.get(ctr).toString(), Attendance.class));
                        }
                        return attendanceList;
                    } 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 : Attendance");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return attendanceList;
                    } else
                        throw new GradingFactorException("Server Error");
                } catch (GradingFactorException 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 : Attendance(com.remswork.project.alice.model.Attendance) Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) 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) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) ExecutionException(java.util.concurrent.ExecutionException)

Example 5 with Attendance

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

the class AttendanceServiceImpl method getAttendanceListByClassId.

@Override
public List<Attendance> getAttendanceListByClassId(final long classId, final long termId) throws GradingFactorException {
    final List<Attendance> attendanceList = new ArrayList<>();
    try {
        return new AsyncTask<String, List<Attendance>, List<Attendance>>() {

            @Override
            protected List<Attendance> doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("?classId=").concat(String.valueOf(classId)).concat("&termId=").concat(String.valueOf(termId));
                    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++) {
                            attendanceList.add(gson.fromJson(jsonArray.get(ctr).toString(), Attendance.class));
                        }
                        return attendanceList;
                    } 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 : Attendance");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return attendanceList;
                    } else
                        throw new GradingFactorException("Server Error");
                } catch (GradingFactorException 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 : Attendance(com.remswork.project.alice.model.Attendance) Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) 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) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) ExecutionException(java.util.concurrent.ExecutionException)

Aggregations

Attendance (com.remswork.project.alice.model.Attendance)12 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)11 Message (com.remswork.project.alice.model.support.Message)8 AsyncTask (android.os.AsyncTask)4 Gson (com.google.gson.Gson)4 AttendanceResourceLinks (com.remswork.project.alice.resource.links.AttendanceResourceLinks)4 ClassResourceLinks (com.remswork.project.alice.resource.links.ClassResourceLinks)4 IOException (java.io.IOException)4 InputStream (java.io.InputStream)4 HttpURLConnection (java.net.HttpURLConnection)4 URL (java.net.URL)4 ArrayList (java.util.ArrayList)4 ExecutionException (java.util.concurrent.ExecutionException)4 JSONArray (org.json.JSONArray)4 JSONException (org.json.JSONException)4 Student (com.remswork.project.alice.model.Student)3 Intent (android.content.Intent)2 Handler (android.os.Handler)2 CardView (android.support.v7.widget.CardView)2 RecyclerView (android.support.v7.widget.RecyclerView)2