jsf - org.primefaces.event.RowEditEvent cannot be cast to my own object -


i want save changes of datatable in db appear exception: java.lang.string cannot cast jpa.tcamposencuesta. don't understand it. part of managedbean , extends class tcamposencuesta.

public void oneditrow(roweditevent event){     try {             tcamposencuesta tobj = (tcamposencuesta)event.getobject();         this.setidcamposencuesta(tobj.getidcamposencuesta());         this.setnombre(((tcamposencuesta) event.getobject()).getnombre());         this.setamplitud(((tcamposencuesta) event.getobject()).getamplitud());         properties pr = this.actualizarinsertar();         string id = pr.getproperty("id");         addmessage("ha modificado a: " + id);     } catch(exception e){         addmessage(row+ "error: " + e.getmessage());     } } 

with tests caught errors in both types of casting have.

this .xhtml, put datatable inside of datascroller , works.

 <h:form id="form">         <p:growl id="msgs" showdetail="true"/>         <p:datascroller id="idscroller" value="#{mbcamposencuesta.listcamp}" var="campoenc" chunksize="2">             <!-- <f:facet name="header">                 scroll para cargar más elementos             </f:facet> -->             <f:facet name="loader">                           <p:commandbutton type="button" value="cargar más" icon="fa fa-angle-double-down" />             </f:facet>              <p:datatable id="iddatatable" editable="true" value="campoenc" styleclass="dtable">                 <p:ajax event="rowedit" listener="#{mbcamposencuesta.oneditrow}" update=":form:msgs"/>                     <!-- <p:ajax event="roweditcancel"   /> -->                      <p:column>                     <p:celleditor>                         <f:facet name="output" ><h:outputtext value="#{campoenc.idcamposencuesta}" /></f:facet>                         <f:facet name="input" ><p:inputtext value="#{campoenc.idcamposencuesta}" disabled="true" /></f:facet>                      </p:celleditor>                      </p:column>                      <p:column>                     <p:celleditor >                         <f:facet name="output" ><h:outputtext value="#{campoenc.nombre}" /></f:facet>                         <f:facet name="input" ><p:inputtext value="#{campoenc.nombre}" /></f:facet>                     </p:celleditor>                     </p:column>                      <p:column>                     <p:celleditor>                         <f:facet name="output"><h:outputlabel value="#{campoenc.amplitud}" /></f:facet>                         <f:facet name="input"><p:inputnumber value="#{campoenc.amplitud}" /></f:facet>                     </p:celleditor>                     </p:column>                      <p:column>                     <p:celleditor>                         <f:facet name="output" ><h:outputtext value="#{campoenc.script}" /></f:facet>                         <f:facet name="input" ><p:inputtext value="#{campoenc.script}" disabled="true" /></f:facet>                      </p:celleditor>                      </p:column>                      <p:column>                     <p:celleditor >                         <f:facet name="output" ><h:outputtext value="#{campoenc.tipocampo}" /></f:facet>                         <f:facet name="input" ><p:inputtext value="#{campoenc.tipocampo}" /></f:facet>                     </p:celleditor>                     </p:column>                      <p:column>                     <p:celleditor>                         <f:facet name="output"><h:outputlabel value="#{campoenc.idlista}" /></f:facet>                         <f:facet name="input"><p:inputnumber value="#{campoenc.idlista}" /></f:facet>                     </p:celleditor>                     </p:column>                      <p:column style="width:32px">                         <p:roweditor />                     </p:column>                 </p:datatable>         </p:datascroller>     </h:form> 

the stack:

java.lang.classcastexception: java.lang.string cannot cast jpa.tcamposencuesta @ com.beans.jsfprograma.mbcamposencuesta.oneditrow(mbcamposencuesta.java:100) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ org.apache.el.parser.astvalue.invoke(astvalue.java:247) @ org.apache.el.methodexpressionimpl.invoke(methodexpressionimpl.java:267) @ com.sun.faces.facelets.el.tagmethodexpression.invoke(tagmethodexpression.java:105) @ org.primefaces.behavior.ajax.ajaxbehaviorlistenerimpl.processarglistener(ajaxbehaviorlistenerimpl.java:79) @ org.primefaces.behavior.ajax.ajaxbehaviorlistenerimpl.processajaxbehavior(ajaxbehaviorlistenerimpl.java:63) @ org.primefaces.event.abstractajaxbehaviorevent.processlistener(abstractajaxbehaviorevent.java:38) @ javax.faces.component.behavior.behaviorbase.broadcast(behaviorbase.java:106) @ javax.faces.component.uicomponentbase.broadcast(uicomponentbase.java:804) @ javax.faces.component.uidata.broadcast(uidata.java:1086) @ javax.faces.component.uidata.broadcast(uidata.java:1108) @ javax.faces.component.uidata.broadcast(uidata.java:1108) @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:790) @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:1282) @ com.sun.faces.lifecycle.invokeapplicationphase.execute(invokeapplicationphase.java:81) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:198) @ javax.faces.webapp.facesservlet.service(facesservlet.java:646) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:217) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:142) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:518) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1091) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:673) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:745) 

