/** {@inheritDoc} */ @GET @Path("/patron") @TypeHint(Patron.class) @Override public Response getCardInformation( @QueryParam("personId") String personId, @QueryParam("byuId") String byuId, @QueryParam("ssn") String ssn, @QueryParam("netId") String netId, @QueryParam("proxId") String proxId) { Patron patron = null; try { if (personId != null && personId.length() == 9) { patron = cardManager.getPatronByPersonId(personId); } else if (byuId != null) { patron = cardManager.getPatronByByuId(byuId); } else if (ssn != null) { patron = cardManager.getPatronBySSN(ssn); } else if (netId != null) { patron = cardManager.getPatronByNetId(netId); } else if (proxId != null) { patron = cardManager.getPatronByProxId(proxId); } } catch (IllegalArgumentException iae) { return Response.status(Response.Status.NOT_FOUND).entity(iae.getMessage()).build(); } return Response.ok().entity(patron).build(); }