querysearch-expanders
3.5.1 (2025-09-30)
Fixed
- Fixed incorrect dependency on
prime-test-supportinquerysearch-standard-api-expandersandquerysearch-arquillian-testing-expanders.
3.4.0 (2025-06-18)
Changed
- [NSX-285][NSX-485] Updated all expanders that extend the standard API implementation to support the breaking changes in version 0.22.0 of standard-api-expanders.
3.3.1 (2024-09-02)
Fixed
LegacyQuerySearchTransformermodel loading listener was defined inquerysearch-coreinstead ofquerysearch-expanders.
3.3.0 (2024-08-11)
Changed
- Renamed expansion resource
net.democritus:querysearch-stdapi-expanderstonet.democritus:querysearch-standard-api-expanders. - Updated expander dependency:
net.democritus:Expanders:7.4.5 > 7.7.0net.democritus:prime-core:2024.4.2 > 2024.4.5net.democritus.metamodel:nsx-metamodel-stack:2024.4.2 > 2024.4.5
3.2.0 (2024-07-29)
Fixed
- Fixed naming of QueryFilterField element in model xml to use
fieldelements instead ofqueryFilterFieldlike version 2.x.
Changed
- Updated expander dependency:
net.democritus.metamodel:nsx-metamodel-stack:2024.4.2 > 2024.4.3
3.1.0 (2024-07-26)
Fixed
- Check on deprecated option
jpa.optimization.skipDataQuery.disablehas been removed, this is default behavior now.
Added
- (QSEARCH-27) Added support for
SearchDetails.skipCount.
3.0.0 (2024-07-25)
Fixed
- Object type parameters were not injected into queries.
Changed
- Updated expander dependency:
net.democritus:Expanders:7.4.3 > 7.4.5net.democritus:prime-core:2024.3.13 > 2024.4.2net.democritus.metamodel:nsx-metamodel-stack:2024.3.13 > 2024.4.2
- The ontology model is now expanded directly instead of first transmuting to the elements model.
Removed
- Removed the elements-based metamodel.
- The
querysearch-buildersmodule was removed. Builders are now part ofquerysearch-core.
2.29.0 (2024-06-14)
Added
- [NSX-285][NSX-486] Added support for sorting on valuefields in the standard API.
Changed
- Updated expander dependency:
net.democritus:Expanders:7.4.2 > 7.4.3
2.28.0 (2024-06-13)
Changed
- [NSX-285] Replaced use of placeholder
OopsSomethingWentWrongExceptioninquerysearch-stdapi-expanders. - Updated expander dependency:
net.democritus:Expanders:7.1.2 > 7.4.2net.democritus:prime-core:2024.2.3 > 2024.3.13net.democritus.metamodel:nsx-metamodel-stack:2024.2.3 > 2024.3.13
2.27.0 (2024-05-14)
Added
- Added dependency from
querysearch-stdapi-expandersonjaxrs-standard-api-expanders.
Changed
- Updated expander dependency:
net.democritus:Expanders:7.1.2 > 7.2.0
2.26.0 (2024-05-06)
This version contains some breaking changes. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Added
- Added option
stdapi.jaxrs.querysearch.nameto define a custom filter name when adding the QuerySearch as a filter to the standard REST API. - Added new
QueryValueTypeenum valueOBJECT, which will pass the value given to a constraint as a raw object to JPA, without taking actions based on its type. - Added model validation to ensure that the option
stdapi.jaxrs.querysearch.nameis not used with the same name twice in the same element.
Changed
- If no explicit type is given for a value passed to a constraint and it cannot be inferred from the object, it will now
default to
QueryValueType.OBJECTinstead ofQueryValueType.STRING.
2.25.0 (2024-05-04)
Added
- [NSX-285][QSEARCH-29] Implemented new expansion resource
querysearch-stdapi-expandersto generate a REST connector exposing QuerySearch as a filter in the standard REST API.
Changed
- Updated expander dependency:
net.democritus:Expanders:7.0.0 > 7.1.2net.democritus:prime-core:2024.1.0 > 2024.2.3net.democritus.metamodel:nsx-metamodel-stack:2024.1.0 > 2024.2.3
2.24.0 (2024-03-16)
Changed
- Updated expander dependency:
net.democritus:Expanders:6.4.4 > 7.0.0net.democritus:prime-core:2024.0.4 > 2024.1.0net.democritus.metamodel:nsx-metamodel-stack:2024.0.4 > 2024.1.0
2.23.1 (2024-02-05)
Fixed
- Default join operation renamed
LEFT INNER JOINtoINNER JOIN, asLEFT INNER JOINis not valid SQL, where this would make no sense since inner refers to the overlap between both left and right tables that participate in the join.
2.23.0 (2024-01-30)
Fixed
- Issue with packaging metamodel.
Changed
- Updated expander dependency:
net.democritus:Expanders:6.0.2 > 6.4.4net.democritus:prime-core:2023.9.6 > 2024.0.4net.democritus.metamodel:nsx-metamodel-stack:2023.9.6 > 2024.0.4
2.22.0 (2023-11-23)
Changed
- Added functional key
querySearch_nametoQueryFilterField. - Updated expander dependency:
net.democritus:Expanders:5.39.0 > 6.0.2net.democritus:prime-core:2023.9.3 > 2023.9.6net.democritus.metamodel:nsx-metamodel-stack:2023.9.3 > 2023.9.6
2.21.0 (2023-11-09)
Fixed
OnionQueryConstraintFactoryExpanderwas not yet migrated to the new import system.- Removed
@Overrideannotation fromquerySearch()method in Agent class.
Changed
- Updated expander dependency:
net.democritus:Expanders:5.37.4 > 5.39.0net.democritus:prime-core:2023.9.1 > 2023.9.3net.democritus.metamodel:nsx-metamodel-stack:2023.9.1 > 2023.9.3
2.20.0 (2023-10-21)
Fixed
- Excluded elements model from builders.
jpa.optimization.skipDataQuery.disableis now correctly processed on Application instead of ApplicationInstance.
Changed
- Migrated many expanders to the new imports system.
2.19.0 (2023-10-18)
Added
- Added
querysearch-buildersto support the creation of transmutations for querysearch.
Changed
- Updated expander dependency:
net.democritus:Expanders:5.33.2 > 5.37.4net.democritus:prime-core:2023.6.1 > 2023.9.1net.democritus.metamodel:nsx-metamodel-stack:2023.6.1 > 2023.9.1
2.18.0 (2023-09-19)
Fixed
- Fixed packaging of metamodel.
Changed
- Updated expander dependency:
net.democritus:Expanders:5.30.4 > 5.33.2net.democritus:prime-core:2023.5.3 > 2023.6.1net.democritus.metamodel:nsx-metamodel-stack:2023.5.3 > 2023.6.1
2.17.2 (2023-07-29)
Fixed
- Separator and prefix for
from-argumentsfeature anchor inQuerySearchclass did not get processed correctly in expanders.
2.17.1 (2023-07-29)
Fixed
- Added separator and prefix for
from-argumentsfeature anchor inQuerySearchclass.
2.17.0 (2023-07-29)
Added
- (QSEARCH-25) Created experimental
querysearch-arquillian-testing-expandersbundle to generate stubs to test QuerySearch with Arquillian. - (QSEARCH-25) Testing project to test compiling of expanded QuerySearch, as well as test ots functionality using Arquillian.
- (QSEARCH-24) Added support for explicit joins (
LEFT INNERandLEFT OUTER).
Changed
- Updated expander dependency:
net.democritus:Expanders:5.30.0 > 5.30.4net.democritus:prime-core:2023.5.2 > 2023.5.3net.democritus.metamodel:nsx-metamodel-stack:2023.5.2 > 2023.5.3
Removed
- Removed backwards compatibility with DataOption for
enableQuerySearch.
2.16.0 (2023-07-12)
Changed
- Updated expander dependency:
net.democritus:Expanders:5.26.0 > 5.30.0net.democritus:prime-core:2023.4.1 > 2023.5.2net.democritus.metamodel:nsx-metamodel-stack:2023.4.1 > 2023.5.2
2.15.0 (2023-06-20)
Changed
- Updated expander dependency:
net.democritus:Expanders:5.22.2 > 5.26.0net.democritus:prime-core:2023.2.1 > 2023.4.1net.democritus.metamodel:nsx-metamodel-stack:2023.2.3 > 2023.4.1
2.14.1 (2023-04-27)
Fixed
- Removed
QueryBuilder.from(qualifiedElement, variable, include)method, which had the exact same implementation asQueryBuilder.from(qualifiedElement, variable).
2.14.0 (2023-04-26)
This version contains some breaking changes. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Changed
- Updated expander dependency:
net.democritus:prime-core:2022.10.2 > 2023.2.3net.democritus.metamodel:meta-model-stack:4.11.6 > 4.12.4
- The
exists(qualifiedElementName, variableName, constraint, queryOptions)constraint builder method is now marked as deprecated. - Replaced the
QueryFilterFieldTypeelement withValueType. - Changed name of
QuerySearch.queryFilterFieldstoQuerySearch.fields.
Removed
- Removed deprecated
when(boolean, QueryConstraint)andwhenOrElse(boolean, QueryConstraint)methods.
2.13.1 (2022-12-16)
Fixed
- Added option type
useDefaultOrderforQuerySearchelement to data resources.
2.13.0 (2022-10-18)
Changed
- Updated expander dependency:
net.democritus:prime-core:2022.9.0 > 2022.10.2net.democritus.metamodel:meta-model-stack:4.10.0 > 4.11.6
2.12.0 (2022-10-05)
Changed
- Updated expander dependency:
net.democritus:prime-core:2022.8.3 > 2022.9.0net.democritus.metamodel:meta-model-stack:4.9.5 > 4.10.0
2.11.0 (2022-09-29)
Changed
- Updated expander dependency:
net.democritus:Expanders:5.9.3 > 5.14.1net.democritus:prime-core:2022.5.6 > 2022.8.3net.democritus.metamodel:meta-model-stack:4.7.3 > 4.9.5
2.10.0 (2022-07-08)
Added
- Added support for JPA collection member expressions with a new
member(value, field, options...)constraint.
2.9.1 (2022-06-15)
Fixed
- Fixed compatibility for
enableQuerySearchoption in older models that still useDataOptioninstead ofOption.
2.9.0 (2022-06-13)
This version contains breaking changes in the QuerySearch meta-model. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Changed
- Switch all usage of options to the new Option/OptionType elements introduced in
prime-core. This should not affect projects.
Removed
- Removed
QuerySearchOptionandQuerySearchOptionTypeelements.
2.8.0 (2022-05-30)
Changed
- Updated expander dependency:
net.democritus:Expanders:5.1.6 > 5.9.3net.democritus:prime-core:2021.5.12 > 2022.5.6
2.6.0 (2021-10-04)
This version contains breaking changes in the QuerySearch meta-model. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Changed
- Updated expander dependency:
net.democritus:Expanders:4.16.3 > 5.1.6net.democritus:prime-core:2021.1.2 > 2021.5.12
enableQuerySearchlegacy option is now processed during model loading stage.QuerySearchelement is now a direct child ofDataElementinstead ofComponent.
2.5.0 (2021-08-26)
Changed
- Updated expander dependency:
net.democritus:Expanders:4.13.5 > 4.16.3net.democritus:prime-core:2020.14.1 > 2021.1.2
2.4.0 (2021-05-20)
Added
- (QSEARCH-1) Support for
INconstraints with a set of values, rather than a subquery. useDefaultOrder(boolean)method inQueryBuilderto enable sorting by database identifier as the last sorting method for results. By default this is disabled, as it can impact performance. This should be enabled only if consistently ordered results are required from the QuerySearch.useDefaultOrderoption onQuerySearchelement, to enable sorting by database identifier for the specific QuerySearch instance.
2.3.2 (2021-05-06)
Fixed
- Added
before-expansion/before-harvestphase support forQuerySearchelement.
2.3.0 (2021-04-06)
Fixed
- (QSEARCH-10) The
QuerySearchResolverinterface was incorrectly expanded into the data layer. - (QSEARCH-10) The
QuerySearchclass was still expanded whennoDataLayerwas present on the linkedDataElement.
Changed
- Refactored some field names in the meta-model to be more descriptive:
QuerySearch.fields > QuerySearch.queryFilterFieldsQueryFilterField.type > QueryFilterField.queryFilterFieldType
- Modified
ioxmlto serialize a more readable XML model forQuerySearch, with tag names relevant within their local scope for specific fields and elements:QuerySearch.queryFilterFields- XML tag:fieldQueryFilterField- XML tag:fieldQueryFilterField.queryFilterFieldType- XML tag:typeQuerySearch.querySearchOptions- XML tag:optionsQuerySearchOption- XML tag:optionQuerySearchOption.querySearchOptionType- XML tag:type
2.2.0 (2021-03-24)
Fixed
QuerySearchmodels were loaded from the wrong folder.
Added
QueryFilterFieldandQueryFilterFieldTypeelements.- Expansion of
QueryFilterFieldinstances linked toQuerySearchinstances, into itsQueryFilterclass. QuerySearchOptionandQuerySearchOptionTypeelements.
Changed
- Moved meta elements from package
net.democritustonet.democritus.querysearch.
2.1.0 (2021-03-08)
Changed
- Improved enable conditions of some expanders.
- Handle transient option
enableQuerySearchininitializephase.
2.0.0 (2021-03-04)
Added
- Implemented initial meta-model for QuerySearch. This model is currently automatically instantiated to maintain backwards compatibility.
1.11.0 (2021-03-04)
This version contains some breaking changes. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Changed
QuerySearchResolverclass was moved to thelogiclayer. The current implementation requires the use ofCrudsinstances. If these are used to resolve references from another component, this would result in a strong coupling of the components. References to other components should be result using theAgentclasses. A transient ApplicationInstance optionquerysearch.transient.dataLayerResolver.enableis available to opt-out of this change.
1.10.0 (2021-02-24)
Added
- Updated documentation for publishing.
Changed
- Updated expander dependency:
net.democritus:Expanders:4.4.12 > 4.13.2
1.9.0 (2021-01-20)
Fixed
- The
between()constraint did not build the query clause correctly. - Correct integration with NSX logger framework in expander templates.
Added
QuerySearchResolvercan be used to resolve references in theQueryFilterprior to theQuerySearchbeing called. As this is a bean, theCrudsobjects of other elements can be injected into it to resolve references. The typical use-case for this is resolving references to elements in other components.
Changed
- Updated expander dependency:
net.democritus:Expanders:4.4.4 > 4.4.12
1.8.0 (2020-10-12)
Added
- Additional
QueryBuilder.from()method with abooleaninclude parameter to define a inclusion constraint for that element. - Added
in()constraint for a subquery.
Changed
isNull(),isNotNull(),exists()andnot()constraints now implementUnaryQueryConstraint.
1.7.0 (2020-08-18)
Changed
- The
QueryBuilderis now created by calling theQueryBuilder.select()method and theEntityManageris passed to thebuildQuery()andbuildCountQuery()methods. - The
exists()constraint will now (in addition to the previous signature) take aQueryBuilderinstance for more complex nested queries. - Results are no longer explicitly ordered by ID if no SortFields were given. The default ordering by the database is used instead.
- Results are no longer grouped by the ID of the element by default. If required, this should be added to the
QueryBuilderin theQuerySearchclass.
1.6.0 (2020-08-14)
Added
- Added
fetch-after-countanchorsQuerySearch.fetchData()method after the count query has been executed. This change follows a similar change in expanders version4.6.0. - Added optimization to skip the data query nfi the count query (or requested number of results) is 0. This change follows a similar change in expanders version
4.6.0. - Added support for
jpa.optimization.skipDataQuery.disableoption introduced in expanders version4.6.0. - Added support for fields in the
ORDER BYclause on objects other than the object in theSELECTclause.
1.5.0 (2020-06-18)
Added
HAS_PREFIXoption forequal()constraint to check whether values have a given prefix.HAS_SUFFIXoption forequal()constraint to check whether values have a given suffix.
1.4.0 (2020-05-20)
Fixed
OrQueryConstraintandAndQueryConstraintnow correctly propagate a not applicable state if none of their child constraints are applicable.
Changed
- Dependency on
net.democritus:Expandersupdated to version4.4.4. - Expanded code now required Java 8.
1.3.0 (2020-03-30)
Changed
- The methods
OnionQueryConstraintFactory.when()andOnionQueryConstraintFactory.whenOrElse()now takeSupplier<QueryConstraint>objects instead ofQueryConstraintobjects to allow for lazy evaluation of nested constraints. The old methods are still available for backwards compatibility but marked with@Deprecated. - Expanded code now requires at least Java 8.