geronimo-xbean-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Benson (JIRA)" <>
Subject [jira] [Commented] (XBEAN-265) Regression: cannot find subclasses/implementations of "external" classes after forcing ClassInfo.get()
Date Mon, 19 May 2014 22:13:38 GMT


Matt Benson commented on XBEAN-265:

If there is some piece of the async finder depending on the absence of this call, there should
be a unit test demonstrating so and enforcing that it doesn't get broken in the future. Alternatively,
the code could be overridden in the async subclass to accomplish its purposes. In any case,
the fact remains that code that used to work now doesn't. The introduction of such regressions
should be avoided if at all possible, and conspicuously documented otherwise, probably with
an accompanying major revision bump.

You say it is "intended" that xbean-finder can only find subclasses of archive entries; I
can't comprehend how you can say so. By this logic, such a use-case as scanning a CDI bean
archive for implementations of {{javax.enterprise.inject.spi.Extension}} is not intended to
be supported. Is that what you're telling me?

I still don't grok how I am supposed to use a fully classloader-based archive to tell me which
classes in a specific archive/directory location extend/implement some class/interface that
lives in a different archive. Even if this is doable it's certainly far more complicated than
the basic {{FileArchive}}-based approach which, until v3.15, worked.

> Regression: cannot find subclasses/implementations of "external" classes after forcing
> ------------------------------------------------------------------------------------------------------
>                 Key: XBEAN-265
>                 URL:
>             Project: XBean
>          Issue Type: Bug
>          Components: finder
>    Affects Versions: 3.15, 3.16, 3.17
>            Reporter: Matt Benson
>              Labels: patch, test
> By "external" I mean available in the archive's classloader but not its iterated entries.
In general it is rather difficult to test the class-based portion of {{AnnotationFinder}}'s
implementation, but it can be done by calling {{#findAnnotatedClasses()}} before {{#link()}}.
Then it is possible to demonstrate the problem.

This message was sent by Atlassian JIRA

View raw message