Giter Site home page Giter Site logo

optimusfaces's Introduction

Maven Javadoc Tests License

OptimusFaces

Utility library for OmniFaces + PrimeFaces combined.

This project is currently still in development stage!

This project basically combines best of OmniFaces and PrimeFaces with help of OmniPersistence, an utility library for JPA. This project should make it a breeze to create semi-dynamic lazy-loaded, searchable, sortable and filterable <p:dataTable> based on a JPA model and a generic entity service.

Installation

pom.xml

<dependencies>
    <!-- Target Java EE server. -->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>8.0</version><!-- Minimum supported version is 7.0 -->
        <scope>provided</scope>
    </dependency>

    <!-- Runtime dependencies. -->
    <dependency>
        <groupId>org.omnifaces</groupId>
        <artifactId>omnifaces</artifactId>
        <version>3.13.3</version><!-- Minimum supported version is 3.0 -->
    </dependency>
    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>10.0.0</version><!-- Minimum supported version is 10.0.0 -->
    </dependency>
    <dependency>
        <groupId>org.omnifaces</groupId>
        <artifactId>optimusfaces</artifactId>
        <version>0.15</version>
    </dependency>
</dependencies>

Minumum supported OmniFaces / PrimeFaces versions

  • OptimusFaces 0.1 - 0.14: OmniFaces 2.2 / PrimeFaces 7.0
  • OptimusFaces 0.15+: OmniFaces 3.0 / PrimeFaces 10.0.0
  • OptimusFaces 0.14-J1+: OmniFaces 4.0 / PrimeFaces 10.0.0:jakarta

Basic Usage

First create your entity service extending org.omnifaces.omnipersistence.service.BaseEntityService. You don't necessarily need to add new methods, just extending it is sufficient. It's useful for other generic things too.

@Stateless
public class YourEntityService extends BaseEntityService<Long, YourEntity> {

   // ...

}

And make sure YourEntity extends org.omnifaces.omnipersistence.model.BaseEntity or one of its subclasses GeneratedIdEntity, TimestampedEntity, TimestampedBaseEntity, VersionedEntity or VersionedBaseEntity.

@Entity
public class YourEntity extends BaseEntity<Long> {

    @Id @GeneratedValue(strategy=IDENTITY)
    private Long id;
    private Instant created;
    private String name;
    private Type type;
    private boolean deleted;

    // ...
}

Then create a org.omnifaces.optimusfaces.model.PagedDataModel in your backing bean as below.

@Named
@ViewScoped
public class YourBackingBean implements Serializable {

    private PagedDataModel<YourEntity> model;

    @Inject
    private YourEntityService service;
    
    @PostConstruct
    public void init() {
        model = PagedDataModel.lazy(service).build();
    }

    public PagedDataModel<YourEntity> getModel() {
        return model;
    }

}

Finally use <op:dataTable> to have a semi-dynamic lazy-loaded, pageable, sortable and filterable <p:dataTable> without much hassle.

<... xmlns:op="http://omnifaces.org/optimusfaces">

<h:form id="yourEntitiesForm">
    <op:dataTable id="yourEntitiesTable" value="#{yourBackingBean.model}">
        <op:column field="id" />
        <op:column field="created" />
        <op:column field="name" />
        <op:column field="type" />
        <op:column field="deleted" />
    </op:dataTable>
</h:form>

The field attribute of <op:column> represents the entity property path. This will in turn be used in id, field, headerText and filterBy attributes of <p:column>.

Here's how it looks like with default PrimeFaces UI and all. This example uses exactly the above Java and XHTML code with a Person entity with Long id, String email, Gender gender and LocalDate dateOfBirth fields.

example of op:dataTable

Advanced Usage

Check PagedDataModel javadoc.

Known Issues

  • EclipseLink refuses to perform a JOIN with Criteria API when setFirstResult/setMaxResults is used. This returns a cartesian product. This has been workarounded, but this removes the ability to perform sorting on a column referenced by a join (@OneToMany and @ElementCollection). You should set such columns as <op:column ... sortable="false">. Another consequence is that you cannot search with a multi-valued criteria in a field referenced by a @OneToMany relationship. You should consider using a DTO instead.
  • OpenJPA adds internally a second JOIN when sorting a column referenced by a join (@OneToMany and @ElementCollection). This has as consequence that the sorting is performed on a different join than the one referenced in GROUP BY and will thus be off from what's presented. You should for now set such columns as <op:column ... sortable="false"> or consider using a DTO instead.
  • OpenJPA does not correctly apply setFirstResult/setMaxResults when an @OneToMany relationship is involved in the query. It will basically apply it on the results of the @OneToMany relationship instead of on the query root, causing the page to contain fewer records than expected. There is no clear solution/workaround for that yet.

