Skip to main content

querysearch-expanders


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.