Skip to content

Commit

Permalink
Feature/version 2.1.0 (SAP#294)
Browse files Browse the repository at this point in the history
* Feature/transient fields (SAP#142)

* Fix null pointer if no enumerations are part of servcie

* Enable HAS and enumeration as return type of operations

* Allow Enumerations as operation parameter

* Provide java based operations converted enumeration

* Add SourceClear addon

* Delete SourceClean addon

* Enumerations at UDF functions

- Works for bound functions
- Works for functions with import

* Correct unit tests

* Enable multiple values for flags enumerations

* Switch detection default between Embedded and Entity type

* Allow collection attributes for metadata

* Enable query without collection attributes

* Rework query result conversion to reduce memory consumtion

* Missing Metadata pom

* First step entity with collections as return of function/action

* Bugfix: Expand on Parent with $filter on navigation path

* Enable the use of Join Tables

- Filter on navigation via Join Table generally not supported

* Create new query for inlinecount

* Enable Join Tables@Navigation Filter

- Not working mapped associations
- Not working $count

* Enable Join Tables@Navigation Filter

- With mapped associations
- With $count, know issue EclipsLink two sub types

* Increase Version --> 0.2.6

* Remove deprecated JPAExecutableQuery

* Bugfix: unidirectional join table based association

* Access collection properties via navigation

- New version

* Access collection properties w and w/o $select

* Access collection properties which are part of complex property

* CUD operations on collection properties

* Filter on collection properties pre optimization

* Filter on collection properties any/all

* Filter on collection w/o filter on $count and orderby $count

* Correct issue SAP#29

- Correct /$count implementation in JPAJoinQuery
- Clean-up Hibernate differences
-- Subquery from clause
-- Id Class determination

* Increase Version to 0.2.7

* Enable [email protected] in case of odata.metadata=full

- links@complex types not yet working

* Preparation for solution of issue OLINGO-1143

* Correct NullPointer and some clean-ups

* Support order by $count

- Increase version to 0.2.8

* Intermediate merge clean-up

* Solve merge problem navigate complex collections

* Resolve merge conflict converter

* Correct error collection property and expand=*

* Enable filter $count on collection property

* Update version and url

* Create and use page provider

* Recreate change for solution of issue OLINGO-1143

* Finalize top level server driven paging

* Correct string handling error

* Correct link problem

* Enable skiptoken to have other type than String

* Move paging so next request injects old uriInfo correctly

* Enable deep insert via complex properties

* Ignore test for next commit

* Enable create of a new entity linked by a to one using PATCH

* Update to Olingo 4.5.0

- use new Olingo version
- adopt one test to changed @odata.context content

* Collection attributes rework. Issue SAP#60

- Change processor pom  -> javax.servlet became provided

* Enable annotation for properties to mark them authorization relevant

* Enable multiple protected properties at complex attributes

* Rework EdmProtectedBy annotation to handle multiple claims at complex

* Process protection

* Rework handling of ignored protected

* Made inner class static

* Fixing issue SAP#60

* $count query not working correctly on complex collection attributes

* Various small bugs

- Reorg.  pom.xml
- Correct http status on empty result
- Correct empty check for collection properties

* Correct typo in interface JPAODataPagingProvider

* Prepare JPAODataDatabaseTableFunction for paging

* Change to HSQLDB

* Remove function from sql-file to work around problems with Derby

* Correct NullPointerException EdmEntitySetResult

* Determine result of create dependent based on before image

* EntityType getAttribute did not return value for embedded id

* Provide CUD example and correct query status codes

* Correct query response

* Maven Archetype for Spring based service

* Upgrade to Junit5 to get support for Java > 1.8

* Extract interface for better unit test support

- Cleanup tests

* Clean-up interface implementation

* Add SQL function handling

* Complete DB function changes

* Clean-up test class

* Clean-up test class

* Update Version number

* Update Version number

* Additional test for API classes

* Enable suppress of wildcard in metadata

* Enable wildcards during query processing

* Increase information on error during filter

* Support of PUT on collection properties and primitive properties

* Fix Null Pointer on PATCH with return != minimal

* Claims where not respected by queries issue SAP#69 part one

- /$count
- ?$count=true
- paging queries

* Claims where not respected by queries issue SAP#69 part two

- $filter
- Update on Olingo 4.6.0

* Restrict the DISTINCT to protections only

* Increase test coverage

- New tests
- Rework vocabulary handling

* Cleanup Vocabularies II

- Add Action and Function
- Remove NavigationProperty and dependent

* Additional test and solution of issue SAP#78

* Enable new annotation EdmVisibleFor at properties

* Introduction of Request Context

- Deprecation of two variants of JPAODataGetHandler.process
- Increase test coverage

* Restrict EdmVisiableFor to nullable non key attributes

* Skip properties from selection that do not belong to provided group

* Handle collection properties and navigation path

* Enable groups at complex collections

* Handle OrderBy clause

* Correct unit test

* Rework test containing images

* Rework context handling

- Move of cud handler to request context
- Move of DebugSupport to request context (is request specific because
of isUserAuthorized)
- Introduction of builder for Service Context to get a leaner creation
of handler

* Providing groups during modifying requests

* Re-enable old shortcut with late metadata provisioning

* Update pom for missing jackson dependency

* Update Archetype to version 0.3.4

* Update Version

* Extension of session context, so an emf can be provided

* Ignore annotation qualified if empty

* Go back to Olingo JSON deserializer

* Add qualifier to annotation

* Increase release

* Clean-up JPAEdmNameBuilder

* Preparation of custom name builder

- Create public interface
- replace class by new interface

* Revoke test adoption

* Providing custome name builder

* Update annotation EdmFunction

* Increase release

* Adopt archetype

- Simplify service
- Add integration test

* Modify example did not persist on create

* Deep Insert did not responded deep

* Always select ETag

* Complete ETag handling

* Missing Context Changes

* Reset unit test to current pushed state

* Increase test coverage

* Adopt test to real number of complex types

* Enable V4.01 JSON format as request and response

* Additional Integration tests support OData V4.01 JSON

* Allow usage of different types of transaction

* Increase Spring support

* Bugfix/issue83 (SAP#120)

* Update Version

* Extension of session context, so an emf can be provided

* Preparation of custom name builder

- Create public interface
- replace class by new interface

* Revoke test adoption

* Providing custome name builder

* Update annotation EdmFunction

* Increase release

* Adopt archetype

- Simplify service
- Add integration test

* Modify example did not persist on create

* Deep Insert did not responded deep

* Always select ETag

* Complete ETag handling

* Missing Context Changes

* Reset unit test to current pushed state

* Increase test coverage

* Adopt test to real number of complex types

* Enable V4.01 JSON format as request and response

* Additional Integration tests support OData V4.01 JSON

* Allow usage of different types of transaction

* Increase Spring support

* Restrict $expand select by key range

* Support root with navigation like AdministrativeDivision(...)/Children

* Protect dilution of test coverage by test package (SAP#133)

* Increase release

* Increase release (SAP#136)

* Protect dilution of test coverage by test package (SAP#135)

* Remove deprecated artifacts (SAP#134)

* Remove deprecated artefacts

* Missing test adoptions

* Upgrade Olingo version and processor version

* Feature/transient fields (SAP#137)

* Increase release

* Upgrade Olingo version and processor version

* Prevent NPE on expand empty result (SAP#138)

* Correct SonarQube and SpotBug hints

* Feature/transient fields (SAP#139)

* Increase release

* Upgrade Olingo version and processor version

* Correct SonarQube and SpotBug hints

* SpotBugs and clean-ups

* Build metadata I

* First draft of criteria builder and query implementation (SAP#140)

* First draft of criteria builder and query implementation

* Add Transient

* First join version

* Correct structured type

* Test adoption was missing

* Update criteria builder

* Solve enum error

* Support aggregation function

* Correct buildInverseJoinColumns() error

* Add Test buildInverseJoinColumns() error

* Enable table join without entity type

* Correct Error table name

* Own test for JPAEdmProvider and correct name builder error

* Additional test

* Support parallel processing of batch requests

* Complete synchronized creation of metadata

* Enable transient field calculator

* Suppress transient fields at $filter and $orderby

* Enable transient collections and collections with transient attributes

* Additional tests for changing operations

* Enable absolute path in url

* Add sonar plugin (SAP#144)

* Add sonar plugin

* Update pom with sonar plugin

* Feature/logging (SAP#145)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Feature/logging (SAP#147)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Feature/logging (SAP#148)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Update xmake version

* Feature/logging (SAP#150)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Update xmake version

* Clean-up sonar issues

* Feature/logging (SAP#151)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Update xmake version

* Clean-up sonar issues

* Update build status on read.me

* New badges

* Update README.md

* Update README.md

* Feature/logging (SAP#152)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Update xmake version

* Clean-up sonar issues

* Update build status on read.me

* New badges

* Clean-up sonar issues

* Create additional test for debugger

* Add tests for debugger

* Update README.md

* Replace database derby -> hsqldb

* Update README.md (SAP#153)

* Feature/logging (SAP#154)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Logging as part of standard debugger

* Generic authorization check for JPAExampleCUDRequestHandler

* Update xmake version

* Clean-up sonar issues

* Update build status on read.me

* New badges

* Clean-up sonar issues

* Create additional test for debugger

* Add tests for debugger

* Update README.md

* Replace database derby -> hsqldb

* Cleanup sonar issue

* Increase test coverage for criteria builder (SAP#155)

* Feature/criteria builder (SAP#156)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Update README.md (SAP#157)

* Feature/criteria builder (SAP#158)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Feature/criteria builder (SAP#159)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Add method to retrieve all claims

* Update README.md (SAP#160)

* Update README.md

* Update README.md

* Remove potential null pointer (SAP#161)

* Bugfix/sonar issues (SAP#162)

* Remove potential null pointer

* Remove potential Null Pointer

* Bugfix/sonar issues (SAP#163)

* Remove potential null pointer

* Remove potential Null Pointer

* Remove potential Null Pointer

* Bugfix/sonar issues (SAP#164)

* Remove potential null pointer

* Remove potential Null Pointer

* Remove potential Null Pointer

* Additional clean-ups

* Work on soanr issues

* Bugfix/sonar issues (SAP#165)

* Remove potential null pointer

* Remove potential Null Pointer

* Remove potential Null Pointer

* Additional clean-ups

* Work on soanr issues

* Additional cleanups

* Feature/release 1.0.0 (SAP#170)

* Bugfix/typo package (SAP#168)

* Update version to 1.0.0-RC

* Rename package to ...metadata.core.edm.mapper.extension

* Rename message constants

* Correct typos in method names

* Rollback change to Optional

* Support Include Annotation (SAP#169)

* Feature/include annotation (SAP#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (SAP#173)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (SAP#174)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* sonar issues (SAP#175)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Bugfix/issue98 (SAP#176)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Bugfix/issue98 (SAP#177)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Delete intermediate code

* Feature/criteria builder (SAP#178)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Add method to retrieve all claims

* Add README.md and correct spelling errors

* Add README.md and correct spelling errors (SAP#179)

* Feature/release 1.0.0 (SAP#192)

* Bugfix/typo package (SAP#168)

* Update version to 1.0.0-RC

* Rename package to ...metadata.core.edm.mapper.extension

* Rename message constants

* Correct typos in method names

* Rollback change to Optional

* Support Include Annotation (SAP#169)

* Feature/include annotation (SAP#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/syntax errors (SAP#181)

* Feature/release 1.0.0 (SAP#170)

* Bugfix/typo package (SAP#168)

* Update version to 1.0.0-RC

* Rename package to ...metadata.core.edm.mapper.extension

* Rename message constants

* Correct typos in method names

* Rollback change to Optional

* Support Include Annotation (SAP#169)

* Feature/include annotation (SAP#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (SAP#173)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (SAP#174)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* sonar issues (SAP#175)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Bugfix/issue98 (SAP#176)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Bugfix/issue98 (SAP#177)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Delete intermediate code

* Feature/criteria builder (SAP#178)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Add method to retrieve all claims

* Add README.md and correct spelling errors

* Add README.md and correct spelling errors

* Correct syntax errors metadata

* Clean-up typos

* Rework build of OrderBy creation (SAP#183)

* Bugfix/syntax errors (SAP#185)

* Feature/release 1.0.0 (SAP#170)

* Bugfix/typo package (SAP#168)

* Update version to 1.0.0-RC

* Rename package to ...metadata.core.edm.mapper.extension

* Rename message constants

* Correct typos in method names

* Rollback change to Optional

* Support Include Annotation (SAP#169)

* Feature/include annotation (SAP#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (SAP#173)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (SAP#174)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* sonar issues (SAP#175)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Bugfix/issue98 (SAP#176)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Bugfix/issue98 (SAP#177)

* Support java.time.Instant and BigInteger

* Correct issue SAP#98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Clean-up sonar issue

* Clean-up sonar

* Clean-up author

* Meaningfull error message on $apply

* Service Context creates Emf Wrapper if present in class path

* Suppoprt of MappedSuperclass

* $top and $skip use order by primary key

* Clean-up sonar issues

* Clean-up sonar issues

* Delete intermediate code

* Feature/criteria builder (SAP#178)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Add method to retrieve all claims

* Add README.md and correct spelling errors

* Add README.md and correct spelling errors

* Add README.md and correct spelling errors (SAP#179)

* Correct syntax errors metadata

* Clean-up typos

* Update Version -> 1.0.0

* Usage of builder to create external request context (SAP#187)

* Bugfix/continue on error (SAP#189)

* Move batch processor from API to PROCESSOR package

* Correct continue-on-error handling

* Support generated Id in example CUD handler (SAP#190)

* Support generated Id in example CUD handler

* Correct failing test

* Adoption of archetype to 1.0.0 (SAP#191)

* Adoption of archetype to 1.0.0

* Correct sql error

* Clean-up sonar issues

* Correct criteria builder implementation (SAP#193)

* Feature/criteria builder (SAP#194)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Feature/criteria builder (SAP#195)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Feature/criteria builder (SAP#196)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Add Locale to request context, so it can be set from user data

* Correct request context copy

* Feature/criteria builder (SAP#197)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Add Locale to request context, so it can be set from user data

* Correct request context copy

* Missing transient fields at $expand

* Add tests

* Feature/criteria builder (SAP#198)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Add Locale to request context, so it can be set from user data

* Correct request context copy

* Missing transient fields at $expand

* Add tests

* Fix GeneratedKey problem

* Feature/criteria builder (SAP#199)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Add Locale to request context, so it can be set from user data

* Correct request context copy

* Missing transient fields at $expand

* Add tests

* Fix GeneratedKey problem

* Intermediate state

* Enable next block of queries

* Expand with Join Tables

* Last unit test corrections

* Eliminate typos

* Finalize changes

* missing variable usage (SAP#200)

* missing variable usage

* Increase processor version

* Clean-up Sonar issues (SAP#201)

* Bugfix/no mapper for operations (SAP#202)

* Clean-up Sonar issues

* Add test for type mapping for actions and java function

+ Cleanup test classes

* Feature/1.0.1 (SAP#203)

* Correct criteria builder implementation

* Enable sub query as FROM

* Update tests

* Update sonar issues

* Update sonar issue

* Add mutation testing to processor and metadata

* Eliminate duplicate code

* Add Locale to request context, so it can be set from user data

* Correct request context copy

* Missing transient fields at $expand

* Add tests

* Fix GeneratedKey problem

* Change version to 1.0.1

* New version (SAP#204)

* Bugfix/filter eq withdate (SAP#205)

* New version

* Support filter on Date and DateTime

* Correct precision

* Change another test

* Us generated alias for column selection (SAP#206)

* Upgrade Version (SAP#207)

* Us generated alias for column selection

* Upgrade version

* Reduce complexity (SAP#209)

* ALL did not work with functions like startswith (SAP#210)

* Update version (SAP#208)

* Entity Set Path @ DB Functions (SAP#211)

* Feature/new archetype (SAP#212)

* Clean-up folder name

* Create archetype repo

* Use copy of spring archetype as start

* Enable named queries

* Feature/new archetype (SAP#213)

* Clean-up folder name

* Create archetype repo

* Use copy of spring archetype as start

* Enable named queries

* Allow Star for non string claim properties

* Add Equals method to DeepProtectedExample

* Feature/new archetype (SAP#214)

* Clean-up folder name

* Create archetype repo

* Use copy of spring archetype as start

* Enable named queries

* Allow Star for non string claim properties

* Add Equals method to DeepProtectedExample

* Enable grant access to all for non string fields read

* Replace Reflections API by Reflections8 (SAP#215)

* Support entitytypes singeltons (SAP#216)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet
- Read not ready

* Update README.md (SAP#218)

* Update README.md

* Update README.md

* Update README.md

* Solve issue 136 (SAP#217)

* Solve issue 136

* Eliminate hyphen

* Eliminate WhiteSource detected vulnerabilities (SAP#219)

* Eliminate WhiteSource detected vulnerabilities

* Add now required dependency

* Remove setExternalName from Metadata Post Processor (SAP#220)

* Support entitytypes singeltons (SAP#221)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet

* Wrong entity type on singleton only

* Add java doc to TopLevelElementRepresentation

* Finalize singleton metadata handling

* Clean-up test classes

* Add option to retrieve Singleton from SD

* Rename test class

* Support entitytypes singeltons (SAP#222)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet

* Wrong entity type on singleton only

* Add java doc to TopLevelElementRepresentation

* Finalize singleton metadata handling

* Clean-up test classes

* Add option to retrieve Singleton from SD

* Rename test class

* Add and clean-up unit tests

* Query extension declaration (SAP#223)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet

* Wrong entity type on singleton only

* Add java doc to TopLevelElementRepresentation

* Finalize singleton metadata handling

* Clean-up test classes

* Add option to retrieve Singleton from SD

* Rename test class

* Add and clean-up unit tests

* Introduce query extension metadata

* Enable Singleton and Cast on subtypes

- clean-up sonar issues

* Support entity types and singletons (SAP#224)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet

* Wrong entity type on singleton only

* Add java doc to TopLevelElementRepresentation

* Finalize singleton metadata handling

* Clean-up test classes

* Add option to retrieve Singleton from SD

* Rename test class

* Add and clean-up unit tests

* Introduce query extension metadata

* Enable Singleton and Cast on subtypes

- clean-up sonar issues

* Clean-up sonar issues

* Support cast on navigations (SAP#225)

* New annotation to make singletons and entity types

- Update to olingo 4.8.0
- Deprecate EdmAsEntitySet

* Wrong entity type on singleton only

* Add java doc to TopLevelElementRepresentation

* Finalize singleton metadata handling

* Clean-up test classes

* Add option to retrieve Singleton from SD

* Rename test class

* Add and clean-up unit tests

* Introduce query extension metadata

* Enable Singleton and Cast on subtypes

- clean-up sonar issues

* Clean-up sonar issues

* Cast within navigation path

* Add cast collections

* Add tests for EdmBoundCast

* Support Cast on $expand

* Update README.md (SAP#226)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Bugfix/no constranis with ignored properties (SAP#227)

* Suppress referential constraint for properties that shall be ignored

* No Referential Constraint in case one property shall be ignored

* Bugfix/no constranis with ignored properties (SAP#228)

* Suppress referential constraint for properties that shall be ignored

* No Referential Constraint in case one property shall be ignored

* Bring back error on ignored

* Enable subtyping for complex types (SAP#229)

* Support transient properties that require ignored properties (SAP#231)

* Bugfix/multi level inheritance (SAP#232)

* Adopt process-cb

* Correct type converter problem

* Use dbType for tuple result mapping

* Bugfix/multi level inheritance (SAP#233)

* Adopt process-cb

* Correct type converter problem

* Use dbType for tuple result mapping

* Correct constructor test of extension

* Feature/release 1.0.3 (SAP#234)

* Correct typos and replace deprecated method

* Set final Version

* Feature/release 1.0.4 (SAP#235)

* Error corrections

- Debugger did not work
- Transaction Factory not forwarded

* Update release

* Make debugger runtime a List

* Feature/release 1.0.4 (SAP#236)

* Error corrections

- Debugger did not work
- Transaction Factory not forwarded

* Update release

* Make debugger runtime a List

* Small adoptions to test model

* Reset change

* Error correction (SAP#237)

* Feature/release 1.0.5 (SAP#238)

* Error corrections

- Debugger did not work
- Transaction Factory not forwarded

* Update release

* Make debugger runtime a List

* Small adoptions to test model

* Reset change

* Add test for criteria builder

* Error correction

* Update H2 version (SAP#239)

* Update H2 version

* Update version and rework DataSourceHelper

* Feature/release 1.0.6 (SAP#240)

* Update H2 version

* Update version and rework DataSourceHelper

* Let H2 run in Postges mode

* Upgrade version and additional tests (SAP#241)

* Upgrade version and additional tests

* Remove session context from queries

* Remove session context from processors

* New version an sonar clean-up (SAP#242)

* Release 1.1.0 (SAP#243)

* New version an sonar clean-up

* New path property fro sonar

* Release 1.1.0 (SAP#244)

* New version an sonar clean-up

* New path property fro sonar

* Test usage of SNAPSHOT version

* Update version -> 1.0.8 (SAP#245)

* Update version -> 1.0.8

* Count queries support Integer as result

* Update archetype to support PATCH

* Feature/release 1.0.0 (SAP#247)

* New version an sonar clean-up

* New path property fro sonar

* Test usage of SNAPSHOT version

* Adopt archetype

* Clean-up sonar issues

* Resolve more sonar issues

* Introducing virtual property

* Clean-up associations and enable default columns when using ...-cb

* Generate metadata for overloaded action (SAP#248)

* Generate metadata for overloaded action

* Process action

* Feature/action overload (SAP#249)

* Generate metadata for overloaded action

* Process action

* Use constructor of entity type an action is called for not of binding

* Fix claims in collections where (SAP#250)

* Fix claims in collections where

* Missed interface definition

* Missed test renaming

* Use dbtype to build key pair in case a conversion exists (SAP#251)

* Enable more constructors for binding parameter (SAP#252)

* Feature/more flexable constructor determination operations (SAP#253)

* Enable more constructors for binding parameter

* Clean-up sonar errors

* New type cast added - they have possible data lost (SAP#254)

* Collection not longer retrieves transient (SAP#255)

* Collection not longer retrieves transient

* Skip unit test

* Enhance partner determination (SAP#256)

* Bugfix/reuse navigation as partner (SAP#257)

* Enhance partner determination

* Remove one sonar issue

* Bugfix/reuse navigation as partner (SAP#258)

* Enhance partner determination

* Remove one sonar issue

* Correct partner determination

* No fallback to server locale in case bundle requested local not found (SAP#259)

* Replace file reader (SAP#260)

* Replace fixed values by variables (SAP#261)

* Bugfix/error in controller test (SAP#262)

* Replace fixed values by variables

* Update pom

* Update archetype pom (SAP#265)

* Defect/archetype pom (SAP#266)

* Update archetype pom

* Check older version of sonar plugin

* Update test constants (SAP#267)

* Correct count behavior (SAP#268)

* Change to Java 11 (SAP#269)

* Change to Java 11

* Revert Java 11

* Update README.md (SAP#270)

* Defect/count not working on hana (SAP#271)

* Correct count behavior

* Ignore sonar check. Equal methods are generated

* Defect/java function parameter name (SAP#272)

* Raise meaningful exception on empty function parameter name

* Meaningful exception if action parameter name empty

* Raise message in case of Void as return type for functions (SAP#273)

* Raise message in case of Void as return type for functions

* Add extenstion

* Error in if clause

* Extension of visitor for java functions (SAP#274)

* Update version to 1.1.1 (SAP#275)

* Feature/predefined annotations (SAP#276)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Add page to order by builder (SAP#277)

* Feature/predefined annotations (SAP#278)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Feature/predefined annotations (SAP#279)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Update dependency

* Feature/predefined annotations (SAP#280)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Update dependency

* Adopt HSQLDB

* Update .xmake.cfg (SAP#283)

* Update .xmake.cfg

* Update .xmake.cfg

* Correct spelling (SAP#281)

* Feature/predefined annotations (SAP#282)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Update dependency

* Adopt HSQLDB

* Rename package for vocabulary parser

* Move OData vocabularies to new module

* Merge tests

* Annotations in metadata

* Finalize annotations within metadata

* Update .xmake.cfg (SAP#284)

* Update .xmake.cfg

* Update .xmake.cfg

* Feature/predefined annotations (SAP#286)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Update dependency

* Adopt HSQLDB

* Rename package for vocabulary parser

* Move OData vocabularies to new module

* Merge tests

* Annotations in metadata

* Finalize annotations within metadata

* Support sorting restrictions by annotation

* Build annotation based expand check

* Expand star via path reads only requested from database

* Check countability

* Support collection property count

* Annotations@Singeltons

* Provide AnnotationProvider to all model elements

* Enable annotations at properties

* Feature/predefined annotations (SAP#287)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Intermediate state

* Clean-up basic mapping and introduce annotation

* Finalize annotation mapper

* Update dependency

* Adopt HSQLDB

* Rename package for vocabulary parser

* Move OData vocabularies to new module

* Merge tests

* Annotations in metadata

* Finalize annotations within metadata

* Support sorting restrictions by annotation

* Build annotation based expand check

* Expand star via path reads only requested from database

* Check countability

* Support collection property count

* Annotations@Singeltons

* Provide AnnotationProvider to all model elements

* Enable annotations at properties

* Enable access to annotations via JPARequestEntity

* Watch filtering

* Clean-up pom and typo correction (SAP#288)

* Solve issue 212 and fix permission check issue with join tables (SAP#289)

* Solve issue 212 and fix permission check issue with join tables

* $count for collection join as well

* Clean-up code

* Fix issue, converting type (SAP#290)

* Fix issue, converting type

* Fix unit test

* Correct type determination

* Multi step Mapped Superclass (SAP#291)

* Upgrade H2 to 2.2.220 (SAP#293)

* Correct navigation to one is null (SAP#294)

* Fix join column determination with cyclic dependency (SAP#295)

* Fix join column determination with cyclic dependency

* Additional test for navigation with mapped join table

* Make OneToOne required and handle non JPA Processor errors in metadata (SAP#296)

* Defect/issue214 (SAP#297)

* Make OneToOne required and handle non JPA Processor errors in metadata

* Clean-up warnings

* Defect/issue214 (SAP#298)

* Make OneToOne required and handle non JPA Processor errors in metadata

* Clean-up warnings

* Add check for OneToMany

* Clean-up sonar issues

* Update .xmake.cfg (SAP#300)

* Update version to 2.0.0 (SAP#299)

* Update version to 2.0.0

* Unify junit version

* Make use of Jakarta

* Clean-up sonar issues created by switching to Java 17

* Update dependencies

* Update dependencies and clean-up typos

* Add unit tests

* Increase test coverage

* Defect/issue226 (SAP#301)

* Update version

* Adopt correction done for release

* Clean-up archetype

* Clean-up error

* Add test to check Olingo not supporting $expand...($level=; $expand...)

* Note thrown runtime exception

* First level of COUNT query as IN (SAP#302)

* Defect/issues239 (SAP#303)

* First level of COUNT query as IN

* Deletion of JPACollectionFilterQuery

* Defect/issues239 (SAP#304)

* First level of COUNT query as IN

* Deletion of JPACollectionFilterQuery

* Handle null where conditions

* Rename properties file to prevent name clashes (SAP#305)

* Rename properties file to prevent name clashes

* Update dependency, resolve conflict with Olingo

* Clean-up pom and some code (SAP#306)

* Defect/pom cleanup (SAP#307)

* Clean-up pom and some code

* Update dependencies

* Archetype and SOnar clean-up (SAP#308)

* Add protection where to collection query (SAP#309)

* Check if cast is necessary (SAP#310)

* Set version to 2.0.2 (SAP#311)

* Update to Olingo 5.0.0 and remove wrapper (SAP#314)

* Extend interface for server driven paging (SAP#313)

* Extend interface for server driven paging

* Correct failing tests

* Clean-ups

* Sonar clean-up

* Change default implementation

* Enhance paging provider interface

* Finalize paging provider

* Feature/enhancement of paging (SAP#315)

* Extend interface for server driven paging

* Correct failing tests

* Clean-ups

* Sonar clean-up

* Change default implementation

* Enhance paging provider interface

* Finalize paging provider

* Use synchronized instead of thread save collections

* First version and some clean-ups (SAP#312)

* First version and some clean-ups

* Update filter restriction and new query directives

* New query implementation for count (SAP#316)

* Feature/annotation api extension (SAP#317)

* First step

* Enhancement with path expressions

* Re-factor annotation search

* Get annotation value from property

* Prepare test of EntityType and NavigationProperty

* Finalize annotation API

* Update project files (SAP#318)

* Add null check for NOT IN clauses (SAP#319)

* Fix $count problem with collection properties (SAP#320)

* Fix $count problem with collection properties

* Handle navigation filter query for collection properties

* Defect/use raw uri for vocabularies (SAP#321)

* Update urls

* update pom

* Defect/use raw uri for vocabularies (SAP#322)

* Update urls

* update pom

* Defect/missing paging expand with cp (SAP#323)

* Introduction of default paging provider

* Skip token shall be null

* Handle LIMIT and OFFSET with TypedQuery (SAP#324)

* Defect/eclipse link hana problem (SAP#325)

* Handle LIMIT and OFFSET with TypedQuery

* Update default for LIMIT

* Update In - Exists docu

* Update quick start

* Update version

* Update README

* No tutorial on servicer driven paging

* Update archetype version

* Reset README to point to current non SNAPSHOT version

* Check restrictions on IN clause (SAP#326)

* Correct NPE if enum property is nullable (SAP#327)
  • Loading branch information
wog48 authored Apr 16, 2024
1 parent 1788ad2 commit 5b49893
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class JavaAnnotationConverter {
private static final Log LOGGER = LogFactory.getLog(JavaAnnotationConverter.class);
static final String EDM_NAMESPACE = "Edm";
static final String IS_COLLECTION_TERM = "Collection";
static final String NULL = "null";

JavaAnnotationConverter() {
super();
Expand Down Expand Up @@ -113,7 +114,8 @@ private CsdlExpression asEnumExpression(final AnnotationType propertyType,

final var enumType = propertyType.asEnumeration();
final var enumMember = enumType.getMember(propertyValue.toString());
return new CsdlConstantExpression(ConstantExpressionType.EnumMember, enumMember.getName());
return new CsdlConstantExpression(ConstantExpressionType.EnumMember,
enumMember == null ? NULL : enumMember.getName());
}

private ConstantExpressionType asExpressionType(final AnnotationType annotation) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,20 @@ void checkAnnotationWithRecordContainingEnum() {
assertEquals("PATCH", updateMethod.get().getValue().asConstant().getValue());
}

@Test
void checkAnnotationWithRecordContainingEnumNullValue() {

final UpdateRestrictions updateRestrictions = JavaBasedODataAnnotationsProviderTest.class.getAnnotation(
UpdateRestrictions.class);
final Optional<CsdlAnnotation> act = cut.convert(references, updateRestrictions, annotatable);
assertTrue(act.isPresent());
final List<CsdlPropertyValue> actValues = act.get().getExpression().asDynamic().asRecord().getPropertyValues();
final Optional<CsdlPropertyValue> updateMethod = actValues.stream()
.filter(p -> p.getProperty().equals("UpdateMethod")).findFirst();
assertTrue(updateMethod.isPresent());
assertEquals("null", updateMethod.get().getValue().asConstant().getValue());
}

@Test
void checkAnnotationWithRecordContainingCollection() throws ODataPathNotFoundException {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@
import com.sap.olingo.jpa.metadata.core.edm.extension.vocabularies.ReferenceAccess;
import com.sap.olingo.jpa.metadata.core.edm.extension.vocabularies.ReferenceList;
import com.sap.olingo.jpa.metadata.odata.v4.capabilities.terms.ExpandRestrictions;
import com.sap.olingo.jpa.metadata.odata.v4.capabilities.terms.UpdateRestrictions;

@ExpandRestrictions(maxLevels = 2, nonExpandableProperties = { "roles" })
@UpdateRestrictions()
class JavaBasedODataAnnotationsProviderTest {
JavaBasedCapabilitiesAnnotationsProvider cut;
ODataAnnotatable annotatable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,9 @@ void setSrid(final String srid) {
Objects.requireNonNull(srid);
super.setSrid(SRID.valueOf(srid));
}

@Override
public String toString() {
return "Property [name=" + getName() + ", type=" + getType() + "]";
}
}

0 comments on commit 5b49893

Please sign in to comment.