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

6 comments
Comment actions Permalink

I see almost no stacktrace. Could you please post the complete one?

0
Comment actions Permalink

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

0
Comment actions Permalink

This was caused by a missing icon in 12. It should be fixed in upcoming 12.0.2.


0
Comment actions Permalink

On 2013-01-14 16:09, Yann Cebron wrote:

This was caused by a missing icon in 12. It should be fixed in upcoming 12.0.2.


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)

0
Comment actions Permalink

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.<init>(ImageIcon.java:205)
     at com.sixrr.metrics.utils.IconHelper.getIcon(IconHelper.java:32)
     at
com.sixrr.metrics.ui.metricdisplay.MetricsConfigurationPanel.createUIComponents(MetricsConfigurationPanel.java:646)


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?

0
Comment actions Permalink

On 2013-01-14 16:09, Yann Cebron wrote:

This was caused by a missing icon in 12. It should be fixed in upcoming 12.0.2.


...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


0

Please sign in to leave a comment.