Search in sources :

Example 6 with StudentServiceException

use of com.remswork.project.alice.web.service.exception.StudentServiceException in project classify-system by anverliedoit.

the class StudentServiceImpl method getStudentBySn.

public Student getStudentBySn(long id) throws StudentException {
    try {
        StringBuilder uri = new StringBuilder();
        uri.append(targetProperties.getDomain());
        uri.append("/");
        uri.append(targetProperties.getBaseUri());
        uri.append("/");
        uri.append(payload);
        uri.append("?sn=");
        uri.append(id);
        Client client = ClientBuilder.newClient();
        WebTarget target = client.target(uri.toString());
        Response response = target.request().get();
        if (response.getStatus() == 200) {
            return (Student) response.readEntity(Student.class);
        } else if (response.getStatus() == 404) {
            Message message = (Message) response.readEntity(Message.class);
            throw new StudentServiceException(message.getMessage());
        } else
            throw new StudentServiceException("The request might invalid or server is down");
    } catch (StudentServiceException e) {
        throw new StudentException(e.getMessage());
    }
}
Also used : Response(javax.ws.rs.core.Response) StudentException(com.remswork.project.alice.exception.StudentException) Message(com.remswork.project.alice.model.support.Message) WebTarget(javax.ws.rs.client.WebTarget) Client(javax.ws.rs.client.Client) Student(com.remswork.project.alice.model.Student) StudentServiceException(com.remswork.project.alice.web.service.exception.StudentServiceException)

Aggregations

StudentException (com.remswork.project.alice.exception.StudentException)6 Student (com.remswork.project.alice.model.Student)6 Message (com.remswork.project.alice.model.support.Message)6 StudentServiceException (com.remswork.project.alice.web.service.exception.StudentServiceException)6 Client (javax.ws.rs.client.Client)6 WebTarget (javax.ws.rs.client.WebTarget)6 Response (javax.ws.rs.core.Response)6 ClientBuilder (javax.ws.rs.client.ClientBuilder)3 Builder (javax.ws.rs.client.Invocation.Builder)3 List (java.util.List)1 GenericType (javax.ws.rs.core.GenericType)1