The integration tests currently run on following environments:

  • WildFly 26.1.1 with Mojarra 2.3.17 and Hibernate 5.3.24
  • WildFly 26.1.1 with Mojarra 2.3.17 and EclipseLink 2.7.10
  • Payara 5.2022.2 with Mojarra 2.3.14 and Hibernate 5.4.33
  • Payara 5.2022.2 with Mojarra 2.3.14 and EclipseLink 2.7.9
  • TomEE 8.0.11 with MyFaces 2.3.9 and OpenJPA 3.2.2

Each environment will run the IT on following databases:

  • H2 1.4.200 (embedded database)
  • MySQL latest 8.x (provided by GitHub Actions) with JDBC driver 8.0.29
  • PostgreSQL latest 12.x (provided by GitHub Actions) with JDBC driver 42.3.5

Effectively, there are thus 15 full test runs of each 31 test cases on 19 XHTML files.

optimusfaces's People

Contributors

arjantijms avatar balusc avatar dependabot[bot] avatar edubits avatar janbeernink avatar jlleitschuh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

optimusfaces's Issues

Double Colon Notation (Object Graph Navigation)

After reading the JavaDoc it is clear there are different ways to perform access control checks on a record level. One can use a filter within the frontend or the backend. I stuck if I would like to filter records using a Criteria in the frontend and the User Object (I would like to compare) is not directly accessible (via a Getter) of the entity.

In other words, I need to use the double colon notation multiple times to navigate trough the object graph to reach the related user object of a given entity.

I tried to add a simple additional Getter to my model like the following:

public User getUser() {
    return x.getY().getZ().getUser();
}

But this produces an IllegalArgumentException (java.lang.IllegalArgumentException: The attribute [user] is not present in the managed type ...)

Pagination Issue Filtering Enum

Today I found out that filtering on enum columns (normal columns but field is @Enumerated) does not update the Pagination.
Both searches do not have any matches and do not show any rows.

"Non Enum" Column

image

"Enum" Column

image

Wrong Pagination Backend Filtering

Hi @BalusC
I found an interesting bug today, I already reported something similar in the past (#10).
I tried the backend filter feature like the following.

EntityAService

public PartialResultList<EntityA> getPage(Page page, boolean count, EntityB entityB, boolean booleanA) {
    return getPage(page, count, (criteriaBuilder, criteriaQuery, entityA) -> {
        criteriaQuery.where(
                criteriaBuilder.and(
                        criteriaBuilder.equal(entityA.get("entityB"), entityB),
                        criteriaBuilder.equal(entityA.get("booleanA"), booleanA)
                )
        );
    });
}

EntityABacking

...
@Getter
private PagedDataModel<EntityA> entityAs;

...

@PostConstruct
private void init() {
    entityAs = PagedDataModel.lazy((page, count) -> entityAService.getPage(page, count, entityB, true))
        .orderBy(EntityA::getA, false)
        .orderBy(EntityA::getB, false)
        .build();
}

...

View
image

The pagination shows the total amount of entities (without the filtering).

Empty id attribute is not allowed

When using a op:dataTable within a rowExpansion or a modal (triggered by a button within another op:dataTable, e.g., "view details") an exception like the following occurs.

java.lang.IllegalArgumentException: Empty id attribute is not allowed
	at javax.faces.component.UIComponentBase.validateId(UIComponentBase.java:581)
	at javax.faces.component.UIComponentBase.setId(UIComponentBase.java:413)
	at org.primefaces.component.api.UIData.setId(UIData.java:468)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.assignUniqueId(ComponentTagHandlerDelegateImpl.java:442)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:179)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:194)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:326)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:142)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:167)
	at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
	at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:194)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:326)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:142)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:106)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:206)
	at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
	at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1692)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:339)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:97)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	...
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLessToExtension(FacesViewsForwardingFilter.java:184)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:141)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:127)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:88)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:483)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
	at java.lang.Thread.run(Thread.java:748)
]]

