Skip to main content

querysearch-expanders


3.3.1 (2024-09-02)

Fixed

  • LegacyQuerySearchTransformer model loading listener was defined in querysearch-core instead of querysearch-expanders.

3.3.0 (2024-08-11)

Changed

  • Renamed expansion resource net.democritus:querysearch-stdapi-expanders to net.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.1 (2024-08-04)

Fixed

  • Fixed identifier of QueryFilterField to it can be correctly referenced.

3.2.0 (2024-07-29)

Fixed

  • Fixed naming of QueryFilterField element in model xml to use field elements instead of queryFilterField 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 of querysearch-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 in querysearch-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 on jaxrs-standard-api-expanders.

Changed

  • Updated expander dependency:
    • net.democritus:Expanders: 7.1.2 > 7.2.0

2.26.0 (2024-05-06)

caution

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 value OBJECT, 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 of QueryValueType.STRING.

2.25.1 (2024-05-06)

Fixed

  • querysearch-stdapi-expanders was not included in deployment.

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 to INNER JOIN, as LEFT 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 to QueryFilterField.
  • 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 from querySearch() 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 in QuerySearch class did not get processed correctly in expanders.

2.17.1 (2023-07-29)

Fixed

  • Added separator and prefix for from-arguments feature anchor in QuerySearch 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 and LEFT 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 as QueryBuilder.from(qualifiedElement, variable).

2.14.0 (2023-04-26)

caution

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 with ValueType.
  • Changed name of QuerySearch.queryFilterFields to QuerySearch.fields.

Removed

  • Removed deprecated when(boolean, QueryConstraint) and whenOrElse(boolean, QueryConstraint) methods.

2.13.1 (2022-12-16)

Fixed

  • Added option type useDefaultOrder for QuerySearch 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


2.9.1 (2022-06-15)

Fixed

  • Fixed compatibility for enableQuerySearch option in older models that still use DataOption instead of Option.

2.9.0 (2022-06-13)

caution

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 and QuerySearchOptionType 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.7.0 (2021-12-01)

Changed

  • Internal changes to metamodel setup for compatibility with μRadiant.

2.6.0 (2021-10-04)

caution

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 of DataElement instead 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 IN constraints with a set of values, rather than a subquery.
  • useDefaultOrder(boolean) method in QueryBuilder 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 on QuerySearch element, to enable sorting by database identifier for the specific QuerySearch instance.

2.3.3 (2021-05-12)

Fixed

  • The IN constraint was missing a field name.

2.3.2 (2021-05-06)

Fixed

  • Added before-expansion/before-harvest phase support for QuerySearch element.

2.3.1 (2021-04-16)

Fixed

  • meta-model-stack snapshot was used.

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 when noDataLayer was present on the linked DataElement.

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 for QuerySearch, 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 and QueryFilterFieldType elements.
  • Expansion of QueryFilterField instances linked to QuerySearch instances, into its QueryFilter class.
  • QuerySearchOption and QuerySearchOptionType elements.

Changed

  • Moved meta elements from package net.democritus to net.democritus.querysearch.

2.1.0 (2021-03-08)

Changed

  • Improved enable conditions of some expanders.
  • Handle transient option enableQuerySearch in initialize 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)

caution

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 the logic layer. The current implementation requires the use of Cruds 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 the Agent classes. A transient ApplicationInstance option querysearch.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 the QueryFilter prior to the QuerySearch being called. As this is a bean, the Cruds 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 a boolean include 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 QueryBuilder is now created by calling the QueryBuilder.select() method and the EntityManager is passed to the buildQuery() and buildCountQuery() methods.
  • The exists() constraint will now (in addition to the previous signature) take a QueryBuilder 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 the QuerySearch class.

1.6.0 (2020-08-14)

Added

  • Added fetch-after-count anchors QuerySearch.fetchData() method after the count query has been executed. This change follows a similar change in expanders version 4.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 version 4.6.0.
  • Added support for fields in the ORDER BY clause on objects other than the object in the SELECT clause.

1.5.0 (2020-06-18)

Added

  • HAS_PREFIX option for equal() constraint to check whether values have a given prefix.
  • HAS_SUFFIX option for equal() constraint to check whether values have a given suffix.

1.4.0 (2020-05-20)

Fixed

  • OrQueryConstraint and AndQueryConstraint now correctly propagate a not applicable state if none of their child constraints are applicable.

Changed

  • Dependency on net.democritus:Expanders updated to version 4.4.4.
  • Expanded code now required Java 8.

1.3.2 (2020-05-04)

Changed

  • Added expansion resource dependency support.

1.3.1 (2020-03-30)

Fixed

  • An import was missing in OnionQueryConstraintFactory.

1.3.0 (2020-03-30)

Changed

  • The methods OnionQueryConstraintFactory.when() and OnionQueryConstraintFactory.whenOrElse() now take Supplier<QueryConstraint> objects instead of QueryConstraint 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.

1.2.0 (2020-02-25)

Changed

  • Added expander comment to all expanders.
  • Not constraints are no longer applied to an inapplicable child constraint. This means that they are now transparent to empty constraints.

Added

  • Added support for the noDataLayer option.

1.1.1 (2020-02-05)

Fixed

  • Is(Not)Null constraint did not generate correct JPQL statements.

1.1.0 (2020-01-22)

Fixed

  • The feature anchor constraints in the QuerySearch classes now separates each feature with the delimiter ,\n.
  • Update to the projecting mechanism following a breaking change in expander version 4.1.0. Please update the main expanders to this version.