IDEA 5.1 no longer asks to search for uses of EJB Interface
Before 5.1, if I did a Find Usages on an EJB Method, IDEA would ask me if I wanted to search for uses from the EJB Interface. It no longer asks me that, and thus finds no usages of the methods. Is this a known issue?
Patrick
Please sign in to leave a comment.
"Patrick Burleson" <pbur@yahoo.com> wrote in message
news:25155869.1140195021172.JavaMail.javamailuser@localhost...
>
Everything seems to be working. Could you describe your situation with more
details?
Hello Peter,
PG> Everything seems to be working. Could you describe your situation
PG> with more details?
I'm seeing this problem as well. In my codebase both local and remote interfaces
are defined for bean methods.
While IDEA shows the implements icon correctly (and navigates to the appropriate
interface method when selected from the drop down) it fails to ask if searches
should be performed for interfaces as well. Initiating the search from an
interface method does bring up results.
Best,
Andrei
Peter Gromov (JetBrains) wrote:
I can reproduce this as well in #4155. Find Usages on the EJB-interface works,
but it doesn't work when invoked on the bean-method that "implements" the
interface.
In my case, interface/implementation and the actual usage are in different
modules (ejb/java module) if that matters.
Sascha
Yes, really, when there are several interfaces, no dialog is shown. Was
shown... Now fixed.
"Andrei Oprea" <andrei.oprea@rogers.com> wrote in message
news:6f7635fab5248c804170f025648@news.intellij.net...
>
>
>
>
Is there going to be a 5.1.1 that will include this fix? I don't think I can wait till the end of Demetra for it. :)
Patrick
Hello Peter,
PG> Yes, really, when there are several interfaces, no dialog is shown.
PG> Was shown... Now fixed.
PG>
Great. Is the fix going to take care of the method call hierarchy view, too?
Right now the connection between the ejb implementation and interface is
lost there as well.
Thx,
Andrei
This is still a problem in 5.1.2
I thought it had gone away in 5.1.1, but it was a problem there as well.
I've cleared out my caches and had IDEA rebuild those. Still not working.
Patrick
It isn't included in 5.1.2 builds, because it uses some parts that have
appeared only in Demetra. It was too hard to do repeat changes in 5.1.2.
"Patrick Burleson" <no_reply@jetbrains.com> wrote in message
news:12703436.1151444881707.JavaMail.itn@is.intellij.net...
>
>
>
This has worked since 3.0 or so. It was broken in 5.1. I wouldn't expect to have to wait for the whole next version to get something that has been working for years.
Patrick
If there were (and there were) several EJB interfaces, usages of only one of
them were found. Is it what you call "worked"?
Here is what "worked" for me. IDEA would recognize that the current class implemented the Interface for an EJB. (We only have one interface for the EJB, the one we have in the descriptor) IDEA would then prompt with "Would you like to search for uses of the method on the interface?". I would say "Yes", and viola, all uses found.
Now, it doesn't recognize this for the purposes of "Find Usages", although it does for the purposes of code parsing since I have the "Implements interface" icon next to the method name. I can click on that and it takes me to the correct interface file. So IDEA knows that this is an EJB and is implementing an Interface it doesn't explicitly implement in it's class declaration.
It's been broken since 5.1 this way, and again, it "worked" since 3.0 recognized EJBs. I definitely consider it "broken" now. 5.1 is a backwards step in functionality.
Patrick
In descriptor we usually have four interfaces: remote, home, local, local
home. IntelliJ IDEA could search for usages from only one interface, I'm not
sure from which one. At some moment, yes, you're right, this became broken.
Unfortunately, too much had changed already in the Java EE part of IDEA, so
it was hardly possible to reflect these changes with fixes back to the old
codebase, so it was decided to fix this for Demetra. Sorry. Now usages from
all possible interfaces are found.
I understand that before the search might not have been complete, missing either the local or remote interface. But the way it was working before was fine for me. It worked (i.e. prompted to find usages of the Remote Interface) in 5.0.x and stopped working in 5.1 . I couldn't care less if it's going to change in 6.0. It's been broken in the 5.1 series and I don't think it's right to say because it's been fixed differently in 6.0 that I can't have a feature I used to have in 5.1 . That would mean I would have to pay again to get a feature I already had. I consider it a bug in 5.1 that it doesn't search for any usages of any interface and it should be fixed. Bring in back the old "broken" way for all I care. I just want it back. Right now, IDEA does not work as I expect it to. Especially since my expectation was set by several versions dating back several years.
Patrick