DataExporter Pre/PostProcessor

Hi @BalusC
Is there a way to enable p:dataExporter customizations? Due to the abstraction of the dataExporter it is currently not possible to pass attributes / values or am I missing something?

Thank you very much for your help!

Ability to add additional buttons via f:facet

OptimusFaces allows to add additional buttons to the op:dataTable header via <f:facet name="header">...</f:facet>. It would be nice if the additional buttons are placed inside the resulting <div class="ui-datatable-actions ui-helper-clearfix">...</div>. Currently the resulting table header looks like the following:

image

Show Enum via toString() instead of name()

When using columns implemented as enums, filtering applies to the toString() value, which is great. Wouldn't it make sense to also use the toString() value of an enum instead of name() within the view? I know a possible "workaround" is to create a custom facelet tag.

Fulltext Search: @Enumerated

I reworked my model and tried some new use-cases.
I found out that it is currently not possible to search within enums if they are declared like below:

@Enumerated
@Column(columnDefinition = "smallint")
private Role role;

Since the Enums are being mapped to Integers, one needs to search for a particular Integer.
Of course a workaround would be to store the Enum as String.

Multi-tenant support

For almost all of my/our applications (SAAS/Cloud/... solutions) we have one instance of an application running for multiple customers/tenants. One colum in the relevant tables contains a key to the customer that actually owns that data (multi-tenant shared schema). Would be great if OptimusFaces (or maybe OmniPersistence?) would have explicit support for this to (besides being able to do it in custom filters).

In which way this would be fully flexible I have no real clue yet. Maybe by defining a property in a web.xml which contains a field name that if present on the entity is used in the query retrieving the value from the session as an EL expression. Or maybe adding it as an annotation on the entity. I'm explicitly not mentioning multi-tenancy in separate schema's or separate db's or...

But most of all, really, really cool work. I have something homegrown that is sort of like this but with (at most) 40% of the functionality of the OptimusFaces and 10% of the OmniPersistence that I can now start removing... Compliments upfront! Will start experimenting over the weekend.

Formatting Instant(s)

Hi

I am currently trying to format the Instant fields provided by OmniPersistence (e.g., created or lastModified) without success. They look like e.g., 2019-01-01T11:00:00Z. Is there a way to "globally" format them using a FacesConverter?

Unfortunately the following snippet does not work.

@FacesConverter(forClass = Instant.class)
public class InstantConverter implements Converter<Instant> {

    private final DateTimeFormatter dateTimeFormatter;

    public InstantConverter() {
        dateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss")
                                             .withLocale(Locale.getDefault())
                                             .withZone(ZoneId.systemDefault());
    }

    @Override
    public Instant getAsObject(FacesContext context, UIComponent component, String value) {
        return dateTimeFormatter.parse(value, Instant::from);
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Instant value) {
        return dateTimeFormatter.format(value);
    }

}

Thank you very much for your help.

LazyPagedDataModel ordering should be exposed (or at least constructor should be public or protected)

As of now LazyPagedDataModel (and consequently NonLazyPagedDataModel) have package-private constructors which make it impossible to inherit from them unless one wants to use the same package name. I guess the intention is to hide the implementation details and just construct the models using builders but there is one important omission with the PagedDataModel.Builder - it allows to pass criteria map but doesn't allow to pass ordering map - it internally creates a NEW map from orderBy clauses. The end result is that if one wants to programmatically modify criteria then this is just a question of modifying the data inside the criteria map, however, if one wants to modify the ordering then this is impossible as there is no external access to ordering map.

Please consider adding something like this to the Builder:

	public Builder<E> ordering(LinkedHashMap<String, Boolean> ordering) {
            if (!this.ordering.isEmpty()) {
                throw new IllegalStateException("Ordering is already set");
            }
		    
            this.ordering = ordering;
            return this;
	}

Or, alternatively, change visibility of the constructor to allow for extensibility. Or both. :-)

ClassCastException inside LazyPagedDataModel.getFilterValue

Hi!

