@POST @Path("{token}") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public String gerarToken(@PathParam("token") Long id, String json) { String retorno = BLANK_RETURN; Token token = null; try { Usuario usuario = usuarioSevice.findByCodigo(id); if (usuario != null) { token = tokenGeneratorService.findByUsuarioId(id); Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create(); if (token != null) { retorno = gson.toJson(token); } else { JSONObject jsonObject = new JSONObject(json); configurarUsuario(usuario, jsonObject); token = tokenGeneratorService.create(usuario); retorno = gson.toJson(token); } } else { // TODO Saber qual a mensagem enviar para o cliente } } catch (ServiceException e) { // TODO Saber qual mensagem passar para o usuário } catch (Exception e) { // TODO Saber qual mensagem passar para o usuário } return retorno; }
private Response configurarResponse(Usuario usuario) throws ServiceException { Token token = tokenGeneratorService.create(usuario); String retorno = BLANK_RETURN; Response response = null; if (token != null) { Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create(); retorno = gson.toJson(token); response = CallBackUtil.setResponseOK(retorno, MediaType.APPLICATION_JSON); } else { response = CallBackUtil.setResponseError( Status.INTERNAL_SERVER_ERROR.getStatusCode(), MessageUtil.getMessageFromBundle("exception.token_nao_encontrado")); } return response; }