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 in- querysearch-coreinstead of- querysearch-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.0
- net.democritus:prime-core:- 2024.4.2 > 2024.4.5
- net.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.5
- net.democritus:prime-core:- 2024.3.13 > 2024.4.2
- net.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.2
- net.democritus:prime-core:- 2024.2.3 > 2024.3.13
- net.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.2
- net.democritus:prime-core:- 2024.1.0 > 2024.2.3
- net.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.0
- net.democritus:prime-core:- 2024.0.4 > 2024.1.0
- net.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.4
- net.democritus:prime-core:- 2023.9.6 > 2024.0.4
- net.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.2
- net.democritus:prime-core:- 2023.9.3 > 2023.9.6
- net.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.0
- net.democritus:prime-core:- 2023.9.1 > 2023.9.3
- net.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.4
- net.democritus:prime-core:- 2023.6.1 > 2023.9.1
- net.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.2
- net.democritus:prime-core:- 2023.5.3 > 2023.6.1
- net.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.4
- net.democritus:prime-core:- 2023.5.2 > 2023.5.3
- net.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.0
- net.democritus:prime-core:- 2023.4.1 > 2023.5.2
- net.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.0
- net.democritus:prime-core:- 2023.2.1 > 2023.4.1
- net.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.3
- net.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.2
- net.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.0
- net.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.1
- net.democritus:prime-core:- 2022.5.6 > 2022.8.3
- net.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.3
- net.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.6
- net.democritus:prime-core:- 2021.1.2 > 2021.5.12
 
- enableQuerySearchlegacy option is now processed during model loading stage.
- QuerySearchelement is now a direct child of- DataElementinstead of- Component.
2.5.0 (2021-08-26)
Changed
- Updated expander dependency:
- net.democritus:Expanders:- 4.13.5 > 4.16.3
- net.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 in- QueryBuilderto 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 on- QuerySearchelement, 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.queryFilterFields
- QueryFilterField.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:- field
- QueryFilterField- XML tag:- field
- QueryFilterField.queryFilterFieldType- XML tag:- type
- QuerySearch.querySearchOptions- XML tag:- options
- QuerySearchOption- XML tag:- option
- QuerySearchOption.querySearchOptionType- XML tag:- type
 
2.2.0 (2021-03-24)
Fixed
- QuerySearchmodels were loaded from the wrong folder.
Added
- QueryFilterFieldand- QueryFilterFieldTypeelements.
- Expansion of QueryFilterFieldinstances linked toQuerySearchinstances, into itsQueryFilterclass.
- QuerySearchOptionand- QuerySearchOptionTypeelements.
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 the- logiclayer. The current implementation requires the use of- Crudsinstances. 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 the- Agentclasses. A transient ApplicationInstance option- querysearch.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 the- QueryFilterprior to the- QuerySearchbeing called. As this is a bean, the- Crudsobjects 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()and- not()constraints now implement- UnaryQueryConstraint.
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 for- equal()constraint to check whether values have a given prefix.
- HAS_SUFFIXoption for- equal()constraint to check whether values have a given suffix.
1.4.0 (2020-05-20)
Fixed
- OrQueryConstraintand- AndQueryConstraintnow 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.