IMHO there is a tiny (but very problematic) bug inside this method due to filterMeta.getFilterValue() cast to String. Filter value is not necessary a String - it can be object of any class. Or it can be even a collection of objects (in case a custom filter facet is used with, say, p:selectCheckboxMenu). Model handles non-string filters, including collections, just fine - if not for this unfortunate cast.

Assuming global filter must be string:

diff --git a/src/main/java/org/omnifaces/optimusfaces/model/LazyPagedDataModel.java b/src/main/java/org/omnifaces/optimusfaces/model/LazyPagedDataModel.java
index 3a32bc6..5534d57 100644
--- a/src/main/java/org/omnifaces/optimusfaces/model/LazyPagedDataModel.java
+++ b/src/main/java/org/omnifaces/optimusfaces/model/LazyPagedDataModel.java
@@ -315,7 +315,7 @@
 	}
 
 	protected String processGlobalFilter(FacesContext context, DataTable table, Map<String, FilterMeta> filterBy) {
-		String globalFilter = getFilterValue(filterBy, GLOBAL_FILTER);
+		String globalFilter = (String) getFilterValue(filterBy, GLOBAL_FILTER);
 
 		if (globalFilter != null) {
 			globalFilter = globalFilter.trim();
@@ -328,9 +328,9 @@
 		return isEmpty(globalFilter) ? null : globalFilter;
 	}
 
-	private String getFilterValue(Map<String, FilterMeta> filterBy, String field) {
+	private Object getFilterValue(Map<String, FilterMeta> filterBy, String field) {
 		FilterMeta filterMeta = filterBy.get(field);
-		return (filterMeta == null) ? null : (String) filterMeta.getFilterValue();
+		return (filterMeta == null) ? null : filterMeta.getFilterValue();
 	}
 
 	private String getFilterParameterName(FacesContext context, DataTable table, String field) {

Value based paging breaks when using DTOs ordered by a custom field

When having a table which uses a DTO (extending the base entity) value based paging will break when the table is sorted by a field that only exists in the DTO. This happens because value based paging tries to find that field on the base entity.

Using the example from the PagedDataModel Javadoc this would be an order by YourEntityDTO::getTotalPrice.

Exception thrown:

Exception level 1: java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Optional.java:135)
	at org.omnifaces.persistence.service.BaseEntityService.lambda$buildValueBasedPagingPredicate$37(BaseEntityService.java:1834)
	at java.util.Optional.orElseGet(Optional.java:267)

Providing specific criteria in frontend

Hi @BalusC

Me again. I am actually not sure if this is already possible and what would be the cleanest way to solve it.
Lets say we have entities which belong to a particular user, so the datatable should only show the entities which belong to this particular user.

I tried to solve it by providing a specific criteria in the frontend - unfortunately this did't work.

How would you implement it using OptimusFaces?
Is there a way to compare the IDs of the two user objects using the given example (Target::getUser.getId, currentUser.getId())?

private Map<org.omnifaces.utils.reflect.Getter<Target>, Object> getCriteria() {
    Map<org.omnifaces.utils.reflect.Getter<Target>, Object> criteria = new HashMap<>();
    criteria.put(Target::getUser, currentUser);
    return criteria;
}

Thank you for your help.

multiViewState via f:attribute does not work

Hi @BalusC
Today I tried to use the multiViewState option of PrimeFaces like the following:
<f:attribute name="multiViewState" value="#{true}" />

The cookies are getting created but the dataTables state does not survive a page reload.

Deduplicate List (iterable)

I was wondering if it is possible to extend the iterable feature to deduplicate (something like SELECT DISTINCT ... when using SQL) a list of elements. I think there are several situations where this feature could be helpful.

The class 'org.omnifaces.component.input.Form' does not have the property 'value'

I did a few more tests with respect to filtering and sorting after migrating to PrimeFaces 8 and using the latest snapshot.
The following exception occurs as soon as I call a backing from within a row when filtering is active.

Exception

javax.el.PropertyNotFoundException: .../META-INF/resources/optimusfaces/tags/column.xhtml @59,3 filterValue="#{$pagedDataModel.filters[field]}": .../META-INF/resources/optimusfaces/tags/column.xhtml @28,61 value="#{$dataTable.value}": The class 'org.omnifaces.component.input.Form' does not have the property 'value'.
    at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:97)
    at org.primefaces.component.datatable.DataTable.processUpdates(DataTable.java:322)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:952)
    at org.primefaces.component.outputpanel.OutputPanel.processUpdates(OutputPanel.java:98)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:952)
    at javax.faces.component.UIForm.processUpdates(UIForm.java:262)
    at org.omnifaces.component.input.Form.processUpdates(Form.java:175)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:952)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:952)
    at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:952)
    at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1368)
    at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:54)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:76)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
    at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:707)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:451)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1636)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:331)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:211)
    at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:133)
    at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118)
    at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
    ...

