diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheLocalidadesAPI.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheLocalidadesAPI.java index f84e1c0fb..e342b3ed0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheLocalidadesAPI.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheLocalidadesAPI.java @@ -65,62 +65,14 @@ public class ItemMenuLimparCacheLocalidadesAPI extends DefaultItemMenuSistema { } url = url.concat("adm/limparCache"); - String message = "Erro não identificado."; - - try { + String message = "Solicitação de limpeza de cache executada com sucesso, o mesmo já está sendo processado pela API."; - HttpResponse response = httpRequestApi(url); - - log.info("Response API limparCache: " + response); - message = obterMensagemResponse(response); - - if(message.contains("em processamento.")) { - message = "A limpeza de cache se encontra em processamento."; - } else { - if (response.getStatusLine().getStatusCode() == 500) { - log.error("Ocorreu uma falha de comunicação com o endpoint da API de limpar cache, executando novamente o processo de cache"); - response = httpRequestApi(url); - } - - if (response.getStatusLine().getStatusCode() == 500) { - message = "Ocorreu uma falha de comunicação com o endpoint da API de limpar cache, favor executar novamente o processo de cache."; - log.error("Ocorreu uma falha de comunicação com o endpoint da API de limpar cache na 2º tentativa"); - } - } - - if (response.getStatusLine().getStatusCode() == 401) { - message = "Acesso negado"; - - } else if (response.getStatusLine().getStatusCode() == 200) { - message = obterMensagemResponse(response); - } - - } catch (ClientProtocolException e) { - message = e.getMessage(); - } catch (IOException e) { - message = e.getMessage(); - } catch (AuthenticationException e) { - message = "Erro de autenticação"; - } catch (JOSEException e) { - message = "Erro de autenticação"; - } - - log.info("LimparCacheLocalidadesAPI :: " + message); - try { - @SuppressWarnings("unchecked") - HashMap map = new Gson().fromJson(message, HashMap.class); - - if (map.containsKey("message")) { - message = map.get("message"); - } else if (map.containsKey("mensagem")) { - message = map.get("mensagem"); - } - + httpRequestApi(url); } catch (Exception e) { - log.error(e.toString()); + log.error("Ocorreu um erro ao executar a requisição de limpar cache de localidade da API"); } - + Clients.alert(message, org.zkoss.util.resource.Labels.getLabel("limparCacheLocalidadesAPI.title"), Messagebox.INFORMATION); } @@ -139,12 +91,25 @@ public class ItemMenuLimparCacheLocalidadesAPI extends DefaultItemMenuSistema { return result.toString(); } - private HttpResponse httpRequestApi(String url) throws JOSEException, AuthenticationException, IOException, ClientProtocolException { - HttpClient client = new DefaultHttpClient(); - HttpGet request = new HttpGet(url); - UsernamePasswordCredentials creds = new UsernamePasswordCredentials("internal", getToken()); - request.addHeader(new BasicScheme().authenticate(creds, request)); - return client.execute(request); + private void httpRequestApi(final String url) { + new Thread(new Runnable() { + @Override + public void run() { + + HttpClient client = new DefaultHttpClient(); + HttpGet request = new HttpGet(url); + UsernamePasswordCredentials creds = null; + + try { + creds = new UsernamePasswordCredentials("internal", getToken()); + request.addHeader(new BasicScheme().authenticate(creds, request)); + client.execute(request); + } catch (Exception e) { + log.error("Ocorreu um erro ao executar a requisição de limpar cache de localidade da API"); + } + + } + }).start(); } private String getURLAPI() {