Search in sources :

Example 51 with ClassException

use of com.remswork.project.alice.exception.ClassException in project classify-system by anverliedoit.

the class ClassServiceImpl method getScheduleList.

@Override
public Set<Schedule> getScheduleList(final long classId) throws ClassException {
    final Set<Schedule> scheduleSet = new HashSet<>();
    try {
        return new AsyncTask<String, Set<Schedule>, Set<Schedule>>() {

            @Override
            protected Set<Schedule> doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("/").concat(String.valueOf(classId)).concat("/").concat("schedule");
                    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++) {
                            scheduleSet.add(gson.fromJson(jsonArray.get(ctr).toString(), Schedule.class));
                        }
                        return scheduleSet;
                    } 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 : Class");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return scheduleSet;
                    } else
                        throw new ClassException("Server Error");
                } catch (ClassException 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) AsyncTask(android.os.AsyncTask) JSONArray(org.json.JSONArray) Gson(com.google.gson.Gson) ClassException(com.remswork.project.alice.exception.ClassException) JSONException(org.json.JSONException) IOException(java.io.IOException) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) Schedule(com.remswork.project.alice.model.Schedule) ExecutionException(java.util.concurrent.ExecutionException) HashSet(java.util.HashSet)

Example 52 with ClassException

use of com.remswork.project.alice.exception.ClassException in project classify-system by anverliedoit.

the class ClassServiceImpl method addScheduleById.

@Override
public Schedule addScheduleById(final long classId, final long scheduleId) throws ClassException {
    try {
        return new AsyncTask<String, Schedule, Schedule>() {

            @Override
            protected Schedule doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("/").concat(String.valueOf(classId)).concat("/").concat("schedule").concat("?scheduleId=").concat(String.valueOf(scheduleId));
                    Gson gson = new Gson();
                    URL url = new URL(link);
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                    httpURLConnection.setRequestMethod("POST");
                    httpURLConnection.setRequestProperty("Content-Type", "application/json");
                    httpURLConnection.setRequestProperty("Accept", "application/json");
                    httpURLConnection.setDoOutput(true);
                    httpURLConnection.setDoInput(true);
                    httpURLConnection.connect();
                    if (httpURLConnection.getResponseCode() == 200 || httpURLConnection.getResponseCode() == 201) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        String jsonData = "";
                        int data;
                        while ((data = inputStream.read()) != -1) {
                            jsonData += (char) data;
                        }
                        return gson.fromJson(jsonData, Schedule.class);
                    } else if (httpURLConnection.getResponseCode() == 400) {
                        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 : Class");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return null;
                    } else
                        throw new ClassException("Server Error");
                } catch (ClassException e) {
                    e.printStackTrace();
                    return null;
                } catch (IOException 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 : HttpURLConnection(java.net.HttpURLConnection) Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) AsyncTask(android.os.AsyncTask) Gson(com.google.gson.Gson) ClassException(com.remswork.project.alice.exception.ClassException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException) URL(java.net.URL)

Example 53 with ClassException

use of com.remswork.project.alice.exception.ClassException in project classify-system by anverliedoit.

the class ClassServiceImpl method getStudentById.

@Deprecated
@Override
public Student getStudentById(final long classId, final long id) throws ClassException {
    try {
        return new AsyncTask<String, Student, Student>() {

            @Override
            protected Student doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("/").concat(String.valueOf(classId)).concat("/").concat("student").concat("/").concat(String.valueOf(id));
                    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;
                        }
                        return gson.fromJson(jsonData, Student.class);
                    } 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 : Class");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return null;
                    } else
                        throw new ClassException("Server Error");
                } catch (ClassException e) {
                    e.printStackTrace();
                    return null;
                } catch (IOException 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 : HttpURLConnection(java.net.HttpURLConnection) Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) AsyncTask(android.os.AsyncTask) Gson(com.google.gson.Gson) ClassException(com.remswork.project.alice.exception.ClassException) IOException(java.io.IOException) ExecutionException(java.util.concurrent.ExecutionException) URL(java.net.URL)

Example 54 with ClassException

use of com.remswork.project.alice.exception.ClassException in project classify-system by anverliedoit.

the class ClassResource method deleteClassById.

@DELETE
@Path("{classId}")
public Response deleteClassById(@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.deleteClassById(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(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 55 with ClassException

use of com.remswork.project.alice.exception.ClassException in project classify-system by anverliedoit.

the class ClassStudentListResource method addStudentById.

@POST
public Response addStudentById(@PathParam("classId") long classId) {
    try {
        ClassStudentListResourceLinks resourceLinks = new ClassStudentListResourceLinks(uriInfo);
        if (studentId == 0)
            throw new ClassDaoException("Query param : studentId is required");
        Student student = classService.addStudentById(classId, studentId);
        student.addLink(resourceLinks.self(classId, studentId));
        return Response.status(Response.Status.OK).entity(student).build();
    } catch (ClassException | ClassDaoException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : ClassStudentListResourceLinks(com.remswork.project.alice.resource.links.ClassStudentListResourceLinks) ClassDaoException(com.remswork.project.alice.dao.exception.ClassDaoException) Message(com.remswork.project.alice.model.support.Message) ClassException(com.remswork.project.alice.exception.ClassException) Student(com.remswork.project.alice.model.Student)

Aggregations

ClassException (com.remswork.project.alice.exception.ClassException)55 Message (com.remswork.project.alice.model.support.Message)46 Class (com.remswork.project.alice.model.Class)18 AsyncTask (android.os.AsyncTask)17 Gson (com.google.gson.Gson)17 IOException (java.io.IOException)17 InputStream (java.io.InputStream)17 HttpURLConnection (java.net.HttpURLConnection)17 URL (java.net.URL)17 ExecutionException (java.util.concurrent.ExecutionException)17 ClassServiceException (com.remswork.project.alice.web.service.exception.ClassServiceException)16 Client (javax.ws.rs.client.Client)16 WebTarget (javax.ws.rs.client.WebTarget)16 Response (javax.ws.rs.core.Response)16 Student (com.remswork.project.alice.model.Student)14 Schedule (com.remswork.project.alice.model.Schedule)13 ArrayList (java.util.ArrayList)9 ClientBuilder (javax.ws.rs.client.ClientBuilder)7 Builder (javax.ws.rs.client.Invocation.Builder)7 JSONArray (org.json.JSONArray)7