exportable=false is ignored

When using DataTables users usually have an additional column containing a button to trigger actions on a particular entry / row.

Something like:

<p:column toggleable="false" exportable="false">
  <p:menuButton value="Options">
  ...
  </p:menuButton>
</p:column>

When setting exportable to false the column still gets exported which results in a CSV containing entries like the following:

..., "org.primefaces.component.menubutton.MenuButton@3695980b"
..., "org.primefaces.component.menubutton.MenuButton@3695980b"

Editing support

For years, Netbeans with its horrible code generator has been the mayor of the city. You are close to change that.

It could be fantastic if optimusfaces had a edit attribute plus some kind of edit-type at the column level instead of the primefaces facets mechanism - much simpler - in order to decide wich input widget to show.

Thanks a lot for this project ๐Ÿ‘

searchable exception

Hi there

I just reimplemented all my datatables using OptimusFaces and basically everything went very well.
Using searchable="true" as documented produces the following exception.

Thank you very much.

javax.el.ELException: Function 'fn:trim' not found
	at com.sun.el.lang.ExpressionBuilder.visit(ExpressionBuilder.java:275)
	at com.sun.el.parser.SimpleNode.accept(SimpleNode.java:172)
	at com.sun.el.lang.ExpressionBuilder.prepare(ExpressionBuilder.java:227)
	at com.sun.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:238)
	at com.sun.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:295)
	at com.sun.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:112)
	at org.jboss.weld.util.el.ForwardingExpressionFactory.createValueExpression(ForwardingExpressionFactory.java:53)
	at org.jboss.weld.el.WeldExpressionFactory.createValueExpression(WeldExpressionFactory.java:48)
	at org.jboss.weld.util.el.ForwardingExpressionFactory.createValueExpression(ForwardingExpressionFactory.java:53)
	at org.jboss.weld.el.WeldExpressionFactory.createValueExpression(WeldExpressionFactory.java:48)
	at com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:412)
	at com.sun.faces.facelets.tag.TagAttributeImpl.getValueExpression(TagAttributeImpl.java:378)
	at com.sun.faces.facelets.tag.jsf.ValueHolderRule$DynamicValueExpressionMetadata.applyMetadata(ValueHolderRule.java:129)
	at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81)
	at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:491)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:178)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:96)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:96)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:194)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:326)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:142)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:106)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:206)
	at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
	at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1606)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:338)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:97)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

f:attribute exception

Hi there

I just reimplemented all my datatables using OptimusFaces and basically everything went very well.
Using <f:attribute name="reflow" value="true" /> as documented produces the following exception.

Thank you very much.

[2017-10-10T14:54:43.006+0000] [Payara 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=33 _ThreadName=http-thread-pool::http-listener-2(1)] [timeMillis: 1507647283006] [levelValue: 900] [[
  StandardWrapperValve[facesServlet]: Servlet.service() for servlet facesServlet threw exception
java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2464)
	at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2336)
	at com.sun.faces.facelets.tag.jsf.core.AttributeHandler.apply(AttributeHandler.java:117)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:167)
	at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
	at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:194)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:326)
	at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:142)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:106)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:206)
	at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
	at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)
	at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)
	at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
	at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1606)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:338)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:97)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
...

org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint ~~ character varying

I did a few tests and it looks like there are still some issues with respect to 'long'. But the exception is different. I'll test the booleans now.

long

Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.4.payara-p2): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint ~~ character varying
  Hinweis: No operator matches the given name and argument types. You might need to add explicit type casts.
  Position: 136
Error Code: 0
...

PrimeFaces X Compatibility

Since PrimeFaces released the first release candidate of the upcoming PrimeFaces X version it would be awesome to make it compatible with OptimusFaces. According to the release notes and the migration guide they implemented a few changes that impact the handling of DataTables.

Filtering on 'boolean' and 'bigint' does not work

