Skip to content

DATACMNS-1142 - Consider @Primary repository in Repositories if context is given. #465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

janzeppenfeld
Copy link
Contributor

In most of the current cases an ApplicationContext is passed to the Repositories constructor which is a ListableBeanFactory but not a ConfigurableListableBeanFactory. We now check whether the given ListableBeanFactory is of type ConfigurableApplicationContext as well because all current contexts implement this interface and therefore can return a ConfigurableListableBeanFactory. This way we can retrieve the bean definition for a repository and can check whether it has been marked as a primary one.

Related tickets: DATACMNS-1448, DATACMNS-1591, DATAREST-923.

  • You have read the Spring Data contribution guidelines.
  • There is a ticket in the bug tracker for the project in our JIRA.
  • You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).

…xt is given.

In most of the current cases an ApplicationContext is passed to the Repositories constructor which is a ListableBeanFactory but not a ConfigurableListableBeanFactory. We now check whether the given ListableBeanFactory is of type ConfigurableApplicationContext as well because all current contexts implement this interface and therefore can return a ConfigurableListableBeanFactory. This way we can retrieve the bean definition for a repository and can check whether it has been marked as a primary one.

Related tickets: DATACMNS-1448, DATACMNS-1591, DATAREST-923.
@mp911de
Copy link
Member

mp911de commented Feb 15, 2021

Thanks a lot. We're going to apply a slightly simplified variant of the fix while retaining your test contribution.

mp911de added a commit that referenced this pull request Feb 15, 2021
…epositories using ApplicationContext.

Closes #1583.
Original pull request: #465.
mp911de pushed a commit that referenced this pull request Feb 15, 2021
mp911de added a commit that referenced this pull request Feb 15, 2021
…epositories using ApplicationContext.

Closes #1583.
Original pull request: #465.
mp911de pushed a commit that referenced this pull request Feb 15, 2021
mp911de added a commit that referenced this pull request Feb 15, 2021
…epositories using ApplicationContext.

Closes #1583.
Original pull request: #465.
mp911de pushed a commit that referenced this pull request Feb 15, 2021
@mp911de
Copy link
Member

mp911de commented Feb 15, 2021

Thank you for your contribution. That's merged, polished, and backported now.

@mp911de mp911de closed this Feb 15, 2021
@mp911de mp911de added this to the 2.3.7 (Neumann SR7) milestone Feb 15, 2021
@janzeppenfeld
Copy link
Contributor Author

Thanks for the feedback and glad to give something back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A general bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants