1
resposta

Como disponibilizar meus arquivos em XML

Bom dia, eu estou em um projeto a parte em JSF rodando no tomcat, e gostaria de saber como disponibilizo os dados dos vendedores em XML, tentei seguir o basico da aula 1 mas nao deu certo.

Meu bean


@Named
@ViewScoped
public class VendedorBean implements Serializable {

    private static final long serialversionUID = 1L;

    private Vendedor vendedor = new Vendedor();
    private Integer CidadeId;
    private Integer vendedorId;
    private List<Vendedor> vendedores;
    @Inject
    private CidadeDao CidadeDao;
    @Inject
    private VendedorDao dao;


    private UsuarioDAO usuarioDAO = new UsuarioDAO();

    public void carregaPelaId() {
        this.vendedor = dao.buscaPorId(this.vendedorId);
    }

    public Integer getvendedorId() {
        return vendedorId;
    }

    public void setVendedorId(Integer vendedorId) {
        this.vendedorId = vendedorId;
    }

    public void setVendedor(Vendedor vendedor) {
        this.vendedor = vendedor;
    }

    public Integer getCidadeId() {
        return CidadeId;
    }

    public void setCidadeId(Integer CidadeId) {
        this.CidadeId = CidadeId;
    }

    public Vendedor getvendedor() {
        return vendedor;
    }

    public List<Cidade> getCidades() {
        return CidadeDao.listaTodos();
    }

    public List<Vendedor> getvendedores() {


        if (this.vendedores == null) {
            this.vendedores = dao.listaTodos();
        }

        return vendedores;

    }


    @Transacional 
    public void gravar() {
        System.out.println("Gravando vendedor " + this.vendedor.getNome());

            if (this.vendedor.getId() == null) {
                if(!usuarioDAO.existeUsuario(vendedor.getCpf())) {
                    dao.adiciona(this.vendedor);
                    usuarioDAO.salvaUsuario(vendedor.getCpf(), vendedor.getSenha());
                    this.vendedores = dao.listaTodos();
                    this.vendedor = new Vendedor();
                    FacesContext.getCurrentInstance().addMessage("Vendedor",
                            new FacesMessage("vendedor Adicionado com sucesso"));
                }else {
                    FacesContext.getCurrentInstance().addMessage("Cpf",
                            new FacesMessage(FacesMessage.SEVERITY_ERROR, "Ja existe um vendedor com esse CPF", "CPF Invalido"));
                }

            } else {
                usuarioDAO.atualiza(this.vendedor, vendedor.getCpf(), vendedor.getSenha());
                dao.atualiza(this.vendedor);
                this.vendedor = new Vendedor();
                FacesContext.getCurrentInstance().addMessage("Vendedor",
                        new FacesMessage("Vendedor Adicionado com sucesso"));
            }


        }

    @Transacional
    public void remover(Vendedor l) {
        String nome = l.getNome();
        usuarioDAO.remove(l);
        dao.remove(l);
        this.vendedores = this.dao.listaTodos();
        FacesContext.getCurrentInstance().addMessage("Cidade",
                new FacesMessage("vendedor "+nome+" removido com sucesso"));

    }

    public void carregar(Vendedor l) {

        this.vendedor = dao.buscaPorId(l.getId());

    }
    public void buscaCep() {
        String cep = vendedor.getCep().replaceAll("-", "");
         Client client = ClientBuilder.newClient();
        WebTarget wr = client.target("https://viacep.com.br/ws/");
        String conteudo = wr.path(cep+"/json/").request().get(String.class);
        System.out.println(conteudo);
        Gson gson = new Gson();

        Cep teste = gson.fromJson(conteudo,new TypeToken<Cep>(){}.getType());
        try {
             if(teste.getLogradouro().isEmpty());
               else {
                    this.vendedor.setBairro(teste.getBairro());
                    this.vendedor.setRua(teste.getLogradouro());
                }
        }catch(Exception e) {
            FacesContext.getCurrentInstance().addMessage("Cep",
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Cep inválido", "Cep inválido"));

        }


    }

    @Path("endereco")
    public class CarrinhoResource {

        @GET
        @Produces(MediaType.APPLICATION_XML)
        public String busca() {
            Vendedor vendedor = dao.buscaPorId(3);
            System.out.println(vendedor.getCep());
            return vendedor.toXML();
        }

    }


}

Gostaria de saber, resumidamente, o que preciso pra realizar esse processo

1 resposta

Olá,

o método toXML na classe Vendedor está retornando o xml?

verifica se está implementado como mostra no capitulo.

public String toXML() {
    return new XStream().toXML(this);
}