Hi everyone

I did a few experiments using the latest release and found out that filtering on non Strings seems to be broken. Am I missing something or is this already known? According to the documentation this should actually work.

Thank you very much for your help!

'boolean'

Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.4.payara-p2): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: function lower(boolean) does not exist
  Hinweis: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 162
Error Code: 0
...

'bigint'

Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.4.payara-p2): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: function lower(bigint) does not exist
  Hinweis: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 129
Error Code: 0
...

java.util.NoSuchElementException: No value present

I just tried the latest SNAPSHOT (new pagination) and the following exception occurred.

Steps to Reproduce

  1. Sort by any column

  2. Use the pagination

Exception

[2018-08-03T13:11:39.250+0200] [Payara 5.182] [WARNING] [AS-EJB-00056] [javax.enterprise.ejb.container] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699250] [levelValue: 900] [[
  A system exception occurred during an invocation on EJB EeeeRepository, method: public org.omnifaces.utils.collection.PartialResultList org.omnifaces.persistence.service.BaseEntityService.getPage(org.omnifaces.persistence.model.dto.Page,boolean)]]
[2018-08-03T13:11:39.250+0200] [Payara 5.182] [WARNING] [] [javax.enterprise.ejb.container] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699250] [levelValue: 900] [[
  
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
	at com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:664)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:509)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4647)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2123)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2093)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy665.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.repository.__EJB31_Generated__EeeeRepository__Intf____Bean__.getPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.repository.EeeeRepository$Proxy$_$$_Weld$EnterpriseProxy$.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.ccccService.getWebPage(ccccService.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy690.getWebPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.__EJB31_Generated__ccccService__Intf____Bean__.getWebPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.service.ccccService$Proxy$_$$_Weld$EnterpriseProxy$.getWebPage(Unknown Source)
	at ch.bbb.aaaa.fff.view.ccccs.web.DdddBacking.getPage(DdddBacking.java:26)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:161)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.loadPage(LazyPagedDataModel.java:145)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:135)
	at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:1173)
	at org.primefaces.component.datatable.feature.PageFeature.encode(PageFeature.java:37)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:87)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:619)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:638)
	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
	at org.primefaces.component.api.UIData.visitTree(UIData.java:850)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIForm.visitTree(UIForm.java:379)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:423)
	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:342)
	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:252)
	at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:122)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1125)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1670)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:466)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:194)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:115)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:732)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:475)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1622)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:339)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:133)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at ch.bbb.aaaa.fff.httpfilter.SecurityHeaderHttpFilter.doFilter(SecurityHeaderHttpFilter.java:47)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:239)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLessToExtension(FacesViewsForwardingFilter.java:180)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:137)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:123)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:84)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Optional.java:135)
	at org.omnifaces.persistence.service.BaseEntityService.lambda$buildValueBasedPagingPredicate$41(BaseEntityService.java:1656)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.omnifaces.persistence.service.BaseEntityService.buildValueBasedPagingPredicate(BaseEntityService.java:1656)
	at org.omnifaces.persistence.service.BaseEntityService.buildRestrictions(BaseEntityService.java:1634)
	at org.omnifaces.persistence.service.BaseEntityService.buildEntityQuery(BaseEntityService.java:1448)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1431)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1285)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 148 more
]]
[2018-08-03T13:11:39.253+0200] [Payara 5.182] [WARNING] [AS-EJB-00056] [javax.enterprise.ejb.container] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699253] [levelValue: 900] [[
  A system exception occurred during an invocation on EJB ccccService, method: public org.omnifaces.utils.collection.PartialResultList ch.bbb.aaaa.model.cccc.service.ccccService.getWebPage(org.omnifaces.persistence.model.dto.Page,boolean)]]
