Skip to content

Commit

Permalink
Feature/version 2.2.0 (#353)
Browse files Browse the repository at this point in the history
* Feature/transient fields (#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 #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 #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 #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 #69 part one

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

* Claims where not respected by queries issue #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 #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 (#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 (#133)

* Increase release

* Increase release (#136)

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

* Remove deprecated artifacts (#134)

* Remove deprecated artefacts

* Missing test adoptions

* Upgrade Olingo version and processor version

* Feature/transient fields (#137)

* Increase release

* Upgrade Olingo version and processor version

* Prevent NPE on expand empty result (#138)

* Correct SonarQube and SpotBug hints

* Feature/transient fields (#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 (#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 (#144)

* Add sonar plugin

* Update pom with sonar plugin

* Feature/logging (#145)

* Add sonar plugin

* Update pom with sonar plugin

* Remove old xmake version

* Feature/logging (#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 (#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 (#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 (#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 (#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 (#153)

* Feature/logging (#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 (#155)

* Feature/criteria builder (#156)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Update README.md (#157)

* Feature/criteria builder (#158)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Feature/criteria builder (#159)

* Increase test coverage for criteria builder

* Replace double implementation by mocks

* Rework vocabulary read

* Add method to retrieve all claims

* Update README.md (#160)

* Update README.md

* Update README.md

* Remove potential null pointer (#161)

* Bugfix/sonar issues (#162)

* Remove potential null pointer

* Remove potential Null Pointer

* Bugfix/sonar issues (#163)

* Remove potential null pointer

* Remove potential Null Pointer

* Remove potential Null Pointer

* Bugfix/sonar issues (#164)

* Remove potential null pointer

* Remove potential Null Pointer

* Remove potential Null Pointer

* Additional clean-ups

* Work on soanr issues

* Bugfix/sonar issues (#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 (#170)

* Bugfix/typo package (#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 (#169)

* Feature/include annotation (#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (#173)

* Support java.time.Instant and BigInteger

* Correct issue #98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (#174)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#175)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#176)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#177)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#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 (#179)

* Feature/release 1.0.0 (#192)

* Bugfix/typo package (#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 (#169)

* Feature/include annotation (#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/syntax errors (#181)

* Feature/release 1.0.0 (#170)

* Bugfix/typo package (#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 (#169)

* Feature/include annotation (#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (#173)

* Support java.time.Instant and BigInteger

* Correct issue #98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (#174)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#175)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#176)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#177)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#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 (#183)

* Bugfix/syntax errors (#185)

* Feature/release 1.0.0 (#170)

* Bugfix/typo package (#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 (#169)

* Feature/include annotation (#171)

* Support Include Annotation

* Increase test coverage transient properties

* Bugfix/issue98 (#173)

* Support java.time.Instant and BigInteger

* Correct issue #98

- Correct typo
- Make DatabaseProcessor public

* Enhance documentation of transient property calculator

* Bugfix/issue98 (#174)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#175)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#176)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#177)

* Support java.time.Instant and BigInteger

* Correct issue #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 (#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 (#179)

* Correct syntax errors metadata

* Clean-up typos

* Update Version -> 1.0.0

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

* Bugfix/continue on error (#189)

* Move batch processor from API to PROCESSOR package

* Correct continue-on-error handling

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

* Support generated Id in example CUD handler

* Correct failing test

* Adoption of archetype to 1.0.0 (#191)

* Adoption of archetype to 1.0.0

* Correct sql error

* Clean-up sonar issues

* Correct criteria builder implementation (#193)

* Feature/criteria builder (#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 (#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 (#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 (#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 (#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 (#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 (#200)

* missing variable usage

* Increase processor version

* Clean-up Sonar issues (#201)

* Bugfix/no mapper for operations (#202)

* Clean-up Sonar issues

* Add test for type mapping for actions and java function

+ Cleanup test classes

* Feature/1.0.1 (#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 (#204)

* Bugfix/filter eq withdate (#205)

* New version

* Support filter on Date and DateTime

* Correct precision

* Change another test

* Us generated alias for column selection (#206)

* Upgrade Version (#207)

* Us generated alias for column selection

* Upgrade version

* Reduce complexity (#209)

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

* Update version (#208)

* Entity Set Path @ DB Functions (#211)

* Feature/new archetype (#212)

* Clean-up folder name

* Create archetype repo

* Use copy of spring archetype as start

* Enable named queries

* Feature/new archetype (#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 (#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 (#215)

* Support entitytypes singeltons (#216)

* New annotation to make singletons and entity types

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

* Update README.md (#218)

* Update README.md

* Update README.md

* Update README.md

* Solve issue 136 (#217)

* Solve issue 136

* Eliminate hyphen

* Eliminate WhiteSource detected vulnerabilities (#219)

* Eliminate WhiteSource detected vulnerabilities

* Add now required dependency

* Remove setExternalName from Metadata Post Processor (#220)

* Support entitytypes singeltons (#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 (#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 (#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 (#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 (#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 (#226)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Bugfix/no constranis with ignored properties (#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 (#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 (#229)

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

* Bugfix/multi level inheritance (#232)

* Adopt process-cb

* Correct type converter problem

* Use dbType for tuple result mapping

* Bugfix/multi level inheritance (#233)

* Adopt process-cb

* Correct type converter problem

* Use dbType for tuple result mapping

* Correct constructor test of extension

* Feature/release 1.0.3 (#234)

* Correct typos and replace deprecated method

* Set final Version

* Feature/release 1.0.4 (#235)

* Error corrections

- Debugger did not work
- Transaction Factory not forwarded

* Update release

* Make debugger runtime a List

* Feature/release 1.0.4 (#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 (#237)

* Feature/release 1.0.5 (#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 (#239)

* Update H2 version

* Update version and rework DataSourceHelper

* Feature/release 1.0.6 (#240)

* Update H2 version

* Update version and rework DataSourceHelper

* Let H2 run in Postges mode

* Upgrade version and additional tests (#241)

* Upgrade version and additional tests

* Remove session context from queries

* Remove session context from processors

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

* Release 1.1.0 (#243)

* New version an sonar clean-up

* New path property fro sonar

* Release 1.1.0 (#244)

* New version an sonar clean-up

* New path property fro sonar

* Test usage of SNAPSHOT version

* Update version -> 1.0.8 (#245)

* Update version -> 1.0.8

* Count queries support Integer as result

* Update archetype to support PATCH

* Feature/release 1.0.0 (#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 (#248)

* Generate metadata for overloaded action

* Process action

* Feature/action overload (#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 (#250)

* Fix claims in collections where

* Missed interface definition

* Missed test renaming

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

* Enable more constructors for binding parameter (#252)

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

* Enable more constructors for binding parameter

* Clean-up sonar errors

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

* Collection not longer retrieves transient (#255)

* Collection not longer retrieves transient

* Skip unit test

* Enhance partner determination (#256)

* Bugfix/reuse navigation as partner (#257)

* Enhance partner determination

* Remove one sonar issue

* Bugfix/reuse navigation as partner (#258)

* Enhance partner determination

* Remove one sonar issue

* Correct partner determination

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

* Replace file reader (#260)

* Replace fixed values by variables (#261)

* Bugfix/error in controller test (#262)

* Replace fixed values by variables

* Update pom

* Update archetype pom (#265)

* Defect/archetype pom (#266)

* Update archetype pom

* Check older version of sonar plugin

* Update test constants (#267)

* Correct count behavior (#268)

* Change to Java 11 (#269)

* Change to Java 11

* Revert Java 11

* Update README.md (#270)

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

* Correct count behavior

* Ignore sonar check. Equal methods are generated

* Defect/java function parameter name (#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 (#273)

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

* Add extenstion

* Error in if clause

* Extension of visitor for java functions (#274)

* Update version to 1.1.1 (#275)

* Feature/predefined annotations (#276)

* First list of predefined OData annotations

* Update capabilities annotations

* Sonar issues

* Update dependencies

* Adopt layer test

* Add page to order by builder (#277)

* Feature/predefined annotations (#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 (#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 (#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 (#283)

* Update .xmake.cfg

* Update .xmake.cfg

* Correct spelling (#281)

* Feature/predefined annotations (#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 (#284)

* Update .xmake.cfg

* Update .xmake.cfg

* Feature/predefined annotations (#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 (#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 (#288)

* Solve issue 212 and fix permission check issue with join tables (#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 (#290)

* Fix issue, converting type

* Fix unit test

* Correct type determination

* Multi step Mapped Superclass (#291)

* Upgrade H2 to 2.2.220 (#293)

* Correct navigation to one is null (#294)

* Fix join column determination with cyclic dependency (#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 (#296)

* Defect/issue214 (#297)

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

* Clean-up warnings

* Defect/issue214 (#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 (#300)

* Update version to 2.0.0 (#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 (#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 (#302)

* Defect/issues239 (#303)

* First level of COUNT query as IN

* Deletion of JPACollectionFilterQuery

* Defect/issues239 (#304)

* First level of COUNT query as IN

* Deletion of JPACollectionFilterQuery

* Handle null where conditions

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

* Rename properties file to prevent name clashes

* Update dependency, resolve conflict with Olingo

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

* Defect/pom cleanup (#307)

* Clean-up pom and some code

* Update dependencies

* Archetype and SOnar clean-up (#308)

* Add protection where to collection query (#309)

* Check if cast is necessary (#310)

* Set version to 2.0.2 (#311)

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

* Extend interface for server driven paging (#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 (#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 (#312)

* First version and some clean-ups

* Update filter restriction and new query directives

* New query implementation for count (#316)

* Feature/annotation api extension (#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 (#318)

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

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

* Fix $count problem with collection properties

* Handle navigation filter query for collection properties

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

* Update urls

* update pom

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

* Update urls

* update pom

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

* Introduction of default paging provider

* Skip token shall be null

* Handle LIMIT and OFFSET with TypedQuery (#324)

* Defect/eclipse link hana problem (#325)

* Handle LIMIT and OFFSET with TypedQuery

* Update default for LIMIT

* Check restrictions on IN clause (#326)

* Correct NPE if enum property is nullable (#327)

* Update README.md (#328)

* Update README.md

* Update README.md

* Update version to 2.2.0-SNAPSHOT

* Fix duplicates result multi expands issue#292 (#329)

* Defect/enumeration convertion error (#330)

* Update Version

* Make use of @Enumerated and fix order issue

* Suppress generation of defaults for LIMIT and OFFSET (#331)

* Enable order by to one associations (#333)

* Enhanced ETag handling for GET entity set requests (#332)

* Enhanced ETag handling for GET entity set requests

* Prepare ETag handling for functions and actions

* Cleanup test for filter using db functions

* Fix unit tests

* ETag at Functions and Actions

* Defect/orderby navigation to on (#334)

* Enable order by to one associations

* Group By at sub queries

* Correct collection property select clause issues (#335)

* Enable nested lambda expressions (#336)

* Fix problem with expand and lambda to collection (#337)

* Set version to 2.1.3 (#338)

* Feature/release 2.1.3 (#339)

* Set version to 2.1.3

* Update readme

* Enable weak etags

* Add word

* Generalize unit test

* Feature/release 2.1.3 (#340)

* Set version to 2.1.3

* Update readme

* Enable weak etags

* Add word

* Generalize unit test

* Adopt validation header check to potential lower case conversion

* Update to version 2.1.4 (#341)

* Update to version 2.2.0 (#342)

* Defect/issue 330 (#343)

* Add derby as db option and allow integer as count value

* Merge remote-tracking branch 'origin/master' into defect/issue-330

* Defect/issue 330 (#344)

* Add derby as db option and allow integer as count value

* Merge remote-tracking branch 'origin/master' into defect/issue-330

* Enable database specific conversion of cb

* Update test

* Fix issue with orderby and description properties (#345)

- re-think orderby creation

* Add test

* Update gitignore

* Handle missed changes

* clean-up

* Update artifact pom

* Clean-up duplicate code
  • Loading branch information
wog48 authored Aug 6, 2024
1 parent 921cfed commit decffc8
Show file tree
Hide file tree
Showing 127 changed files with 4,496 additions and 1,309 deletions.
4 changes: 4 additions & 0 deletions additionalWords.directory
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,7 @@ MULTI
Asc
Validator
olingo
Concat
Postgresql
Hana
Desc
2 changes: 1 addition & 1 deletion jpa-archetype/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@
</properties>

<modules>
<module>odata-jpa-archetype-spring</module>
<module>odata-jpa-archetype-spring</module>
</modules>
</project>
4 changes: 3 additions & 1 deletion jpa/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@ target/
# --- EclipseIDE stuff START
.settings/
.metadata
*.log
*.log
/.dbeaver/
/old.project
1 change: 0 additions & 1 deletion jpa/odata-jpa-annotation/pom.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.beans.Transient;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,10 @@ public Optional<JPAAttribute> getAttribute(@Nonnull final UriResourceProperty ur
*/
public List<JPACollectionAttribute> getDeclaredCollectionAttributes() throws ODataJPAModelException;

@CheckForNull
public JPAPath getPath(final String externalName) throws ODataJPAModelException;

@CheckForNull
public JPAPath getPath(final String externalName, final boolean respectIgnore) throws ODataJPAModelException;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ public enum MessageKeys implements ODataJPAMessageKey {
NO_JOIN_TABLE_TYPE,
PATH_ELEMENT_NOT_FOUND,
PATH_ELEMENT_NOT_EMBEDDABLE,
PATH_NOT_FOUND,
DB_TYPE_NOT_DETERMINED,
FILE_NOT_FOUND,
MISSING_ONE_TO_ONE_ANNOTATION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ public JPAAssociationPath getPath() throws ODataJPAModelException {
}

private class AssociationPath implements JPAAssociationPath {

private List<IntermediateJoinColumn> joinColumns = null;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ ODataJPAModelException.EXTENSION_PROVIDER_WRONG_PARAMETER = The constructor of q
ODataJPAModelException.NAVI_PROPERTY_NOT_FOUND = Could not determine the target for navigation property '%1$s' of type '%2$s'.
ODataJPAModelException.PATH_ELEMENT_NOT_FOUND = Element '%1$s' of path '%2$s' not found.
ODataJPAModelException.PATH_ELEMENT_NOT_EMBEDDABLE = Element '%1$s' of path '%2$s' should be an embeddable type.
ODataJPAModelException.PATH_NOT_FOUND = Path for '%1$s' not found.

ODataJPAModelException.REFERENCED_PROPERTY_NOT_FOUND = Error when creating Referential Constraints for '%1$s': Property for '%2$s' not found at '%3$s'.
ODataJPAModelException.INHERITANCE_NOT_ALLOWED = Abstract entity type '%1$s' must not inherit from a non-abstract entity type '%2$s'.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
import com.sap.olingo.jpa.metadata.core.edm.mapper.extension.IntermediateReferenceList;
import com.sap.olingo.jpa.metadata.core.edm.mapper.util.AnnotationTestHelper;
import com.sap.olingo.jpa.metadata.core.edm.mapper.util.MemberDouble;
import com.sap.olingo.jpa.metadata.odata.v4.core.terms.GenaralProperty;
import com.sap.olingo.jpa.metadata.odata.v4.core.terms.GeneralProperty;
import com.sap.olingo.jpa.metadata.odata.v4.core.terms.Terms;
import com.sap.olingo.jpa.metadata.odata.v4.general.Aliases;
import com.sap.olingo.jpa.metadata.odata.v4.provider.JavaBasedCoreAnnotationsProvider;
Expand Down Expand Up @@ -971,7 +971,7 @@ void checkGetAnnotationValueSimpleProperty() throws ODataJPAModelException {
final Attribute<?, ?> jpaAttribute = helper.getAttribute(helper.getEntityType(
AnnotationsParent.class), "area");
final IntermediateProperty property = new IntermediateSimpleProperty(nameBuilder, jpaAttribute, helper.schema);
final var act = property.getAnnotationValue(Aliases.CORE, Terms.COMPUTED_DEFAULT_VALUE, GenaralProperty.VALUE,
final var act = property.getAnnotationValue(Aliases.CORE, Terms.COMPUTED_DEFAULT_VALUE, GeneralProperty.VALUE,
Boolean.class);
assertNotNull(act);
assertTrue(act);
Expand All @@ -984,7 +984,7 @@ void checkGetAnnotationVaueReturnsNullAliasUnknown() throws ODataJPAModelExcepti
AnnotationsParent.class), "area");
final IntermediateProperty property = new IntermediateSimpleProperty(nameBuilder, jpaAttribute, helper.schema);
assertNull(property.getAnnotationValue(Aliases.CAPABILITIES.alias(), Terms.COMPUTED_DEFAULT_VALUE.term(),
GenaralProperty.VALUE.property()));
GeneralProperty.VALUE.property()));
}

@Test
Expand Down
2 changes: 1 addition & 1 deletion jpa/odata-jpa-odata-vocabularies/pom.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sap.olingo</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.sap.olingo.jpa.metadata.odata.v4.core.terms;

import com.sap.olingo.jpa.metadata.core.edm.extension.vocabularies.PropertyAccess;

public enum GeneralProperty implements PropertyAccess {
VALUE("Value");

private final String property;

GeneralProperty(final String property) {
this.property = property;
}

@Override
public String property() {
return property;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,46 @@
import jakarta.persistence.metamodel.Metamodel;

import com.sap.olingo.jpa.metadata.core.edm.mapper.api.JPAServiceDocument;
import com.sap.olingo.jpa.processor.cb.ProcessorSqlPatternProvider;
import com.sap.olingo.jpa.processor.cb.impl.EntityManagerWrapper;

public final class EntityManagerFactoryWrapper implements EntityManagerFactory {
private final EntityManagerFactory emf;
private final JPAServiceDocument sd;
private final ProcessorSqlPatternProvider pattern;

public EntityManagerFactoryWrapper(final EntityManagerFactory emf, final JPAServiceDocument sd) {
public EntityManagerFactoryWrapper(final EntityManagerFactory emf, final JPAServiceDocument sd,
final ProcessorSqlPatternProvider pattern) {
super();
this.emf = emf;
this.sd = sd;
this.pattern = pattern;
}

@Override
public EntityManager createEntityManager() {
return new EntityManagerWrapper(emf.createEntityManager(), sd);
return new EntityManagerWrapper(emf.createEntityManager(), sd, pattern);
}

@Override
public EntityManager createEntityManager(@SuppressWarnings("rawtypes") final Map map) {
return new EntityManagerWrapper(emf.createEntityManager(map), sd);
return new EntityManagerWrapper(emf.createEntityManager(map), sd, pattern);
}

@Override
public EntityManager createEntityManager(final SynchronizationType synchronizationType) {
return new EntityManagerWrapper(emf.createEntityManager(synchronizationType), sd);
return new EntityManagerWrapper(emf.createEntityManager(synchronizationType), sd, pattern);
}

@Override
public EntityManager createEntityManager(final SynchronizationType synchronizationType,
@SuppressWarnings("rawtypes") final Map map) {
return new EntityManagerWrapper(emf.createEntityManager(synchronizationType, map), sd);
return new EntityManagerWrapper(emf.createEntityManager(synchronizationType, map), sd, pattern);
}

@Override
public CriteriaBuilder getCriteriaBuilder() {
try (EntityManager em = new EntityManagerWrapper(emf.createEntityManager(), sd)) {
try (EntityManager em = new EntityManagerWrapper(emf.createEntityManager(), sd, pattern)) {
return em.getCriteriaBuilder();
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.sap.olingo.jpa.processor.cb.exceptions;

public class SqlParameterException extends RuntimeException {

/**
*
*/
private static final long serialVersionUID = 3404311627671683055L;

public SqlParameterException(final String message) {
super(message);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,11 @@ List<Path<Object>> resolvePathElements() {
try {
if (!attribute.isComplex()) {
final JPAStructuredType source = attribute.asAssociation().getSourceType();
pathList.add(new PathImpl<>(source.getPath(attribute.asAssociation().getAlias()),
parent, st, tableAlias));
final var associationPath = source.getPath(attribute.asAssociation().getAlias());
if (associationPath != null)
pathList.add(new PathImpl<>(associationPath, parent, st, tableAlias));
else
throw new IllegalStateException();
} else {
final JPAStructuredType source = attribute.getStructuredType();
for (final JPAPath p : source.getPathList()) {
Expand Down
Loading

0 comments on commit decffc8

Please sign in to comment.