Skip to content

Commit

Permalink
Merge pull request #69 from shipping7/issue-67
Browse files Browse the repository at this point in the history
[issue-67] - Agrupa todas as Apis no CorreiosApi
  • Loading branch information
gabriellimagomes authored Jun 5, 2017
2 parents 2983d7a + 643793f commit bd500aa
Show file tree
Hide file tree
Showing 19 changed files with 115 additions and 151 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version=0.0.14-BETA
version=0.0.16-BETA
27 changes: 25 additions & 2 deletions src/main/java/br/com/correios/api/CorreiosApi.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,36 @@
package br.com.correios.api;

import br.com.correios.api.etiqueta.CorreiosEtiquetaApi;
import br.com.correios.api.etiqueta.EtiquetaApi;
import br.com.correios.api.postagem.CorreiosPostagemApi;
import br.com.correios.api.rastreio.service.CorreiosRastreioApi;
import br.com.correios.credentials.CorreiosCredenciais;

/**
* Responsavel por ser uma ponte para todas as API's disponiveis pelo SDK.
*
* @since 0.0.13-BETA
*/
public class CorreiosApi {

public EtiquetaApi etiquetas(CorreiosCredenciais credenciais) {
/**
* API de rastreio de pacotes pelos seus respectivos codigos de rastreio.
*/
public CorreiosRastreioApi rastreios(CorreiosCredenciais credenciais) {
return new CorreiosRastreioApi(credenciais);
}

/**
* API de solicitacao de etiquetas.
*/
public CorreiosEtiquetaApi etiquetas(CorreiosCredenciais credenciais) {
return new CorreiosEtiquetaApi(credenciais);
}

/**
* API de detalhes de uma postagem(PLP).
*/
public CorreiosPostagemApi postagens(CorreiosCredenciais credenciais) {
return new CorreiosPostagemApi(credenciais);
}

}
4 changes: 1 addition & 3 deletions src/main/java/br/com/correios/api/converter/Converter.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package br.com.correios.api.converter;

/**
*
* @author Eric Dallo
* @description Interface para converção de um Objeto(F) para outro Objeto(T)
* Interface para converção de um Objeto(F) para outro Objeto(T)
*/
public interface Converter<F,T> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@


/**
* @author Alexandre Gama
*
* Classe responsavel por converter o objeto de Eventos que sao retornado pelos Correios
*
* @see DetalhesRastreio
Expand Down
42 changes: 21 additions & 21 deletions src/main/java/br/com/correios/api/etiqueta/CorreiosEtiquetaApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,47 +16,49 @@
import br.com.correios.api.postagem.webservice.CorreiosClienteWebService;
import br.com.correios.credentials.CorreiosCredenciais;

public class CorreiosEtiquetaApi implements EtiquetaApi {
/**
* Classe que deve ser usada para as chamadas a API de etiqueta dos Correios
*
* @since 0.0.13-BETA
*/
public class CorreiosEtiquetaApi {

private CorreiosCredenciais credenciais;

private CorreiosClienteApi clienteApi;
private final CorreiosCredenciais credenciais;
private final CorreiosClienteApi clienteApi;

public CorreiosEtiquetaApi(CorreiosCredenciais credenciais) {
this.credenciais = credenciais;
this.clienteApi = new CorreiosClienteWebService();
this(credenciais, new CorreiosClienteWebService());
}

public CorreiosEtiquetaApi(CorreiosCredenciais credenciais, CorreiosClienteApi clienteApi) {
this.credenciais = credenciais;
this.clienteApi = clienteApi;
}

@Override
public EtiquetaBuilder solicita(int quantidadeDeEtiquetas) {
return new EtiquetaBuilder(quantidadeDeEtiquetas);
public SolicitaEtiquetaBuilder solicita(int quantidadeDeEtiquetas) {
return new SolicitaEtiquetaBuilder(quantidadeDeEtiquetas);
}

public class EtiquetaBuilder {
public class SolicitaEtiquetaBuilder {

private int quantidadeDeEtiquetas;
private final int quantidadeDeEtiquetas;

public EtiquetaBuilder(int quantidadeDeEtiquetas) {
public SolicitaEtiquetaBuilder(int quantidadeDeEtiquetas) {
this.quantidadeDeEtiquetas = quantidadeDeEtiquetas;
}

public EtiquetaBuilderComIdentificador usandoCodigoDoServicoDeEntrega(String codigoDoServicoDeEntrega) {
return new EtiquetaBuilderComIdentificador(quantidadeDeEtiquetas, codigoDoServicoDeEntrega);
public SolicitaEtiquetaBuilderComIdentificador usandoCodigoDoServicoDeEntrega(String codigoDoServicoDeEntrega) {
return new SolicitaEtiquetaBuilderComIdentificador(quantidadeDeEtiquetas, codigoDoServicoDeEntrega);
}

}

public class EtiquetaBuilderComIdentificador {
public class SolicitaEtiquetaBuilderComIdentificador {

private Integer quantidade;
private String codigoDoServicoDeEntrega;
private final Integer quantidade;
private final String codigoDoServicoDeEntrega;

public EtiquetaBuilderComIdentificador(Integer quantidade, String codigoDoServicoDeEntrega) {
public SolicitaEtiquetaBuilderComIdentificador(Integer quantidade, String codigoDoServicoDeEntrega) {
this.quantidade = quantidade;
this.codigoDoServicoDeEntrega = codigoDoServicoDeEntrega;
}
Expand Down Expand Up @@ -87,9 +89,7 @@ public List<Etiqueta> comContrato(ContratoEmpresa contrato) {
private Optional<ClienteEmpresa> buscaClienteCom(ContratoEmpresa informacoesDeCadastro) {
CorreiosPostagemApi correiosPostagemApi = new CorreiosPostagemApi(credenciais);

Optional<ClienteEmpresa> empresa = correiosPostagemApi.buscaCliente(informacoesDeCadastro);

return empresa;
return correiosPostagemApi.buscaCliente(informacoesDeCadastro);
}

}
9 changes: 0 additions & 9 deletions src/main/java/br/com/correios/api/etiqueta/EtiquetaApi.java

This file was deleted.

25 changes: 13 additions & 12 deletions src/main/java/br/com/correios/api/postagem/CorreiosPostagemApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,18 @@
import br.com.correios.webservice.postagem.ClienteERP;
import br.com.correios.webservice.postagem.SigepClienteException;

public class CorreiosPostagemApi implements PostagemApi {
/**
* Responsavel por chamar a API de postagem dos Correios
*
* @since 0.0.13-BETA
*/
public class CorreiosPostagemApi {

private CorreiosCredenciais credenciais;

private CorreiosClienteApi clienteApi;
private final CorreiosCredenciais credenciais;
private final CorreiosClienteApi clienteApi;

public CorreiosPostagemApi(CorreiosCredenciais credenciais) {
this.credenciais = credenciais;
this.clienteApi = new CorreiosClienteWebService();
this(credenciais, new CorreiosClienteWebService());
}

public CorreiosPostagemApi(CorreiosCredenciais credenciais, CorreiosClienteApi clienteApi) {
Expand All @@ -37,14 +40,13 @@ public CorreiosPostagemApi(CorreiosCredenciais credenciais, CorreiosClienteApi c
}

/**
* Este método retorna os serviços disponíveis no contrato para um determinado Cartão de Postagem.
* @return os serviços disponíveis no contrato para um determinado {@link ContratoEmpresa} caso haja.
*/
@Override
public Optional<ClienteEmpresa> buscaCliente(ContratoEmpresa informacao) {
public Optional<ClienteEmpresa> buscaCliente(ContratoEmpresa informacoesDeCadastro) {
try {
ClienteERP clienteRetornadoDosCorreios = clienteApi
.getCorreiosWebService()
.buscaCliente(informacao.getContrato(), informacao.getCartaoDePostagem(), credenciais.getUsuario(), credenciais.getSenha());
.buscaCliente(informacoesDeCadastro.getContrato(), informacoesDeCadastro.getCartaoDePostagem(), credenciais.getUsuario(), credenciais.getSenha());

if (clienteRetornadoDosCorreios != null) {
ClienteEmpresa cliente = new ClienteRetornadoDosCorreiosToClienteConverter().convert(clienteRetornadoDosCorreios);
Expand All @@ -53,14 +55,13 @@ public Optional<ClienteEmpresa> buscaCliente(ContratoEmpresa informacao) {
} catch (AutenticacaoException e) {
throw new CorreiosPostagemAutenticacaoException(format("Ocorreu um erro ao se autenticar nos correios com a seguinte credencial: %s", credenciais));
} catch (SigepClienteException e) {
throw new CorreiosServicoSoapException(format("Ocorreu um erro ao chamar o serviço com as informações de cliente %s", informacao), e);
throw new CorreiosServicoSoapException(format("Ocorreu um erro ao chamar o serviço com as informações de cliente %s", informacoesDeCadastro), e);
} catch (Exception e) {
return Optional.absent();
}
return Optional.absent();
}

@Override
public Optional<DocumentoPlp> buscaDocumentoPlp(Long plpId) {
try {
String xmlPlp = clienteApi
Expand Down
15 changes: 0 additions & 15 deletions src/main/java/br/com/correios/api/postagem/PostagemApi.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package br.com.correios.api.rastreio.model;

/**
* @author Alexandre Gama
*
* @description Delimitacao do escopo da resposta a ser dada a consulta do rastreamento de cada objeto
* Delimitacao do escopo da resposta a ser dada a consulta do rastreamento de cada objeto
* T: Serao retornados todos os eventos do objeto
* U: Sera retornado apenas o ultimo evento do objeto
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package br.com.correios.api.rastreio.model;

/**
* @author Alexandre Gama
* Enum que possui os idiomas aceitos pelo correio no momento da resposta dos Eventos
* Cada idioma possui um código:
* 101 - Portugues
Expand All @@ -10,15 +9,15 @@
public enum CorreiosIdioma {

PORTUGUES("101"), INGLES("102");

private String codigoInternoDosCorreio;

CorreiosIdioma(String codigoInternoDosCorreios) {
codigoInternoDosCorreio = codigoInternoDosCorreios;
}

public String getCodigoInternoDosCorreio() {
return codigoInternoDosCorreio;
}

}
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
package br.com.correios.api.rastreio.model;

/**
* @author Alexandre Gama
*
* @description Definição de como a lista de identificadores de objetos deverá ser interpretada pelo servidor SRO.
* L: lista de objetos. O servidor fará a consulta individual de cada identificador informado;
* Definição de como a lista de identificadores de objetos deverá ser interpretada pelo servidor SRO.
* L: lista de objetos. O servidor fará a consulta individual de cada identificador informado;
* F: intervalo de objetos. O servidor fará a consulta sequencial do primeiro ao último objeto informado,
*
*
* @since 0.0.1-BETA
*/
public enum CorreiosTipoIdentificador {

LISTA_DE_OBJETOS("L"), INTERVALO_DE_OBJETOS("F");

private String codigoInternoDosCorreios;

CorreiosTipoIdentificador(String codigoInternoDosCorreios) {
this.codigoInternoDosCorreios = codigoInternoDosCorreios;
}

public String getCodigoInternoDosCorreios() {
return codigoInternoDosCorreios;
}

}
11 changes: 3 additions & 8 deletions src/main/java/br/com/correios/api/rastreio/model/Destino.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
package br.com.correios.api.rastreio.model;

/**
*
* @author Alexandre Gama
*
*/
public class Destino {

private LocalDoPacote local;

public Destino(LocalDoPacote local) {
this.local = local;
}

public Destino() {
}

Expand All @@ -28,5 +23,5 @@ public void setLocal(LocalDoPacote local) {
public String toString() {
return "Destino [local=" + local + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
import java.util.List;

/**
* @author Alexandre Gama
*
* @description Classe que contem todas as informacoes de um Objeto Rastreado, inclusive os eventos associados ao Objeto em questao
*
* Classe que contem todas as informacoes de um Objeto Rastreado, inclusive os eventos associados ao Objeto em questao
*
* @since 0.0.1-BETA
*/
public class DetalhesRastreio {
Expand All @@ -16,17 +14,17 @@ public class DetalhesRastreio {
* Versão do SRO XML
*/
private String versao;

/**
* Quantidade de objetos consultados
*/
private Integer quantidade;

/**
* Lista de objetos rastreados
*/
private List<ObjetoRastreio> objetosRastreio = new ArrayList<ObjetoRastreio>();
private List<ObjetoRastreio> objetosRastreio = new ArrayList<>();

public String getVersao() {
return versao;
}
Expand All @@ -42,11 +40,11 @@ public Integer getQuantidade() {
public void setQuantidade(Integer quantidade) {
this.quantidade = quantidade;
}

public void adicionaObjetoRastreio(ObjetoRastreio objetoRastreio) {
this.objetosRastreio.add(objetoRastreio);
}

public List<ObjetoRastreio> getObjetosRastreio() {
return objetosRastreio;
}
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/br/com/correios/api/rastreio/model/Evento.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import com.google.common.base.Optional;

/**
* @author Alexandre Gama
*
* Classe que contem os dados de um determinado evento ocorrido no objeto desejado
*/
public class Evento {
Expand Down Expand Up @@ -46,7 +44,7 @@ public class Evento {

private LocalDoPacote local;

private List<Destino> destinos = new ArrayList<Destino>();
private List<Destino> destinos = new ArrayList<>();

public Evento(String tipo, String status, Calendar data, String hora, String descricao, String codigo,
LocalDoPacote local) {
Expand Down
Loading

0 comments on commit bd500aa

Please sign in to comment.