rest-expanders
3.6.0 (2023-01-05)
This version contains breaking changes. Some anchors in Swagger UI were moved to a different file. Please refer to the migration guide in the documentation for more information about all breaking changes in this release.
Fixed
(REST-54) Use new struts stack for Swagger UI to avoid issues with COOP headers. (REST-35) Inline JavaScript code for Swagger UI was moved to separate file due to upgrade to the latest version.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.15.1 > 2022.16.1
- Updated Swagger UI:
3.52.5 > 4.15.5
3.5.0 (2022-11-29)
Fixed
- Fixed issue where an implicit QuerySearch object would still be created, even if a DataElement already has a QuerySearch element marked with
jaxrs.querySearch
. - Several expanders did not correctly use the QuerySearch metamodel to generate files.
Added
- New model validation to verify that a DataElement only has one QuerySearch element marked with
jaxrs.querySearch
.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.15.0 > 2022.15.1
3.4.0 (2022-11-25)
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.14.4 > 2022.15.0
net.democritus:querysearch-expanders
:2.13.0 > 2.13.1
- Updated expander dependencies (minimum version):
net.democritus:Expanders
:5.14.2 > 5.15.0
net.democritus.metamodel:prime-core
:2022.10.3 > 2022.10.9
3.3.0 (2022-11-24)
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.14.2 > 2022.14.4
- Updated dependencies:
- Swagger:
1.6.8 > 1.6.9
- Jackson:
2.13.4 > 2.14.1
- Swagger:
3.2.0 (2022-11-04)
Fixed
- (REST-24) Added support to expose fields that use custom valuetypes. There is no support for validation with those types.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.14.0 > 2022.14.2
- The custom and feature anchors in the
PostInputMapper
,PutInputMapper
andPatchInputMapper
classes switched position.
3.1.0 (2022-11-02)
Changed
- Updated dependencies:
- Jackson (
jackson-databind
):2.13.4 > 2.13.4.2
(CVE-2022-42003)
- Jackson (
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.13.6 > 2022.14.0
3.0.0 (2022-10-21)
This version contains breaking changes. Expansion should now be ran with Java 17 and applications should target Java 17. Please refer to the migration guide in the documentation for more information about all breaking changes in this release.
Fixed
- (REST-36) Fixed missing return character between imports for linked element fields.
- (REST-36) No longer using LocalAgent to access links to elements in different components.
Added
- Added transmutations to provision a default REST API for a complete Component or individual DataElements that are already part of a REST-enabled Component.
- Added custom anchors to
web.xml
to register individual provider classes for JAX-RS. - Added several model validations to verify some conditions required to generate a REST API.
- Added new shared libraries for common classes provided by the rest-expanders.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.12.4 > 2022.13.6
net.democritus:querysearch-expanders
:2.10.0 > 2.13.0
- Updated expander dependencies (minimum version):
net.democritus:base-components
:2022.6.0 > 2022.10.5
net.democritus:Expanders
:5.14.0 > 5.14.2
net.democritus:querysearch-expanders
:2.9.1 > 2.13.0
net.democritus.metamodel:prime-core
:2022.8.0 > 2022.10.3
- Moved dependencies for validation and swagger to data resources.
- Dependencies
json
andeverit-json-schema
were moved to theCONTROL
andLOGIC
layers, rather thanSHARED
. They are specific technologies that are only used there for validation. - Replaced Jetbrains Annotations with NotNull/Nullable from nsx-runtime and removed usage of the other annotations from this library. Can be re-enabled until 2023-04-07 using the
legacy.annotations.reenable
option on ApplicationInstance. - Generated
Connector
classes are now final. - Updated dependencies:
- Swagger:
1.6.6 > 1.6.8
- JSON:
20190722 > 20220924
- Changes
20200518
: https://github.com/stleary/JSON-java/releases/tag/20200518 - Changes
20201115
: https://github.com/stleary/JSON-java/releases/tag/20201115 - Changes
20210307
: https://github.com/stleary/JSON-java/releases/tag/20210307 - Changes
20211205
: https://github.com/stleary/JSON-java/releases/tag/20211205 - Changes
20220320
: https://github.com/stleary/JSON-java/releases/tag/20220320 - Changes
20220924
: https://github.com/stleary/JSON-java/releases/tag/20220924
- Changes
- JSON Schema:
1.9.2 > 1.14.1
- Changes
1.10.0
: https://github.com/everit-org/json-schema/releases/tag/1.10.0 - Changes
1.11.0
: https://github.com/everit-org/json-schema/releases/tag/1.11.0 - Changes
1.11.1
: https://github.com/everit-org/json-schema/releases/tag/1.11.1 - Changes
1.12.0
: https://github.com/everit-org/json-schema/releases/tag/1.12.0 - Changes
1.12.1
: https://github.com/everit-org/json-schema/releases/tag/1.12.1 - Changes
1.12.2
: https://github.com/everit-org/json-schema/releases/tag/1.12.2 - Changes
1.13.0
: https://github.com/everit-org/json-schema/releases/tag/1.13.0 - Changes
1.14.0
: https://github.com/everit-org/json-schema/releases/tag/1.14.0 - Changes
1.14.1
: https://github.com/everit-org/json-schema/releases/tag/1.14.1
- Changes
- Apache Commons Lang:
3.9 > 1.12.0
- Swagger:
- Updated dependencies in integration testing project:
annotations
:19.0.0 > 23.0.0
jackson
:2.10.0 > 2.13.4
junit
:4.13 > 4.13.2
nsx-runtime
:2020.9.0 > 2022.3.0
rest-assured
:4.3.0 > 5.2.0
- Updated minimum Java version of integration test project to 17.
- Moved several previously expanded classes to shared libraries (and as such, new package names):
<componentName>.context.BaseUrlContext > net.democritus.jaxrs.context.BaseUrlContext
<componentName>.context.JaxNsContext > net.democritus.jaxrs.context.JaxNsContext
<componentName>.exception.CorsForbiddenException > net.democritus.jaxrs.exception.CorsForbiddenException
<componentName>.exception.CreateFailedException > net.democritus.jaxrs.exception.CreateFailedException
<componentName>.exception.DeleteFailedException > net.democritus.jaxrs.exception.DeleteFailedException
<componentName>.exception.IllegalDBStateException > net.democritus.jaxrs.exception.IllegalDBStateException
<componentName>.exception.IllegalSortParametersFormatException > net.democritus.jaxrs.exception.IllegalSortParametersFormatException
<componentName>.exception.IllegalTimestampFormatException > net.democritus.jaxrs.exception.IllegalTimestampFormatException
<componentName>.exception.MalformedHeaderException > net.democritus.jaxrs.exception.MalformedHeaderException
<componentName>.exception.ModificationFailedException > net.democritus.jaxrs.exception.ModificationFailedException
<componentName>.exception.NotAuthorizedException > net.democritus.jaxrs.exception.NotAuthorizedException
<componentName>.exception.SearchResultException > net.democritus.jaxrs.exception.SearchResultException
<componentName>.exception.UnknownSortParameterException > net.democritus.jaxrs.exception.UnknownSortParameterException
<componentName>.jaxrs.MediaTypes > net.democritus.jaxrs.MediaTypes
<componentName>.jaxrs.provider.BaseUrlProvider > net.democritus.jaxrs.proxy.param.BaseUrlProvider
<componentName>.jaxrs.provider.param.DateParamConverter > net.democritus.jaxrs.provider.param.DateParamConverter
<componentName>.jaxrs.provider.param.DateParamProvider > net.democritus.jaxrs.provider.param.DateParamProvider
<componentName>.jaxrs.provider.param.SortParamConverter > net.democritus.jaxrs.provider.param.SortParamConverter
<componentName>.jaxrs.provider.param.SortParamProvider > net.democritus.jaxrs.provider.param.SortParamProvider
<componentName>.jaxrs.sorting.SortOrder > net.democritus.jaxrs.sorting.SortOrder
<componentName>.jaxrs.sorting.SortParameters > net.democritus.jaxrs.sorting.SortParameters
- Resolved several issues in implementation of
BaseUrlProvider
to handle proxy headers.
Removed
- The legacy option
jaxrs.transient.generateFacade.enable
to generate the oldFacade
classes in theCONTROL
layer has been removed. - Removed dependency on template in main expanders.
- Removed uses of
ClassBuilder
from mappings. - Removed broken
componentPackage
option. - Removed expansion step that pruned the legacy command coupling through custom anchors in the logic bean.
2.20.0 (2022-09-27)
Changed
- Updated expander dependencies (minimum version):
net.democritus:Expanders
:5.13.1 > 5.14.0
net.democritus.metamodel:prime-core
:2022.6.0 > 2022.8.0
- Option
enableJaxrs
now has default value defined in option type. - The dependency on
javassist
needed by Jersey is no longer excluded, as it is not included with Hibernate 5 (now the default). - Updated dependencies:
- Jersey:
2.35 > 2.37
- Changes:
2.36
: https://github.com/eclipse-ee4j/jersey/releases/tag/2.36 - Changes:
2.37
: https://github.com/eclipse-ee4j/jersey/releases/tag/2.37
- Changes:
- Jackson:
2.13.3 > 2.13.4
- Changes
2.13.4
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13.4
- Changes
- Jersey:
2.19.1 (2022-09-21)
Fixed
- Updated stack dependency to restore hamcrest 2 dependency in application:
net.democritus:nsx-default-stack
:2022.12.3 > 2022.12.4
2.19.0 (2022-09-21)
Fixed
- Fixed contract for
PaginatedResponse.builder()
.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.12.2 > 2022.12.3
net.democritus:querysearch-expanders
:2.9.1 > 2.10.0
2.18.0 (2022-09-09)
Changed
- Moved Jetbrains annotations library into data resources with a dedicated layer implementation.
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.11.0 > 2022.12.2
- Updated expander dependencies (minimum version):
net.democritus:Expanders
:5.11.0 > 5.13.1
Removed
- Removed the
hamcrest
test dependency for expanded projects, as nsx-runtime now provides version2.2
as well.
2.17.1 (2022-09-06)
Fixed
- Invalid code was generated in the
ValidationBean
when multiple identifiers are used in an endpoint path.
2.17.0 (2022-08-30)
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.10.2 > 2022.11.0
2.16.3 (2022-08-18)
Fixed
- Added missing options
jaxrs.endpoint.getList.sorting.disable
,jaxrs.querySearch.projection
andjaxrs.account.accessControl.defaultRights
to data resources. - Implicit QuerySearch elements were still being creating when explicitly defining a QuerySearch element when the option
jaxrs.querySearch
. - When using the option
jaxrs.querySearch.projection
, the correct projection was not set inSearchDetails
. - The use of explicit QuerySearch elements for the JAX-RS stack did not use the correct QuerySearch implementation if the name differs from that of its parent DataElement.
2.16.2 (2022-08-11)
Fixed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.10.1 > 2022.10.2
(Dependency on SNAPSHOT)
2.16.1 (2022-08-11)
Fixed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.10.0 > 2022.10.1
(Dependency on SNAPSHOT)
2.16.0 (2022-08-10)
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.9.2 > 2022.10.0
2.15.0 (2022-08-08)
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.8.1 > 2022.9.2
- Updated expander dependencies (minimum version):
net.democritus:Expanders
:5.9.3 > 5.11.0
2.14.0 (2022-06-15)
Changed
- Process
includeJaxrsConnector
option fromOption
(alongsideDataOption
for backwards compatibility). - Updated stack dependency:
net.democritus:nsx-default-stack
:2022.7.1 > 2022.8.1
net.democritus:querysearch-expanders
:2.9.0 > 2.9.1
- Updated expander dependencies (minimum version):
net.democritus:querysearch-expanders
:2.9.0 > 2.9.1
2.13.0 (2022-06-14)
This version contains a breaking change. Please refer to the migration guide in the documentation for more information about these changes and what code is affected.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.7.0 > 2022.7.1
net.democritus:querysearch-expanders
:2.8.0 > 2.9.0
- Updated expander dependencies (minimum version):
net.democritus:querysearch-expanders
:2.8.0 > 2.9.0
- Switch all usage of options to the new Option/OptionType elements introduced in
prime-core
. This should not affect projects. - Use standard JAX-RS annotation for PATCH method, now that it is available.
Removed
- Removed the transient backwards-compatibility option
jaxrs.transient.exposeDiagnostics.enable
that was introduced in version1.15.0
. (See migration guide) - Removed the transient backwards-compatibility option
jaxrs.transient.useQualifiedNames.disable
that was introduced in version1.13.0
. (See migration guide) - Removed generated
PATCH
annotation class in favor of new standard JAX-RS annotation.
2.12.0 (2022-05-30)
Changed
- Updated dependencies:
- Jersey:
2.34 > 2.35
- Jackson:
2.12.2 > 2.13.3
- Changes
2.12.3
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.3 - Changes
2.12.4
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.4 - Changes
2.12.5
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.5 - Changes
2.12.6
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.6 - Changes
2.12.7
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.7 - Changes
2.13
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13 - Changes
2.13.1
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13.1 - Changes
2.13.2
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13.2 - Changes
2.13.3
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.13.3
- Changes
- Swagger:
1.6.3 > 1.6.6
- Jersey:
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.5.1 > 2022.7.0
net.democritus:querysearch-expanders
:2.7.0 > 2.8.0
- Updated expander dependencies (minimum version):
net.democritus:base-components
:2021.4.4 > 2022.6.0
net.democritus:Expanders
:5.2.7 > 5.9.3
net.democritus.metamodel:prime-core
:2022.4.0 > 2022.5.6
net.democritus:querysearch-expanders
:2.6.0 > 2.8.0
2.11.1 (2022-05-23)
Fixed
- Renamed several anchors in integration project
pom.xml
files by adding missing prefixcustom-
.
2.11.0 (2022-05-13)
This version requires a minimum prime-core
version of 2022.4.0
and expanders-maven-plugin
version of 2022.1.3
!
Added
- (REST-40) Support for sorting Ln02 link fields by name.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.2.1 > 2022.5.1
2.10.1 (2022-02-29)
Fixed
- Double
ApiModelProperty
annotation in output models under certain circumstances.
2.10.0 (2022-02-29)
Added
apiAll
as a wildcard security right which is applies for all (generated) endpoints when the optionjaxrs.account.accessControl.enable
is used.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.1.6 > 2022.2.1
2.9.0 (2022-01-28)
Added
custom-convert-before
anchors inConnector
class@Api
annotation.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2022.1.0 > 2022.1.6
2.8.1 (2022-01-24)
Fixed
- (REST-44) Default implementation with
exposeRestField
now assumes that an empty string is a null reference for link fields onPOST
,PUT
andPATCH
calls. - (REST-43) The
resourceContext
field in theIllegalTimestampFormatExceptionHandler
class was not populated when called from another exception handler.
2.8.0 (2022-01-14)
Fixed
- Double
ApiModelProperty
annotation in output models under certain circumstances. - Added missing
ApiModelProperty
type definition for byte array fields in input models.
Changed
- Updated stack dependency:
net.democritus:nsx-default-stack
:2021.10.5 > 2022.1.0
net.democritus:querysearch-expanders
:2.6.0 > 2.7.0
- The
rest-jaxrs-stack
now no longer directly depends onnet.nemocritus:Expanders
andnet.democritus:base-components
. Because of this, these dependencies will now only be updated fornet.democritus:rest-expanders
when an update is required. Therest-jaxrs-stack
will always depend on the latestnsx-default-stack
at the time of release.
2.7.0 (2021-10-30)
Fixed
- Add a nonce parameter to OAuth request in Swagger UI.
Changed
- Updated expander dependency:
net.democritus:Expanders
:5.2.4 > 5.2.7
net.democritus:base-components
:2021.4.3 > 2021.4.4
net.democritus:nsx-default-stack
:2021.10.3 > 2021.10.5
- Added support for OpenID Connect (with password grant) in integration testing project.
- Updated dependencies:
- Swagger:
1.6.2 > 1.6.3
- Swagger:
- Changed OAuth2 flow in Swagger UI to accessCode.
2.6.1 (2021-10-23)
Fixed
SwaggerOIDCConfigRetrieverExpander
template did not escape regular expression correctly.
2.6.0 (2021-10-22)
Fixed
- (REST-37) Fixed parsing of the user credentials for basic authentication.
Added
- (REST-38) Added support for OIDC authentication with ID token.
Changed
- (REST-6) Integrated the expanders from the
rest-basic-auth-expanders
into therest-account-security-expanders
. - Updated expander dependency:
net.democritus:Expanders
:5.2.0 > 5.2.4
net.democritus:base-components
:2021.3.1 > 2021.4.3
net.democritus:nsx-default-stack
:2021.9.4 > 2021.10.3
- Updated Swagger UI:
3.22.2 > 3.52.5
Removed
- (REST-6)
rest-basic-auth-expanders
expansion resource.
2.5.0 (2021-10-04)
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.16.3 > 5.2.0
net.democritus:base-components
:2021.2.0 > 2021.3.1
net.democritus:nsx-default-stack
:2021.4.3 > 2021.9.4
net.democritus:querysearch-expanders
:2.5.0 > 2.6.0
- Creation of
QuerySearch
forincludeJaxrsConnector
option is now processed during model loading stage.
2.4.2 (2021-09-13)
Fixed
- The
ValidationError
class did not inject parameters into the message string when parameters are used.
2.4.0 (2021-08-26)
Fixed
- (REST-32)
SortFieldMapper
import was added toConnector
class when GETlist endpoint was not expanded, which prevents theSortFieldMapper
itself from expanding.
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.13.5 > 4.16.3
net.democritus:base-components
:2021.0.1 > 2021.2.0
net.democritus:nsx-default-stack
:2021.1.1 > 2021.4.3
net.democritus:querysearch-expanders
:2.4.0 > 2.5.0
- Updated dependencies:
- Jersey:
2.30.1 > 2.34
- Changes:
2.31
: https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.31.html - Changes:
2.32
: https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.32.html - Changes:
2.33
: https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.33.html - Changes:
2.34
: https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.34.html
- Changes:
- Jackson:
2.10.3 > 2.12.2
- Changes
2.10.4
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.4 - Changes
2.10.5
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.5 - Changes
2.11
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11 - Changes
2.11.1
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.1 - Changes
2.11.2
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.2 - Changes
2.11.3
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.3 - Changes
2.11.4
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.4 - Changes
2.12
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12 - Changes
2.12.1
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.1 - Changes
2.12.2
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.12.2
- Changes
- Swagger:
1.6.1 > 1.6.2
- Jersey:
2.3.1 (2021-07-20)
Fixed
- Removed support for
SortParameters
from deprecatedRestFacade
class, which causes issues when a lot of custom code is used. This is a new feature not required for backwards compatibility.
2.3.0 (2021-06-02)
This version contains several breaking changes. Please refer to the migration guide in the documentation for more information about these changes and what code is affected.
Fixed
- Results from GETlist endpoint is now sorted by database identifier by default.
- Return the correct calculated page value in pagination parameters.
- (REST-25) Return the correct calculated page size in pagination parameters.
- (REST-23) Handle
byte[]
value fields correctly in REST API.
Added
- (REST-15) Support for
sortby
parameter on getList endpoint. - (REST-15) Added Component and DataElement options
jaxrs.endpoint.getList.sorting.disable
to disable support for sorting through the API.
Changed
- Merged changes from version
1.17.0
. - Updated expander dependency:
net.democritus:querysearch-expanders
:2.3.2 > 2.4.0
- (REST-21) All
ValidationError
constants in theValidationError
class are now markedfinal
. - (REST-27) Integrated
RestFacade
methods forPOST
,PUT
,PATCH
andDELETE
into theConnector
class. - (REST-28) Integrated
RestFacade
methods forGETresource
into theConnector
class. - (REST-29) Integrated
RestFacade
methods forGETlist
into theConnector
class. - (REST-29)
RestFacade.applyPagination()
moved to newPagination
class.
Removed
- Following the addition of pagination expander options, the
pagination
anchors inapplyPagination()
have been removed. - (REST-26)
RestFacade
class has been removed. The transientApplicationInstance
optionjaxrs.transient.generateFacade.enable
has been added to re-enable expansion of this class, along with all of its contents. However, all default endpoints will still use the new implementation.
2.2.0 (2021-05-06)
Added
convert-before
anchors inCustomCommandResult.from()
method.
Changed
- (REST-19) The QuerySearch instance used by the REST API is now marked with the option
jaxrs.querySearch
. - Updated expander dependency:
net.democritus:querysearch-expanders
:2.2.0 > 2.3.2
2.1.0 (2021-03-25)
Added
- (REST-14) New DataOption
jaxrs.endpoint.getList.defaultPage
to set the value ofDEFAULT_PAGE
in theRestFacade
class. - (REST-14) New DataOption
jaxrs.endpoint.getList.defaultPageSize
to set the value ofDEFAULT_PAGE_SIZE
in theRestFacade
class. - (REST-18) New DataOption
jaxrs.endpoint.getList.maxPageSize
to set a fixed maximum page size for GETlist requests.
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.13.4 > 4.13.5
net.democritus:querysearch-expanders
:2.0.0 > 2.2.0
2.0.2 (2021-03-11)
Fixed
- (REST-13) Dynamic registration of QuerySearch object can cause concurrency exceptions.
2.0.0 (2021-03-08)
Changed
- Updated expander dependency:
net.democritus:nsx-default-stack
:2021.0.1 > 2021.1.1
net.democritus:Expanders
:4.13.2 > 4.13.4
net.democritus:querysearch-expanders
:1.9.0 > 2.0.0
- (REST-12) Populate QuerySearch model instead of
enableQuerySearch
option whenincludeJaxrsConnector
is present on a DataElement.
1.17.0 (2021-05-19)
Added
- Added feature anchors to
ElementConnectorExpander
:post-mapper
post-command
put-mapper
put-command
patch-mapper
patch-command
delete-command
1.16.0 (2021-02-17)
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
- New
rest-jaxrs-stack
expansion resource bundle which contains therest-expanders
bundle,rest-basic-auth-expanders
and all their dependencies. - New
rest-account-security-expanders
bundle which ties the default generated endpoints in with the access control functionality of the account base component, which allows the definition of security rights at runtime in the DataAccess element. This is activated with the component optionjaxrs.account.accessControl.enable
.
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.12.1 > 4.13.2
- Restructured expander project to support multiple expansion resource projects as
rest-expanders-stack
. - Moved the
rest-basic-auth-expanders
into the codebase of therest-expanders-stack
and matched the version to that of therest-expanders
. SecurityRight
class moved fromshared
tocontrol
.- Moved the definition of the
WWW-Authenticate
header to a separateAuthenticateResponseHeaderBuilder
class for cleaner feature injection.
1.15.0 (2021-02-01)
This version contains some breaking changes in several expanders that can be opted-out in the short-term by using the ApplicationInstanceOption jaxrs.transient.exposeDiagnostics.enable
. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Fixed
- Harvesting and expanding of ext files in the integration project did not work correctly.
Added
- Exceptions where diagnostics are available now have these written to the log when they occur on a REST call.
- Added
WWW-Authenticate
header to response inNotAuthorizedExceptionHandler
.
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.4.12 > 4.12.1
- Replaced makeshift injection of the
CommandExtension
classes in the logicBean
with feature injection for commands which are now supported in the main expanders. The old code which was automatically injected into custom anchors is also automatically removed, given that it was not altered. - Improvements to expanders for exception handling interceptors.
- Errors on REST calls where diagnostics were made available in the error response no longer include the diagnostics. This can be re-enabled by using the transient option
jaxrs.transient.exposeDiagnostics.enable
. ValidationException
class moved fromshared
tocontrol
.
Removed
- The transient option
rest.compatibility.generateUuid
introduced in version1.4.0
was removed.
1.14.0 (2021-01-21)
Fixed
- Changed incorrect parameter nullable annotation for
RestErrorResponseBuilder.setError()
.
Added
- New
RestErrorResponseBuilder.addHeader()
method to add additional headers to error responses.
Changed
- Updated expander dependency:
net.democritus:querysearch-expanders
:1.8.0 > 1.9.0
1.13.0 (2021-01-07)
This version contains some breaking changes in several expanders that can be opted-out in the short-term by using the ApplicationInstanceOption jaxrs.transient.useQualifiedNames.disable
. Please refer to the migration guide in the documentation for more information about this change and what code is affected.
Fixed
- Corrected error message in
DeletionFailedInterceptor
.
Changed
- Updated expander dependency:
net.democritus:Expanders
:4.4.4 > 4.4.12
net.democritus:querysearch-expanders
:1.7.0 > 1.8.0
- Qualified some variable/method argument names to prevent obvious collisions with DataElement names. This is a breaking change that can be opted-out in the short-term by using the ApplicationInstanceOption
jaxrs.transient.useQualifiedNames.disable
.
1.12.0 (2020-10-05)
Added
- Added feature anchors to
ElementConnectorExpander
:getList-filter
get-filter
Changed
- Updated expander dependency:
net.democritus:querysearch-expanders
:1.5.0 > 1.7.0
- Updated dependencies in integration test project:
- NSX Runtime:
2019.7.1 > 2020.9.0
- NSX Runtime:
1.11.2 (2020-07-31)
Fixed
- Set the correct
oauth2RedirectUrl
in the Swagger UI page.
Added
- Added anchors to
SwaggerUiExpander
:before-setup
config
after-setup
1.11.1 (2020-07-29)
Fixed
- The result of the fillers in the command extensions should be propagated if it is an error.
1.11.0 (2020-07-01)
Changed
- Allow all
OPTIONS
calls to bypass authorization. CommonDataValidator
classes now return on empty input parameters.- Updated expander dependency:
net.democritus:querysearch-expanders
:1.4.0 > 1.5.0
1.10.0 (2020-06-02)
Added
- Support for proxies by processing the
Forwarded
,X-Forwarded-Host
andX-Forwarded-Proto
headers. BaseUrlContext.from(Context)
method to easily retrieve the context.BaseUrlContext.from(ParameterContext<?>)
method to easily retrieve the context.
Changed
- Replaced
BaseUrlContext.EMPTY
field withBaseUrlContext.empty()
method as the context is not immutable and the content of theEMPTY
could be overwritten. - Updated expander dependency:
net.democritus:querysearch-expanders
:1.3.2 > 1.4.0
1.9.2 (2020-05-15)
Fixed
- Swagger-JAXRS was overwriting part of the swagger definition.
Added
- Added
updateOperation(String, HttpMethod, Operation)
method to theSwaggerServlet
class.
1.9.0 (2020-05-15)
As of this version, anonymous access to the REST API is blocked by default. To restore the old behavior of allowing anonymous access, add the option jaxrs.auth.anonymous.enable
. Alternatively you can use the net.democritus:rest-basic-auth-expanders
bundle to provide basic authentication that uses the account component.
Added
- Added
jaxrs.auth.anonymous.enable
component option to allow anonymous access to the API. - Added parsing of the
Authorization
header toAuthenticationProvider
to provide a clean hook to implement one or more authentication methods.
Changed
- Anonymous access to the API is now blocked by default. An authentication implementation must be added or the method
jaxrs.auth.anonymous.enable
. - REST expanders are now built against expanders version
4.4.4
.
1.8.4 (2020-05-14)
- Corrected enable condition to generate the
DataElementOutputSchema.json
files.
1.8.0 (2020-05-13)
Fixed
- Reverted Jackson dependency in application
2.11.0 > 2.10.3
due to runtime compatibility issues with Jersey.
Added
- Added new
MalformedHeaderException
class, along with exception handler and error codeBR014
. - Added static
from(Context)
method to the user context class. - Added
update(UserContext)
method to the user context class to update its fields from another context. - Added
updateSecurityDefinitions(Map)
method to theSwaggerServlet
class. - Added
imports
,fields
andmethods
anchors to theSwaggerServlet
class.
Changed
- Replaced the ANONYMOUS and SYSTEM variables with static factory methods in the user context. This will prevent accidental caching of system access when modifying the user context.
1.7.0 (2020-05-13)
For any projects that might already use the integration test project, beware that you must move your harvest files due to the classes in the integration project moving locations.
Added
- Schema validation in the test project for GET calls to retrieve individual resources.
Changed
- Updated
anchor-removal-plugin
in the test project to version1.1
. - Moved all classes except for unit test classes into the main sources folder of the test project.
- Updated dependencies in application:
- Jackson:
2.10.3 > 2.11.0
- Changes
2.11.0
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11
- Changes
- JetBrains Annotations:
18.0.0 > 19.0.0
- Jackson:
1.6.0 (2020-05-11)
Fixed
- The uniqueness data validation did not handle
null
values correctly.
Changed
- REST expanders are now built against querysearch expanders version
1.3.2
.
1.5.2 (2020-05-06)
Fixed
- The
OutputListModel
class did not compile when the plural was the same as the singular in theexternalName
option.
1.5.1 (2020-05-05)
Fixed
- The code injected into the
QuerySearch
classes no longer uses the deprecatedwhen()
method.
1.5.0 (2020-05-02)
Fixed
- Increased priority for
JSONMappingException
andJSONParseException
handlers to prevent the default handlers from firing whenJacksonJsonProvider
is used for a REST client. - Incorrect import in the REST integration testing project.
- If no command is defined for an endpoint, there should be no validators generated for fields that have the
exposeRestField
option.
Added
- Support for expansion resource dependencies.
net.democritus:Expanders
andnet.democritus:querysearch-expanders
are now listed as dependencies.
Changed
- REST expanders are now built against expanders version
4.3.10
. - REST expanders are now built against querysearch expanders version
1.3.1
.
1.4.0 (2020-04-22)
This version breaks backwards compatibility for UUID fields. Use the option ApplicationInstance option rest.compatibility.generateUuid
to re-enable this behavior or add the option generateUuid
to all fields with the name uuid
.
Added
- Added ApplicationInstance option
rest.compatibility.generateUuid
to replicate the old behavior of the REST expanders to generate a UUID for all fields with the nameuuid
. - Added support for Hibernate as persistence provider.
Changed
- Updated dependencies:
- Jersey:
2.29.1 > 2.30.1
- Jackson:
2.10.0 > 2.10.3
- Changes
2.10.1
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.1 - Changes
2.10.2
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.2 - Changes
2.10.3
: https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.3
- Changes
- Swagger:
1.5.24 > 1.6.1
- Jersey:
1.3.0 (2020-04-03)
Fixed
- The Apache Commons Lang 3 dependency was missing in the control layer for the validation system.
Added
- (EXPERIMENTAL) Expanding integration tests for REST.
1.2.3 (2020-03-23)
Fixed
- The
Location
header was not correctly generated in thePOST
endpoint when the resource identifier is given inincludeJaxrsConnector
.
1.2.2 (2020-03-06)
Fixed
- URL validation method was not generated in the ValidationBean for customized endpoints.
Changed
- Removed regular expression description in ValidationError class.
1.2.1 (2020-03-05)
Fixed
- The CORS implementation generated an unintended exception on pre-flight requests and also did not send the
Allow
header on pre-flight requests.
Added
- Added a provider to handle
OPTIONS
calls to the REST API when the request is not a CORS request. Before this was handled by JAX-RS internally.
1.2.0 (2020-02-26)
Fixed
- Empty string was injected into the QuerySearch for a DataElement if no valid
functionalKey
was defined for a REST connector. - Excludes of swagger files were handled incorrectly in the AuthorizationProvider.
Changed
- Split off the builder classes for the
CreatedResponse
andRestErrorResponse
into separate files. - Added expander comment to all expanders.
- Updated CORS filter:
Access-Control-Allow-Methods
now contains only the methods available at the addressed endpoint.Access-Control-Allow-Headers
is now returned for CORS requests, containing the allowed headers that were requested inAccess-Control-Request-Headers
.
- The implementation of the validation pipeline was moved to a new
ValidationBean
in the logic layer, to allow the use of feature anchors.
1.1.2 (2020-02-17)
Fixed
- Updated enable conditions for data validator classes to check for
includeJaxrsConnector
.
Changed
- Support added for
if_empty
value ingenerateUuid
option, allowing users to pass a uuid in POST. It will only be generated if no uuid was given.
1.1.1 (2020-02-13)
Fixed
- The enable condition for the DataElementReferenceModel and DataElementReferenceMapper classes was too restrictive. Now generates even when there is no
GET
endpoint.
Changed
- Provided a new implementation to format validation error messages. The previous implementation relied on
commons-lang3
, which due to the Struts upgrade in the3.2.0
version of the main expander bundle is causing conflicts with TomEE 7. The depedency oncommons-lang3
has been removed.
1.1.0 (2020-02-12)
Requires (at least) version 4.2.0
of the main expander bundle.
Fixed
- The swagger annotation for the 201 Created response on POST endpoints referenced the wrong response model class.
- The name for validation result variables of link fields in the data validators was incorrect.
- Generation of input validators failed when no command was found for the endpoint.
Changed
- The option
generateUuid
available in the main expanders starting at version4.1.2
is now supported instead of the fielduuid: String
to automatically generate a UUID (and related functionality in REST). To preserve backwards compatibility, the option will implicitly be added to fields with signatureuuid: String
by this expander bundle.
Removed
- EditorConfig file expander has been moved into the main expander bundle. Available starting at version
4.1.2
. gen_test
folders are now generated by the main expander building. Available starting at version4.1.2
.
0.11.0 (2020-08-10)
Changed
- [1.x backport] Expander bundle now requires Java 8. (Expanded code is still Java 7 compatible.)
- [1.x backport] Support for expander dependency system.
- [1.x backport] Removed EditorConfig expanders as these are now integrated into
net.democritus:Expanders
. - [1.x backport] Removed UUID generation support, now implicitly adding
generateUuid
option to fields with signatureuuid: String
.