javax.servlet.ServletException: javax.servlet.ServletException: #{questionarioHandler.salva}: java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@9a42ef"
br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:26)
root cause
java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@9a42ef"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Long.parseLong(Long.java:438)
java.lang.Long.valueOf(Long.java:535)
br.gov.rr.setrabes.handler.QuestionarioHandler.salva(QuestionarioHandler.java:140)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
javax.faces.component.UICommand.broadcast(UICommand.java:383)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:307)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:23)
@Entity
@Table(name = "questionario")
public class Questionario {
@Id
@GeneratedValue
@Column(name = "cod_questionario")
private Long cod_questionario;
@ManyToOne
@JoinColumn(name = "cod_orgaogestor")
private OrgaoGestor orgaogestor;
@ManyToOne
@JoinColumn(name = "cod_respostas")
private Respostas resposta;
@Entity
@Table(name = "resposta")
public class Respostas {
@Id
@GeneratedValue
@Column(name = "codRespostas")
private Long codRespostas;
private String descricao;
private String resposta_complemento;
private Boolean marcar;
@ManyToOne
@JoinColumn(name = "pergunta")
private Perguntas pergunta;
@OneToMany(mappedBy = "resposta", fetch = FetchType.LAZY)
// @Cascade(org.hibernate.annotations.CascadeType.ALL)
private List<Questionario> questionarios = new ArrayList<Questionario>();
public class QuestionarioHandler {
private Questionario questionario = new Questionario();
private Perguntas pergunta = new Perguntas();
private Respostas resposta = new Respostas();
private OrgaoGestor orgaogestor = new OrgaoGestor();
private List<SelectItem> orgaogestores = new ArrayList<SelectItem>();
private HtmlSelectOneMenu orgaogestorSelecionado = new HtmlSelectOneMenu();
private HtmlSelectManyCheckbox respostasSelecionado = new HtmlSelectManyCheckbox();
public List<Questionario> getQuestionarios() {
System.out.println("Carregando a lista de questionario ...");
Session session = HibernateUtil.currentSession();
Dao<Questionario> dao = new Dao<Questionario>(session,
Questionario.class);
return dao.list();
}
// select para orgaogestorHandler
private OrgaoGestorHandler pegaOrgaoGestorHandler() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ELContext elContext = facesContext.getELContext();
ELResolver resolver = facesContext.getApplication().getELResolver();
Object og = resolver.getValue(elContext, null, "orgaogestorHandler");
return (OrgaoGestorHandler) og;
}
public List<SelectItem> getOrgaoGestorParaComboBox() {
List<SelectItem> lista = new ArrayList<SelectItem>();
// usaremos o id como valor e o nome como label para os SelectItem.
OrgaoGestorHandler handler = pegaOrgaoGestorHandler();
for (OrgaoGestor og : handler.getOrgaosGestores()) {
lista.add(new SelectItem(og.getCod_orgaogestor(), og.getNome()));
}
return lista;
}
public String salva() {
System.out
.println("Adicionando: " + questionario.getCod_questionario());
Session session = HibernateUtil.currentSession();
Dao<Questionario> dao = new Dao<Questionario>(session,
Questionario.class);
Dao<OrgaoGestor> ogDao = new Dao<OrgaoGestor>(session,
OrgaoGestor.class);
Dao<Respostas> respostasDao = new Dao<Respostas>(session,
Respostas.class);
// orgaogestor
Long id_orgaogestor = Long.valueOf(orgaogestorSelecionado.getValue()
.toString());
OrgaoGestor og = ogDao.load(id_orgaogestor);
questionario.setOrgaogestor(og);
// respostas
Long id_respostas = Long.valueOf(respostasSelecionado.getValue()
.toString());
Respostas r = respostasDao.load(id_respostas);
questionario.setResposta(r);
dao.merge(this.questionario);
this.questionario = new Questionario();
return "sucesso";
}
public List<SelectItem> getRespostasPergunta1() {
Session session = HibernateUtil.currentSession();
RespostasDao dao = new RespostasDao(session, Respostas.class);
List<Respostas> respostas = dao.getRespostasByPergunta1(new Long(1));
List<SelectItem> items = new ArrayList<SelectItem>(respostas.size());
for (Respostas r : respostas) {
items.add(new SelectItem(r.getCodRespostas(), r.getDescricao()));
}
return items;
}
@SuppressWarnings("unchecked")
public List<Respostas> getRespostasByPergunta1(Long id) {
Criteria criteria = session.createCriteria(Respostas.class);
Perguntas pergunta = new Perguntas();
pergunta.setCodPerguntas(new Long(1));
criteria.add(Restrictions.eq("pergunta", pergunta));
List results = criteria.list();
return results;
}
<h:outputText value="1) Pergunta 1: " />
<h:selectManyCheckbox binding="#{questionarioHandler.respostasSelecionado}" id="selPerg">
<f:selectItems value="#{questionarioHandler.respostasPergunta1}" id="sPerg"/>
</h:selectManyCheckbox>
<br/>
Pessoal, preciso de ajuda urgente!
Agradeço.