com.haulmont.cuba.core.global.filter.Clause is not Serializable

Hi guys,

I implemented a service that based on a custom configuration generates a Clause object.

brandsDs.setQueryFilter(
                new QueryFilter(queryEnhancerService.getClauseForCurrentSession())
        );

The queryEnhancerService.getClauseForCurrentSession() method returns a Clause object. On this line, I receive the NotSerializable exception.

Is this the intended behaviour?
I figured it’s more a bug, because if the Clause class is visible from both Middleware and UI modules it should be able to be serialized and passed around.

Hi,
Probably platform code does not pass Clause instances as middleware service arguments or result.
So platform itself doesn’t need Clause implement Serializable and it’s not a bug :slight_smile:
Looks more like an enhancement.

1 Like