I'm trying to create the LazyDataModel for my Seam-based application.
I'm doing this in such way:
Code: Select all
public class PagedDataModel<E extends UniqaDocument> extends LazyDataModel<E> {
private EntityQuery<E> entityQuery;
@Override
public List<E> fetchLazyData(int first, int pageSize) {
entityQuery.setFirstResult(first);
entityQuery.setMaxResults(pageSize);
return entityQuery.getResultList();
}
@Override
public int getRowCount() {
return this.entityQuery.getResultCount().intValue();
}
public void setEntityQuery(EntityQuery<E> entityQuery) {
this.entityQuery = entityQuery;
}
}
Code: Select all
@Name("sprFizLicList")
public class SprFizLicList extends PagedDataModel<SprFizLic>{
@In(value="#{sprFizLicEntityQuery}", create=true)
SprFizLicEntityQuery sprFizLicEntityQuery;
@Create
public void setSprFizLicEntityQuery() {
super.setEntityQuery(sprFizLicEntityQuery);
}
}
Code: Select all
<p:dataTable var="tt" value="#{sprFizLicList}" lazy="true" dynamic="true" rows="10">
<p:column>
<h:outputText value="#{tt.description}" />
</p:column>
<p:column>
<h:outputText value="#{tt.denRojd}" >
<f:convertDateTime pattern="dd.MM.yyyy"/>
</h:outputText>
</p:column>
</p:dataTable>
Can someone help me with this problem?
java.lang.ClassCastException: javax.faces.model.ListDataModel cannot be cast to org.primefaces.model.LazyDataModel
at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:436)
at org.primefaces.component.datatable.DataTableRenderer.encodeRows(DataTableRenderer.java:384)
at org.primefaces.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:339)
at org.primefaces.component.datatable.DataTableRenderer.encodePartially(DataTableRenderer.java:94)
at org.primefaces.component.datatable.DataTable.encodePartially(DataTable.java:460)
at org.primefaces.application.PrimeFacesPhaseListener$2.invokeContextCallback(PrimeFacesPhaseListener.java:169)
at javax.faces.component.UIData.invokeOnComponent(UIData.java:808)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
at org.primefaces.application.PrimeFacesPhaseListener.beforePhase(PrimeFacesPhaseListener.java:91)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)