diff --git a/README.md b/README.md index f02366c..b32a228 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,8 @@ # JavaRastreio -Api feita em java, para realizar o rastreio de encomendas. -Projeto não otimizado, ainda falta dar uma polida no código, porem tudo funciona. -Para utilizar o projeto, crie um novo objeto do tipo `RastreioAPI`, passe o SRO como argumento e seja feliz. +Api feita em java, para realizar o rastreio de encomendas. +Para utilizar basta chamar esse método abaixo. -Métodos disponíveis na classe: - `public String getCurrentStatus()` * Retorna o "local" atual da encomenda. - - `public String getEvents()` * Retorna uma array em formato json com todos os eventos da encomenda. - - `public String getSro()` * Retorna o Sro usado para a consulta. +``` +Rastreio rastreio = RastreioAPI.getRastreio("BR123456789BR"); +``` diff --git a/src/main/java/br/com/brunoxkk0/core/Rastreio.java b/src/main/java/br/com/brunoxkk0/core/Rastreio.java index 7dae071..bff4ba3 100644 --- a/src/main/java/br/com/brunoxkk0/core/Rastreio.java +++ b/src/main/java/br/com/brunoxkk0/core/Rastreio.java @@ -4,8 +4,8 @@ public class Rastreio { - SRO sro; - LinkedHashSet events; + private final SRO sro; + private final LinkedHashSet events; public Rastreio(SRO sro, LinkedHashSet events){ this.sro = sro; diff --git a/src/main/java/br/com/brunoxkk0/core/SRO.java b/src/main/java/br/com/brunoxkk0/core/SRO.java index 5d91f63..f4e7a5f 100644 --- a/src/main/java/br/com/brunoxkk0/core/SRO.java +++ b/src/main/java/br/com/brunoxkk0/core/SRO.java @@ -7,7 +7,6 @@ public class SRO { private final String sro; - public SRO(String sro) throws InvalidSroException { if(sro == null || !SROParser.match(sro)) throw new InvalidSroException(); diff --git a/src/main/java/br/com/brunoxkk0/utils/RequestProcessor.java b/src/main/java/br/com/brunoxkk0/utils/RequestProcessor.java index ce9d523..c3ab40c 100644 --- a/src/main/java/br/com/brunoxkk0/utils/RequestProcessor.java +++ b/src/main/java/br/com/brunoxkk0/utils/RequestProcessor.java @@ -13,20 +13,22 @@ public class RequestProcessor { private final LinkedHashSet events; - public RequestProcessor(byte[] data){ + public RequestProcessor(byte[] data) throws InvalidSroException { Document document = Jsoup.parse(new String(data, StandardCharsets.UTF_8)); Elements element = document.body().getElementsByClass("listEvent sro"); events = new LinkedHashSet<>(); - if(element != null){ + if(element != null && !element.isEmpty()) { for (Element row : element.select("tr")) { events.add(new Event( row.getElementsByClass("sroDtEvent").text(), row.getElementsByClass("sroLbEvent").text() )); } + }else{ + throw new InvalidSroException(); } }