querysearch-expanders
3.3.1 (2024-09-02)
Fixed
LegacyQuerySearchTransformer
model loading listener was defined inquerysearch-core
instead ofquerysearch-expanders
.
3.3.0 (2024-08-11)
Changed
- Renamed expansion resource
net.democritus:querysearch-stdapi-expanders
tonet.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
field
elements instead ofqueryFilterField
like 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.disable
has 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-builders
module 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
OopsSomethingWentWrongException
inquerysearch-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-expanders
onjaxrs-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.name
to define a custom filter name when adding the QuerySearch as a filter to the standard REST API. - Added new
QueryValueType
enum 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.name
is 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.OBJECT
instead ofQueryValueType.STRING
.
2.25.0 (2024-05-04)
Added
- [NSX-285][QSEARCH-29] Implemented new expansion resource
querysearch-stdapi-expanders
to 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 JOIN
toINNER JOIN
, asLEFT INNER JOIN
is 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_name
toQueryFilterField
. - 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
OnionQueryConstraintFactoryExpander
was not yet migrated to the new import system.- Removed
@Override
annotation 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.disable
is 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-builders
to 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-arguments
feature anchor inQuerySearch
class did not get processed correctly in expanders.
2.17.1 (2023-07-29)
Fixed
- Added separator and prefix for
from-arguments
feature anchor inQuerySearch
class.
2.17.0 (2023-07-29)
Added
- (QSEARCH-25) Created experimental
querysearch-arquillian-testing-expanders
bundle 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 INNER
andLEFT 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
QueryFilterFieldType
element withValueType
. - Changed name of
QuerySearch.queryFilterFields
toQuerySearch.fields
.
Removed
- Removed deprecated
when(boolean, QueryConstraint)
andwhenOrElse(boolean, QueryConstraint)
methods.
2.13.1 (2022-12-16)
Fixed
- Added option type
useDefaultOrder
forQuerySearch
element 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
enableQuerySearch
option in older models that still useDataOption
instead 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
QuerySearchOption
andQuerySearchOptionType
elements.
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
enableQuerySearch
legacy option is now processed during model loading stage.QuerySearch
element is now a direct child ofDataElement
instead ofComponent
.
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
IN
constraints with a set of values, rather than a subquery. useDefaultOrder(boolean)
method inQueryBuilder
to 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.useDefaultOrder
option onQuerySearch
element, to enable sorting by database identifier for the specific QuerySearch instance.
2.3.2 (2021-05-06)
Fixed
- Added
before-expansion
/before-harvest
phase support forQuerySearch
element.
2.3.0 (2021-04-06)
Fixed
- (QSEARCH-10) The
QuerySearchResolver
interface was incorrectly expanded into the data layer. - (QSEARCH-10) The
QuerySearch
class was still expanded whennoDataLayer
was 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
ioxml
to 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
QuerySearch
models were loaded from the wrong folder.
Added
QueryFilterField
andQueryFilterFieldType
elements.- Expansion of
QueryFilterField
instances linked toQuerySearch
instances, into itsQueryFilter
class. QuerySearchOption
andQuerySearchOptionType
elements.
Changed
- Moved meta elements from package
net.democritus
tonet.democritus.querysearch
.
2.1.0 (2021-03-08)
Changed
- Improved enable conditions of some expanders.
- Handle transient option
enableQuerySearch
ininitialize
phase.
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
QuerySearchResolver
class was moved to thelogic
layer. The current implementation requires the use ofCruds
instances. 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 theAgent
classes. A transient ApplicationInstance optionquerysearch.transient.dataLayerResolver.enable
is 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
QuerySearchResolver
can be used to resolve references in theQueryFilter
prior to theQuerySearch
being called. As this is a bean, theCruds
objects 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 aboolean
include 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
QueryBuilder
is now created by calling theQueryBuilder.select()
method and theEntityManager
is passed to thebuildQuery()
andbuildCountQuery()
methods. - The
exists()
constraint will now (in addition to the previous signature) take aQueryBuilder
instance 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
QueryBuilder
in theQuerySearch
class.
1.6.0 (2020-08-14)
Added
- Added
fetch-after-count
anchorsQuerySearch.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.disable
option introduced in expanders version4.6.0
. - Added support for fields in the
ORDER BY
clause on objects other than the object in theSELECT
clause.
1.5.0 (2020-06-18)
Added
HAS_PREFIX
option forequal()
constraint to check whether values have a given prefix.HAS_SUFFIX
option forequal()
constraint to check whether values have a given suffix.
1.4.0 (2020-05-20)
Fixed
OrQueryConstraint
andAndQueryConstraint
now correctly propagate a not applicable state if none of their child constraints are applicable.
Changed
- Dependency on
net.democritus:Expanders
updated 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 ofQueryConstraint
objects 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.