Elements in collection are lost
iapazmino Dec 18, 2012 12:34 AMHi,
I've a simple test which loads some info during pre-render view phases and then send this info when submiting. The object where this info is loaded is produced at the backing bean
@Produces @Named private Email newEmail = new Email();
and the info is loaded at the two pre-render view phase listeners
newEmail.addDestinatary(destinatary); ... newEmail.setSubject(emailTemplate.getSubject()); newEmail.setText(emailTemplate.getText());
When the submit button is clicked the newEmail object still holds the subject and the text values but the list is empty
The Email class is a very simple entity holding a list and two String fields
@Entity public class Email implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue private long pk; @OneToMany private List<Customer> destinataries; private String subject; private String text; public Email() { this(null, null); } public Email(final String subject, final String text) { this.destinataries = new ArrayList<Customer>(); this.subject = subject; this.text = text; } public long getPk() { return pk; } public void setPk(long pk) { this.pk = pk; } public List<Customer> getDestinataries() { return destinataries; } public void setDestinataries(List<Customer> Destinataries) { this.destinataries = Destinataries; } public void addDestinatary(final Customer destinatary) { destinataries.add(destinatary); } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getText() { return text; } public void setText(String text) { this.text = text; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Email [to=").append(destinataries).append(", subject=") .append(subject).append("]"); return builder.toString(); } }
Why could this be happening?