[
https://issues.apache.org/jira/browse/TAMAYA-326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
William Lieurance updated TAMAYA-326:
-------------------------------------
Description:
While adding some test coverage on the api, I found that
org.apache.tamaya.spi.ServiceContextManager has a bug as it searches for the
default service provider in loadDefaultServiceProvider. Namely, the
"highestOrdinal" is not set after the first service provider is found, so any
following service provider with an ordinal higher than 0 will be used, even if
that ordinal is lower than the first one's.
I modified the test ServiceContext to demonstrate the bug, as well as fixed the
logic on my branch in github. Note that if you run the tests against the
ServiceContextManager as-is, they will fail.
https://github.com/peculater/incubator-tamaya/commit/320d018566b5f32afecb79d33109e3c4606ba782
is the commit
[https://github.com/peculater/incubator-tamaya/tree/TAMAYA-326] is the branch
was:
While adding some test coverage on the api, I found that
org.apache.tamaya.spi.ServiceContextManager has a bug as it searches for the
default service provider in loadDefaultServiceProvider. Namely, the
"highestOrdinal" is not set after the first service provider is found, so any
following service provider with an ordinal higher than 0 will be used, even if
that ordinal is lower than the first one's.
I modified the test ServiceContext to demonstrate the bug, as well as fixed the
logic on my branch in github. Note that if you run the tests against the
ServiceContextManager as-is, they will fail.
> ServiceLoader picks second available service provider even if the ordinal is
> lower
> ----------------------------------------------------------------------------------
>
> Key: TAMAYA-326
> URL: https://issues.apache.org/jira/browse/TAMAYA-326
> Project: Tamaya
> Issue Type: Bug
> Reporter: William Lieurance
> Priority: Major
>
> While adding some test coverage on the api, I found that
> org.apache.tamaya.spi.ServiceContextManager has a bug as it searches for the
> default service provider in loadDefaultServiceProvider. Namely, the
> "highestOrdinal" is not set after the first service provider is found, so any
> following service provider with an ordinal higher than 0 will be used, even
> if that ordinal is lower than the first one's.
> I modified the test ServiceContext to demonstrate the bug, as well as fixed
> the logic on my branch in github. Note that if you run the tests against the
> ServiceContextManager as-is, they will fail.
> https://github.com/peculater/incubator-tamaya/commit/320d018566b5f32afecb79d33109e3c4606ba782
> is the commit
> [https://github.com/peculater/incubator-tamaya/tree/TAMAYA-326] is the branch
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)