Sorry -- I see that I am confused about interceptors. Thank you
Steve for jogging my memory.
Currently there is a TCK on the Interceptors 2.1 specification
page -- That TCK link points to CDI 4 TCK. Previously versions
of Interceptors used the Platform TCK. I now recall that we
couldn't use the Platform TCK at the time we wanted to finalize
CDI and CDI has a dependency on Interceptors.
We now have a TCK tracking/consistency issue -- Interceptors
refers to CDI 4.0.0 TCK, but CDI is up to 4.0.6.
The CDI TCK user documentation and it doesn't explicitly state
that implementations that pass the CDI TCK qualify as compatible
for Interceptor compatibility (it does say there are lots of
tests but nothing formally conveying a compatibility statement).
I think we want the CDI documents to say that. In the Platform
TCK User Guide it is very explicit: "Jakarta EE 10 Platform TCK
provides compatibility certification verification for
implementations contained in the Platform for the following
component specifications:" (Interceptors appears in the
following bullet list)
In the GlassFish CDI test run (using CDI 4), there are 108
references to Interceptor in the test result. In the Platform
TCK test results, there are 175 tests. This needs to be
reconciled so that we can be confident that the TCK results in
consistent and compatible implementations of Interceptor
functionality. The two suites would, ideally use the same tests
for interceptors (and some of the tests with keyword interceptor
may be CDI specific, not necessarily Interceptor specific).
I know the subject of reorganizing Interceptors to be part of
CDI was raised but I don't recall us making any formal decision
about that. I suspect I was (and likely still would be)
reluctant to actually support that change. I am certain that I
at least stressed caution about not having the same tests in
both places.
I think we need to formally decide what we are going to do with
this -- I guess for EE 11. There are differences between what is
tested (or at least reported) by the CDI and Platform TCK under
the keyword Interceptor. This may cause problems if someone were
to complete their certification using only the CDI TCK only
later to find problems when they attempt to complete a Platform
certification that then asserts problems with their (previously
validated) Interceptor implementation.
Since the Platform Spec. team is currently the 'owner' of
Interceptors, that problem would come to this team.
If it's possible, I think the best would be to refactor what
remains in the Platform TCK -- into an independent TCK. Would
this be feasible for EE 11 or was there some structural problem
with creating this as a completely separate TCK? How much
investigation about this has already been accomplished?
More specifically, we are currently covering 100% of Interceptors
2.1 compatibility testing with the Jakarta Contexts Dependency
Injection 4.0 TCK. The Platform TCK for EE 10 also does use the
Interceptors SPEC API for compatibility testing of Jakarta
Transactions and Jakarta Enterprise Beans.