MetricsReloaded no longer working
I used MetricsReloaded successfully a few months ago but now it seems to
have stopped working due to not finding an icon (see the bottom of the
stack trace) -- maybe due to the UI changes in IDEA 12?
com.sixrr.metrics.plugin.MetricsPluginImpl@5ce031
java.lang.ExceptionInInitializerError
at
com.sixrr.metrics.ui.metricdisplay.MetricsToolWindowImpl.(UpdateMetricsViewAction.java:33)
... 44 more
Please sign in to leave a comment.
I see almost no stacktrace. Could you please post the complete one?
I can see it in the newsgroups, but apparently the gateway didn't bring the entire stack trace over to the forum. Here's another attempt:
com.sixrr.metrics.plugin.MetricsPluginImpl@5ce031
java.lang.ExceptionInInitializerError
at com.sixrr.metrics.ui.metricdisplay.MetricsToolWindowImpl.<init>(MetricsToolWindowImpl.java:54)
at com.sixrr.metrics.plugin.MetricsPluginImpl.projectOpened(MetricsPluginImpl.java:55)
at com.intellij.openapi.project.impl.ProjectImpl.c(ProjectImpl.java:415)
at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:75)
at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:451)
at com.intellij.openapi.project.impl.ProjectManagerImpl$2.projectOpened(ProjectManagerImpl.java:153)
at com.intellij.openapi.project.impl.ProjectManagerImpl.d(ProjectManagerImpl.java:1030)
at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:408)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:473)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:176)
at com.intellij.ide.RecentProjectsManager.doOpenProject(RecentProjectsManager.java:46)
at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:304)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:109)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:230)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:222)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:212)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:43)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:135)
at $Proxy38.appStarting(Unknown Source)
at com.intellij.idea.IdeaApplication.d(IdeaApplication.java:357)
at com.intellij.idea.IdeaApplication.access$500(IdeaApplication.java:60)
at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:324)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:333)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:673)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:498)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:333)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Caused by: java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at com.sixrr.metrics.utils.IconHelper.getIcon(IconHelper.java:32)
at com.sixrr.metrics.ui.metricdisplay.UpdateMetricsViewAction.<clinit>(UpdateMetricsViewAction.java:33)
... 44 more
This was caused by a missing icon in 12. It should be fixed in upcoming 12.0.2.
On 2013-01-14 16:09, Yann Cebron wrote:
Yes, it's working now, at least to the extent that I can calculate
metrics for existing profiles. If I want to edit the profile, though, I
get the following when I click the "..." button in the dialog (let's see
if it gets through from the newsgroup into the forum):
Error during dispatching of
java.awt.event.MouseEvent[MOUSE_RELEASED,(312,296),absolute(1096,682),button=1,modifiers=Button1,clickCount=1]
on dialog3
java.lang.NullPointerException
at javax.swing.ImageIcon.(MetricsConfigurationPanel.java:104)
at
com.sixrr.metrics.ui.dialogs.ProfileSelectionPanel$3.actionPerformed(ProfileSelectionPanel.java:105)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:673)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:494)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:333)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:155)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1077)
at
com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.a(DialogWrapperPeerImpl.java:727)
at
com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:723)
at
com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:425)
at
com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1438)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1414)
at
com.intellij.analysis.BaseAnalysisAction.actionPerformed(BaseAnalysisAction.java:104)
at
com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:255)
at
com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:892)
at
com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:114)
at
com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:226)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at
com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:100)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:512)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:44)
at
com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:532)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:673)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:494)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:333)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
According to
https://svn.jetbrains.org/idea/Trunk/Metrics/src/com/sixrr/metrics/ui/metricdisplay/MetricsConfigurationPanel.java
this method contains the following code:
IconHelper.getIcon("/icons/inspector/expandall.png")
IconHelper.getIcon("/icons/inspector/collapseall.png")
IconHelper.getIcon("/ant/filter.png")
Looking at icons.jar, it seems this should be:
IconHelper.getIcon("/actions/expandall.png")
IconHelper.getIcon("/actions/collapseall.png")
IconHelper.getIcon("/general/filter.png")
And in EditThresholdsAction:
IconHelper.getIcon("/compiler/error.png")
==> IconHelper.getIcon("/general/error.png") ?
Is there anyone who'd like to fix this in the source so that
MetricsReloaded profiles can be edited using IDEA 12?
On 2013-01-14 16:09, Yann Cebron wrote:
...and unfixed in 126.330.
com.sixrr.metrics.plugin.MetricsPluginImpl@1a0a437
java.lang.ExceptionInInitializerError
at
com.sixrr.metrics.ui.metricdisplay.MetricsToolWindowImpl.(UpdateMetricsViewAction.java:33)
... 44 more