Compare Directories plugin exception

I'm a big fan of the Compare Directory plugin, and I've just tried using it with the new EAP (9684) but it fails with a NoSuchMethodError

It seems com.intellij.ui.content.ContentManager#setSelectedContent(@NotNull Content content, boolean requestFocus); has changed signature and now returs an ActionCallback, so the plugin has to be rebuilt.

Olivier, are you still maintaining it ?

Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(121,310),absolute(188,356),button=1,modifiers=Button1,clickCount=1] on ###overrideRedirect###: com.intellij.ui.content.ContentManager.setSelectedContent(Lcom/intellij/ui/content/Content;Z)V
java.lang.NoSuchMethodError: com.intellij.ui.content.ContentManager.setSelectedContent(Lcom/intellij/ui/content/Content;Z)V
    at org.intellij.idea.dirdiff.view.CompareDirectoryView.addPanel(CompareDirectoryView.java:50)
    at org.intellij.idea.dirdiff.action.CompareDirectoryAction.actionPerformed(CompareDirectoryAction.java:134)
    at org.intellij.idea.dirdiff.action.CompareDirectoryMenuBarAction.actionPerformed(CompareDirectoryMenuBarAction.java:28)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:17)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:41)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:65)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:129)
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:5)
    at java.awt.Component.processMouseEvent(Component.java:6134)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5899)
    at java.awt.Container.processEvent(Container.java:2023)
    at java.awt.Component.dispatchEventImpl(Component.java:4501)
    at java.awt.Container.dispatchEventImpl(Container.java:2081)
    at java.awt.Component.dispatchEvent(Component.java:4331)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
    at java.awt.Container.dispatchEventImpl(Container.java:2067)
    at java.awt.Window.dispatchEventImpl(Window.java:2458)
    at java.awt.Component.dispatchEvent(Component.java:4331)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:35)
    at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:223)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:217)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

4 comments
Comment actions Permalink

Hello Thibaut,

I'm a big fan of the Compare Directory plugin, and I've just tried
using it with the new EAP (9684) but it fails with a NoSuchMethodError

It seems
com.intellij.ui.content.ContentManager#setSelectedContent(@NotNull
Content content, boolean requestFocus); has changed signature and now
returs an ActionCallback, so the plugin has to be rebuilt.


Don't hurry to fix this - we plan to restore the API compatibility in 8.1
final release.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Dmitry,

Is the old signature of the method com.intellij.ui.content.ContentManager.setSelectedContent(Content, boolean) to be deprecated?

In other words, even though the API compatibility is restored for this method in the 8.1 final release, should I better adapt the plugin for future IDEA releases and make it use the new method signature?

Thanks,
Olivier.

PS: Thibaut, yes, I still maintain the plugin. But I have to admit I didn't look at the forum for some time now.
And last time I checked whether the plugin was still working fine was for the IDEA 8 major release. I didn't think IDEA8.1 would be a problem (thanks for your mail then).

0
Comment actions Permalink

Olivier, was just wondering, as I didn't you see posting in a while
And, as I already delved in the plugin source, and because I find it very valuable, I was willing to offer help if needed.
Happy to hear you're still taking good care of it though !

0
Comment actions Permalink

Hello Olivier,

Is the old signature of the method
com.intellij.ui.content.ContentManager.setSelectedContent(Content,
boolean) to be deprecated?

In other words, even though the API compatibility is restored for this
method in the 8.1 final release, should I better adapt the plugin for
future IDEA releases and make it use the new method signature?


No, the old signature will not be deprecated. There will be a new method
returning ActionCallback.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Please sign in to leave a comment.