Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
remazela

Java usando service não edita

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×