Estou arrancando os cabelos com esse erro aqui, se alguem puder me ajudar agradeço muito.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>KArtHugo PCs</title>
</h:head>
<h:body>
<h:form>
<p:growl id="growl" showDetail="true" sticky="true" />
<p:tabMenu>
<p:menuitem icon="ui-icon-disk" value="PCs Montados"
url="pcsMontados.xhtml" />
<p:menuitem icon="ui-icon-disk" value="Monte seu PC"
url="createPc.xhtml" />
</p:tabMenu>
<p:panelGrid style="margin-botton:20px" columns="2" layout="grid">
<p:outputLabel value="Nome do PC:" />
<p:inputText id="nomePc" label="nome"
value="#{computadorService.pc.nome}" style="width:350px" />
<p:outputLabel value="Placa mãe:" />
<p:selectOneMenu id="placaMae" var="p" converter="ConversorPeca"
style="width:350px" lazy="true" panelStyle="width:180px"
value="#{computadorService.pc.placaMae}">
<f:selectItems value="#{computadorService.pecas}" var="placaMae"
itemLabel="#{placaMae.nome}" itemValue="#{placaMae}" />
</p:selectOneMenu>
<p:outputLabel value="Processador:" />
<p:selectOneMenu id="cpu" var="c" converter="ConversorPeca"
panelStyle="width:350px" style="width:350px"
value="#{computadorService.pc.cpu}">
<f:selectItems value="#{computadorService.pecas}" var="cpu"
itemLabel="#{cpu.nome}" itemValue="#{cpu}" />
</p:selectOneMenu>
Classe Bean
package beans;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import entities.MontagemDeComputador;
import entities.Peca;
@ApplicationScoped
@ManagedBean(name = "computadorService")
public class ComputadorBean {
// Gerencia pecas
private List<MontagemDeComputador> pcs = new ArrayList<MontagemDeComputador>();
private MontagemDeComputador pc = new MontagemDeComputador();
private MontagemDeComputador pcBuscado = new MontagemDeComputador();
private MontagemDeComputador pcEditado;
private Peca placaMae;
private Peca fonte;
private Peca cpu;
private Peca ram;
private Peca hd;
private Peca video;
private static int cont = 0;
private int qntRam;
private int qntVideo;
private int qntHd;
private List<Peca> pecas = new ArrayList<Peca>();
public Peca getPlacaMae() {
return placaMae;
}
public void setPlacaMae(Peca placaMae) {
this.placaMae = placaMae;
}
public Peca getFonte() {
return fonte;
}
public void setFonte(Peca fonte) {
this.fonte = fonte;
}
public Peca getCpu() {
return cpu;
}
…
public MontagemDeComputador getPcEditado() {
return pcEditado;
}
public void setPcEditado(MontagemDeComputador pcEditado) {
this.pcEditado = pcEditado;
}
@PostConstruct
public void init() {
pecas.add(new Peca("Placa Mae Gigabyte", "placaMae", 80, 1));
pecas.add(new Peca("Hyper Fury 4gb", "ram", 50, 0));
pecas.add(new Peca("Intel Core I5", "cpu", 300, 1));
pecas.add(new Peca("Nividia GEForce 1080", "video", 500, 0));
pecas.add(new Peca("FOnte 500w", "fonte", 200, 1));
pecas.add(new Peca("Hd 1 terabyte", "hd", 100, 0));
}
public void editarPC(MontagemDeComputador pcEdit) throws IOException {
setPcEditado(pcEdit);
int ind = pcs.indexOf(pcEditado);
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage("PC " + (pcEdit.getNome()) + " indice: " + ind));
}
public void salvarPc() throws IOException {
double precoTotal = (pc.getRam().getPreco() * pc.getRam().getQuant())
+ (pc.getHd().getPreco() * pc.getHd().getQuant())
+ (pc.getVideo().getPreco() * pc.getVideo().getQuant()) + (pc.getCpu().getPreco())
+ (pc.getFonte().getPreco()) + (pc.getPlacaMae().getPreco());
pc.setPrecoTotal(precoTotal);
FacesContext.getCurrentInstance().getExternalContext().redirect("pcsMontados.xhtml");
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage("PC " + pc.getNome() + "Criado", "O preco total foi de " + pc.getPrecoTotal()));
pcs.add(pc);
pc = new MontagemDeComputador();
}
Classe MontagemDeComputador
package entities;
public class MontagemDeComputador {
private Peca cpu;
private Peca placaMae;
private Peca ram;
private Peca hd;
private Peca video;
private Peca fonte;
private double precoTotal;
private String nome;
private int id;
private static int cont = 0;
public Peca getCpu() {
return cpu;
}
public void setCpu(Peca cpu) {
this.cpu = cpu;
}
public Peca getPlacaMae() {
return placaMae;
}
public void setPlacaMae(Peca placaMae) {
this.placaMae = placaMae;
}
public Peca getRam() {
return ram;
}
public void setRam(Peca ram) {
this.ram = ram;
}
public double getPrecoTotal() {
return precoTotal;
}
public void setPrecoTotal(double precoTotal) {
this.precoTotal = precoTotal;
}
public Peca getHd() {
return hd;
}
public void setHd(Peca hd) {
this.hd = hd;
}
public Peca getVideo() {
return video;
}
public void setVideo(Peca video) {
this.video = video;
}
public Peca getFonte() {
return fonte;
}
public void setFonte(Peca fonte) {
this.fonte = fonte;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getId() {
return id;
}