Ir ao conteúdo
  • Cadastre-se

Java usando service não edita


Posts recomendados

Caros amigos.

 

Por favor uma ajudinha.Estou escrevendo um sistema simples e estou usando o RESTful.

 

Infelizmente não estou conseguindo fazer a Edição, peço humildemente ajuda aos amigos. Abaixo os Código Fonte.

 

FabricanteService.java

package br.com.renato.farmaciaweb.service;

import java.util.List;

import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;

import com.google.gson.Gson;

import br.com.renato.farmaciaweb.dao.FabricanteDAO;
import br.com.renato.farmaciaweb.domain.Fabricante;

@Path("fabricante")
public class FabricanteService {
	// http://localhost:8080/FarmaciaWeb/rest/fabricante
	//@GET = serve para pesquisa de dados
	@GET
	public String listar(){
		FabricanteDAO fabricanteDAO = new FabricanteDAO();
		List<Fabricante> fabricantes = fabricanteDAO.listar("descricao");
		
		Gson gson = new Gson();
		String json = gson.toJson(fabricantes);
		
		return json;
	}
	
	// http://localhost:8080/FarmaciaWeb/rest/fabricante/{codigo}
	// http://localhost:8080/FarmaciaWeb/rest/fabricante/10
	@GET
	@Path("{codigo}")
	public String buscar(@PathParam("codigo") Long codigo){
		FabricanteDAO fabricanteDAO = new FabricanteDAO();
		Fabricante fabricante = fabricanteDAO.buscar(codigo);
		
		Gson gson = new Gson();
		String json = gson.toJson(fabricante);
		
		return json;
	}
	
	// http://localhost:8080/FarmaciaWeb/fabricante
	//@POST = serve para incluir dados
	@POST
	public String salvar(String json) {
		
		Gson gson = new Gson();
		Fabricante fabricante = gson.fromJson(json, Fabricante.class);

		FabricanteDAO fabricanteDAO = new FabricanteDAO();
		fabricanteDAO.salvar(fabricante);

		String jsonSaida = gson.toJson(fabricante);
		return jsonSaida;
		
	}	
	
	// http://localhost:8080/FarmaciaWeb/fabricante
	//@PUT = edita/altera dados
	@PUT
	public String editar(String json) {
		
		Gson gson = new Gson();
		Fabricante fabricante = gson.fromJson(json, Fabricante.class);

		FabricanteDAO fabricanteDAO = new FabricanteDAO();
		fabricanteDAO.editar(fabricante);

		String jsonSaida = gson.toJson(fabricante);
		return jsonSaida;
		
	}	
	
	
	
	// http://localhost:8080/FarmaciaWeb/fabricante/5
	@DELETE
	@Path("{codigo}")
	public String excluir(@PathParam("codigo") Long codigo){
		//Cria o DAO
		FabricanteDAO fabricanteDAO = new FabricanteDAO();
		
		//Busca o Fabricante passado
		Fabricante fabricante = fabricanteDAO.buscar(codigo);
		
		//Exclui o Fabricante
		fabricanteDAO.excluir(fabricante);
		
		//Retorna o Fabricante removido
		Gson gson = new Gson();	
		String saida = gson.toJson(fabricante);
		
		return saida;
	}
		
}

 

FabricanteBean.java

package br.com.renato.farmaciaweb.bean;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;

import org.omnifaces.util.Messages;

import com.google.gson.Gson;

import br.com.renato.farmaciaweb.domain.Fabricante;

@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class FabricanteBean implements Serializable {
	
	private Fabricante fabricante;
	private List<Fabricante> listaFabricante;
	
	public Fabricante getFabricante() {
		return fabricante;
	}
	public void setFabricante(Fabricante fabricante) {
		this.fabricante = fabricante;
	}
	public List<Fabricante> getListaFabricante() {
		return listaFabricante;
	}
	public void setListaFabricante(List<Fabricante> listaFabricante) {
		this.listaFabricante = listaFabricante;
	}
	
	
	// Parte de comandos e ações do sistema
	public void novo() {
		fabricante = new Fabricante();
	}

	public void salvar() {

		try {
			
			//Cria um cliente
			Client cliente = ClientBuilder.newClient();
			
			//Definir a String de Conxão com o Servidor
			WebTarget caminho = cliente.target("http://localhost:8080/FarmaciaWeb/rest/fabricante");

			Gson gson = new Gson();
			
			//Cria o método salvar
			String json = gson.toJson(fabricante);				
			caminho.request().post(Entity.json(json));
			
			//Estanciar cadastro
			fabricante = new Fabricante();
			
			//estância o Listar
			json = caminho.request().get(String.class);
			Fabricante[] vetor = gson.fromJson(json, Fabricante[].class);
			listaFabricante = Arrays.asList(vetor);			
			
			Messages.addGlobalInfo("Fabricante Salvo com Sucesso.");
			
		} catch (RuntimeException ex) {
			Messages.addGlobalError("Ocorreu um erro ao tentar Salvar um Fabricante.");
			ex.printStackTrace();
		}

	}
	
	//Método PostConstruct é um construtor
	@PostConstruct
	public void listar(){
		try{
			//Cria um cliente
			Client cliente = ClientBuilder.newClient();
			
			//Definir a String de Conxão com o Servidor
			WebTarget caminho = cliente.target("http://localhost:8080/FarmaciaWeb/rest/fabricante");
			
			//estância o Listar
			String json = caminho.request().get(String.class);
			Gson gson = new Gson();
			Fabricante[] vetor = gson.fromJson(json, Fabricante[].class);
			
			//Converte num ArrayList
			listaFabricante = Arrays.asList(vetor);
			
		} catch (RuntimeException ex) {
			
	  	    Messages.addGlobalError("Ocorreu um erro ao tentar Salvar um Fabricante.");
		    ex.printStackTrace();
		    
	    }
	}
	
	public void excluir(ActionEvent evento){
		
		try{
			fabricante = (Fabricante) evento.getComponent().getAttributes().get("fabricanteSelecionado");

			//Cria um cliente
			Client cliente = ClientBuilder.newClient();
			
			//Definir a String de Conxão com o Servidor
			WebTarget caminho = cliente.target("http://localhost:8080/FarmaciaWeb/rest/fabricante");
			WebTarget caminhoExcluir = caminho.path("{codigo}").resolveTemplate("codigo", fabricante.getCodigo());
			
			//Cria o método excluir
			caminhoExcluir.request().delete();
			String json = caminho.request().get(String.class);
			
			//estância o Listar
			Gson gson = new Gson();
			Fabricante[] vetor = gson.fromJson(json, Fabricante[].class);			

			//Converte num ArrayList
			listaFabricante = Arrays.asList(vetor);
			
			Messages.addGlobalInfo("Fabricante Excluído com Sucesso.");
		
		} catch (RuntimeException ex) {
			
	  	    Messages.addGlobalError("Ocorreu um erro ao tentar Excluir um Fabricante.");
		    ex.printStackTrace();
		    
	    }		
	
	}
	
	public void editar(ActionEvent evento){
		try{
		  
			fabricante = (Fabricante) evento.getComponent().getAttributes().get("fabricanteSelecionado");
			
			Messages.addGlobalInfo("Fabricante Editado com Sucesso.");			
			
		} catch (RuntimeException ex) {
			
	  	    Messages.addGlobalError("Ocorreu um erro ao tentar Editar um Fabricante.");
		    ex.printStackTrace();
		    
	    }		
	}
		

}

 

Humildemente agradeço a todos.

 

Atenciosamente,

 

Renato

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...