[2018-08-03T13:11:39.253+0200] [Payara 5.182] [WARNING] [] [javax.enterprise.ejb.container] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699253] [levelValue: 900] [[
  
javax.ejb.EJBTransactionRolledbackException
	at com.sun.ejb.containers.BaseContainer.mapLocal3xException(BaseContainer.java:2390)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2172)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2093)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy665.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.repository.__EJB31_Generated__EeeeRepository__Intf____Bean__.getPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.repository.EeeeRepository$Proxy$_$$_Weld$EnterpriseProxy$.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.ccccService.getWebPage(ccccService.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy690.getWebPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.__EJB31_Generated__ccccService__Intf____Bean__.getWebPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.service.ccccService$Proxy$_$$_Weld$EnterpriseProxy$.getWebPage(Unknown Source)
	at ch.bbb.aaaa.fff.view.ccccs.web.DdddBacking.getPage(DdddBacking.java:26)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:161)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.loadPage(LazyPagedDataModel.java:145)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:135)
	at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:1173)
	at org.primefaces.component.datatable.feature.PageFeature.encode(PageFeature.java:37)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:87)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:619)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:638)
	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
	at org.primefaces.component.api.UIData.visitTree(UIData.java:850)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIForm.visitTree(UIForm.java:379)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:423)
	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:342)
	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:252)
	at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:122)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1125)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1670)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:466)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:194)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:115)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:732)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:475)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1622)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:339)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:133)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at ch.bbb.aaaa.fff.httpfilter.SecurityHeaderHttpFilter.doFilter(SecurityHeaderHttpFilter.java:47)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:239)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLessToExtension(FacesViewsForwardingFilter.java:180)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:137)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:123)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:84)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
	at com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:664)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:509)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4647)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2123)
	... 150 more
Caused by: java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Optional.java:135)
	at org.omnifaces.persistence.service.BaseEntityService.lambda$buildValueBasedPagingPredicate$41(BaseEntityService.java:1656)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.omnifaces.persistence.service.BaseEntityService.buildValueBasedPagingPredicate(BaseEntityService.java:1656)
	at org.omnifaces.persistence.service.BaseEntityService.buildRestrictions(BaseEntityService.java:1634)
	at org.omnifaces.persistence.service.BaseEntityService.buildEntityQuery(BaseEntityService.java:1448)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1431)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1285)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 148 more
]]
[2018-08-03T13:11:39.254+0200] [Payara 5.182] [SEVERE] [] [javax.enterprise.resource.webcontainer.jsf.application] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699254] [levelValue: 1000] [[
  Error Rendering View[/auth/ccccs/web.xhtml]
javax.ejb.EJBTransactionRolledbackException
	at com.sun.ejb.containers.BaseContainer.mapLocal3xException(BaseContainer.java:2390)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2172)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2093)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy665.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.repository.__EJB31_Generated__EeeeRepository__Intf____Bean__.getPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.repository.EeeeRepository$Proxy$_$$_Weld$EnterpriseProxy$.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.ccccService.getWebPage(ccccService.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy690.getWebPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.__EJB31_Generated__ccccService__Intf____Bean__.getWebPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.service.ccccService$Proxy$_$$_Weld$EnterpriseProxy$.getWebPage(Unknown Source)
	at ch.bbb.aaaa.fff.view.ccccs.web.DdddBacking.getPage(DdddBacking.java:26)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:161)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.loadPage(LazyPagedDataModel.java:145)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:135)
	at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:1173)
	at org.primefaces.component.datatable.feature.PageFeature.encode(PageFeature.java:37)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:87)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:619)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:638)
	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
	at org.primefaces.component.api.UIData.visitTree(UIData.java:850)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIForm.visitTree(UIForm.java:379)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:423)
	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:342)
	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:252)
	at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:122)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1125)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1670)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:466)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:194)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:115)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:732)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:475)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1622)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:339)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:133)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at ch.bbb.aaaa.fff.httpfilter.SecurityHeaderHttpFilter.doFilter(SecurityHeaderHttpFilter.java:47)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:239)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLessToExtension(FacesViewsForwardingFilter.java:180)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:137)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:123)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:84)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
	at com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:664)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:509)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4647)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2123)
	... 150 more
