Montar lista de forma pagamento com jsf

Java

29/07/2014

Boa tarde pessoal estou com duvida na geração da forma de pagamento, criei tabela formapagamento e intervalos, agora estou fazendo forma tela de venda ao selecionar forma de pagamento com duas parcelas vem e mostra para o meu usuário estou com erro de nullpoint segue abaixo o erro:

GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/vendas] threw exception [null] with root cause
java.lang.NullPointerException
at br.com.vendas.controlador.CarrinhoDeComprasMB.getDuplicatas(CarrinhoDeComprasMB.java:145)

Método

public List<Duplicata> getDuplicatas() throws ParseException {
intervalo = daoPga.getListaPagamento(7);

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ArrayList<String> bandas = new ArrayList<String>();


for (int i = 0; i < intervalo.size(); i++) {

String dd = calcularData.getDate(intervalo.get(i).getIntervalos());

bandas.add(dd);
duplicata.setDataVencimento(formatter.parse(bandas.get(i)
.toString()));
duplicata.setSufixo(i);
pedidoCarrinho.getDuplicata().add(duplicata);
}


return duplicatas;
}

vou colocar relacionamento de venda com duplicata

@Entity
@Table(name = "venda")
public class Venda implements Serializable {

private static final long serialVersionUID = -9186348467323901258L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;

@OneToMany(mappedBy = "venda", cascade = { CascadeType.ALL,
CascadeType.PERSIST, CascadeType.MERGE })
private List<Duplicata> duplicata;


}

@Entity
@Table(name = "duplicata")
public class Duplicata implements Serializable {

private static final long serialVersionUID = 346672501305854890L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;

@ManyToOne
@JoinColumn(name = "id_venda")
@NotNull
private Venda venda;
Adriano Aguiar

Adriano Aguiar

Curtidas 0

Respostas

Ronaldo Lanhellas

Ronaldo Lanhellas

29/07/2014

O seu "daoPga" no método getDuplicata() está inicializado ? Depura o código e veja se ele não está nulo, caso esteja, inicialize-o.
GOSTEI 0
Adriano Aguiar

Adriano Aguiar

29/07/2014

Boa noite Ronaldo obrigado pela atenção, daoPga está iniciado ele retorna lista de intervalos, quando vou adicionar duplicata em pedidoCarrinho.getDuplicata().add(duplicata) que ocorre erro.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

29/07/2014

Bom, creio então que o "List<Duplicata>" dentro da classe PedidoCarrinho não está inicializada. você não postou ela aqui mas tente isso dentro da classe PedidoCarrinho

public List<Duplicata> getDuplicatas(){
 if (this.duplicatas == null){
    this.duplicatas = new ArrayList<Duplicata>();
 }

return this.duplicatas;
}


Assim você garante que o objeto sempre estará instanciado, ou você pode adicionar a criação da List no construtor da classe.
GOSTEI 0
POSTAR