stack: java.lang.classcastexception: java.lang.string cannot cast jpa.tcamposencuesta @ com.beans.jsfprograma.mbcamposencuesta.oneditrow(mbcamposencuesta.java:100) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:498) @ org.apache.el.parser.astvalue.invoke(astvalue.java:247) @ org.apache.el.methodexpressionimpl.invoke(methodexpressionimpl.java:267) @ com.sun.faces.facelets.el.tagmethodexpression.invoke(tagmethodexpression.java:105) @ org.primefaces.behavior.ajax.ajaxbehaviorlistenerimpl.processarglistener(ajaxbehaviorlistenerimpl.java:79) @ org.primefaces.behavior.ajax.ajaxbehaviorlistenerimpl.processajaxbehavior(ajaxbehaviorlistenerimpl.java:63) @ org.primefaces.event.abstractajaxbehaviorevent.processlistener(abstractajaxbehaviorevent.java:38) @ javax.faces.component.behavior.behaviorbase.broadcast(behaviorbase.java:106) @ javax.faces.component.uicomponentbase.broadcast(uicomponentbase.java:804) @ javax.faces.component.uidata.broadcast(uidata.java:1086) @ javax.faces.component.uidata.broadcast(uidata.java:1108) @ javax.faces.component.uidata.broadcast(uidata.java:1108) @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:790) @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:1282) @ com.sun.faces.lifecycle.invokeapplicationphase.execute(invokeapplicationphase.java:81) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:198) @ javax.faces.webapp.facesservlet.service(facesservlet.java:646) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:217) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:142) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:518) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1091) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:673) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:745)

this object:

package jpa;  import java.io.serializable; import java.util.date; import java.util.properties; import javax.persistence.basic; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.id; import javax.persistence.lob; import javax.persistence.namedqueries; import javax.persistence.namedquery; import javax.persistence.table; import javax.persistence.temporal; import javax.persistence.temporaltype; import javax.validation.constraints.notnull; import javax.validation.constraints.size; import javax.xml.bind.annotation.xmlrootelement;  /**  *  * @author miguel morales  */ @entity @table(name = "tcampos_encuesta", catalog = "", schema = "") @xmlrootelement @namedqueries({     @namedquery(name = "tcamposencuesta.findall", query = "select t tcamposencuesta t"),     @namedquery(name = "tcamposencuesta.findbyidcamposencuesta", query = "select t tcamposencuesta t t.idcamposencuesta = :idcamposencuesta"),     @namedquery(name = "tcamposencuesta.findbynombre", query = "select t tcamposencuesta t t.nombre = :nombre"),     @namedquery(name = "tcamposencuesta.findbytipocampo", query = "select t tcamposencuesta t t.tipocampo = :tipocampo"),     @namedquery(name = "tcamposencuesta.findbyamplitud", query = "select t tcamposencuesta t t.amplitud = :amplitud"),     @namedquery(name = "tcamposencuesta.findbyidlista", query = "select t tcamposencuesta t t.idlista = :idlista"),     @namedquery(name = "tcamposencuesta.findbyfechacreacion", query = "select t tcamposencuesta t t.fechacreacion = :fechacreacion")}) public class tcamposencuesta extends statement implements serializable {      private static final long serialversionuid = 1l;     @id     @basic(optional = false)     @notnull     @column(name = "idcampos_encuesta", nullable = false)     private integer idcamposencuesta = 0;     @size(max = 10)     @column(name = "nombre", length = 10)     private string nombre;     @lob     @size(max = 2147483647)     @column(name = "script", length = 2147483647)     private string script;     @size(max = 1)     @column(name = "tipo_campo", length = 1)     private string tipocampo;     @column(name = "amplitud")     private integer amplitud;     @column(name = "idlista")     private integer idlista;     @basic(optional = false)     @notnull     @column(name = "fecha_creacion", nullable = true)     @temporal(temporaltype.timestamp)     private date fechacreacion;       public tcamposencuesta() {     }      public tcamposencuesta(integer idcamposencuesta) {         this.idcamposencuesta = idcamposencuesta;     }      public tcamposencuesta(integer idcamposencuesta, date fechacreacion) {         this.idcamposencuesta = idcamposencuesta;         this.fechacreacion = fechacreacion;     }      public integer getidcamposencuesta() {         return idcamposencuesta;     }      public void setidcamposencuesta(integer idcamposencuesta) {         this.idcamposencuesta = idcamposencuesta;     }      public string getnombre() {         return nombre;     }      public void setnombre(string nombre) {         this.nombre = nombre;     }      public string getscript() {         return script;     }      public void setscript(string script) {         this.script = script;     }      public string gettipocampo() {         return tipocampo;     }      public void settipocampo(string tipocampo) {         this.tipocampo = tipocampo;     }      public integer getamplitud() {         return amplitud;     }      public void setamplitud(integer amplitud) {         this.amplitud = amplitud;     }      public integer getidlista() {         return idlista;     }      public void setidlista(integer idlista) {         this.idlista = idlista;     }      public date getfechacreacion() {         return fechacreacion;     }      public void setfechacreacion(date fechacreacion) {         this.fechacreacion = fechacreacion;     } } 


Comments