Caused by: java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Optional.java:135)
	at org.omnifaces.persistence.service.BaseEntityService.lambda$buildValueBasedPagingPredicate$41(BaseEntityService.java:1656)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.omnifaces.persistence.service.BaseEntityService.buildValueBasedPagingPredicate(BaseEntityService.java:1656)
	at org.omnifaces.persistence.service.BaseEntityService.buildRestrictions(BaseEntityService.java:1634)
	at org.omnifaces.persistence.service.BaseEntityService.buildEntityQuery(BaseEntityService.java:1448)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1431)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1285)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 148 more
]]
[2018-08-03T13:11:39.258+0200] [Payara 5.182] [SEVERE] [] [org.omnifaces.exceptionhandler.FullAjaxExceptionHandler] [tid: _ThreadID=41 _ThreadName=http-thread-pool::http-listener-2(3)] [timeMillis: 1533294699258] [levelValue: 1000] [[
  [6424079d-0117-4599-8203-c9e7f9920477][10.255.0.2] FullAjaxExceptionHandler: An exception occurred during rendering JSF ajax response. Error page '/public/error.xhtml' will be shown.
javax.ejb.EJBTransactionRolledbackException
	at com.sun.ejb.containers.BaseContainer.mapLocal3xException(BaseContainer.java:2390)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2172)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2093)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy665.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.repository.__EJB31_Generated__EeeeRepository__Intf____Bean__.getPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.repository.EeeeRepository$Proxy$_$$_Weld$EnterpriseProxy$.getPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.ccccService.getWebPage(ccccService.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:90)
	at com.sun.proxy.$Proxy690.getWebPage(Unknown Source)
	at ch.bbb.aaaa.model.cccc.service.__EJB31_Generated__ccccService__Intf____Bean__.getWebPage(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.jboss.weld.util.reflection.Reflections.invokeAndUnwrap(Reflections.java:411)
	at org.jboss.weld.module.ejb.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:134)
	at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)
	at org.jboss.weld.module.ejb.InjectionPointPropagatingEnterpriseTargetBeanInstance.invoke(InjectionPointPropagatingEnterpriseTargetBeanInstance.java:68)
	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
	at ch.bbb.aaaa.model.cccc.service.ccccService$Proxy$_$$_Weld$EnterpriseProxy$.getWebPage(Unknown Source)
	at ch.bbb.aaaa.fff.view.ccccs.web.DdddBacking.getPage(DdddBacking.java:26)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:161)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.loadPage(LazyPagedDataModel.java:145)
	at org.omnifaces.optimusfaces.model.LazyPagedDataModel.load(LazyPagedDataModel.java:135)
	at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:1173)
	at org.primefaces.component.datatable.feature.PageFeature.encode(PageFeature.java:37)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:87)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:619)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:638)
	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
	at org.primefaces.component.api.UIData.visitTree(UIData.java:850)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIForm.visitTree(UIForm.java:379)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1491)
	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:423)
	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:342)
	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:252)
	at org.omnifaces.context.OmniPartialViewContext.processPartial(OmniPartialViewContext.java:122)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1125)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1670)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:466)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:194)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:115)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:156)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223)
	at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:732)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:475)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1622)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:339)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:133)
	at org.omnifaces.filter.FacesExceptionFilter.doFilter(FacesExceptionFilter.java:118)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at ch.bbb.aaaa.fff.httpfilter.SecurityHeaderHttpFilter.doFilter(SecurityHeaderHttpFilter.java:47)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:239)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLessToExtension(FacesViewsForwardingFilter.java:180)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:137)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.filterExtensionLess(FacesViewsForwardingFilter.java:123)
	at org.omnifaces.facesviews.FacesViewsForwardingFilter.doFilter(FacesViewsForwardingFilter.java:84)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:251)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:209)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:654)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:516)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:213)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:182)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:156)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:218)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:524)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
	at com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:664)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:509)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4647)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2123)
	... 150 more
Caused by: java.util.NoSuchElementException: No value present
	at java.util.Optional.get(Optional.java:135)
	at org.omnifaces.persistence.service.BaseEntityService.lambda$buildValueBasedPagingPredicate$41(BaseEntityService.java:1656)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.omnifaces.persistence.service.BaseEntityService.buildValueBasedPagingPredicate(BaseEntityService.java:1656)
	at org.omnifaces.persistence.service.BaseEntityService.buildRestrictions(BaseEntityService.java:1634)
	at org.omnifaces.persistence.service.BaseEntityService.buildEntityQuery(BaseEntityService.java:1448)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1431)
	at org.omnifaces.persistence.service.BaseEntityService.getPage(BaseEntityService.java:1285)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4867)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:836)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor1479.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
	at org.jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:895)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:835)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:374)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4839)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4827)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 148 more
]]

Export all pages

<k:table exportType="XLS" ...>

With this config only the first page is exported. How can we export all pages?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.