public Endereco getEndereco(String cep) throws Throwable { if (validaCep(cep)) { return dao.getEnderecoEntrega(cep); } else { throw new Throwable("The zipcode is not valid"); } }
public Frete calculaFrete(Pedido p) throws Throwable { Frete frete = null; URL obj = new URL( "http://localhost:8090/calcularFrete?peso=" + p.getPeso() + "&largura=" + p.getLargura() + "&altura=" + p.getAltura() + "&comprimento=" + p.getComprimento() + "&tipoEntrega=" + p.getTipoEntrega() + "&cep=" + p.getCep()); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestMethod("GET"); int responseCode = con.getResponseCode(); if (responseCode == 200) { BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); JSONObject json = (JSONObject) new JSONParser().parse(response.toString()); String valorResp = json.get("Valor").toString(); String tempoEntregaResp = json.get("PrazoEntrega").toString(); frete = new Frete(); frete.setTempoEntrega(Integer.valueOf(tempoEntregaResp)); frete.setValor(Double.valueOf(valorResp)); dao.saveDadosDeEntrega(frete.getValor(), frete.getTempoEntrega()); } else if (responseCode == 400) { throw new Throwable("The zipcode is not valid"); } else if (responseCode == 500) { throw new Throwable("CorreioServices is offline right now"); } return frete; }