Uploaded image for project: 'BlueJ'
  1. BlueJ
  2. BLUEJ-1093

Can't open documentation for class with no source

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: 4.1.1
    • Fix Version/s: 4.1.2
    • Component/s: PkgMgr
    • Sprint:
      4.1.2

      Description

      If opted-in to the data collection, trying to open the editor (for showing documentation) for a class with no source code fails and results in an exception:

      Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
      	at bluej.collect.CollectUtility.toPath(CollectUtility.java:105)
      	at bluej.collect.CollectUtility.toBodyLocal(CollectUtility.java:113)
      	at bluej.collect.DataCollectorImpl.classEvent(DataCollectorImpl.java:861)
      	at bluej.collect.DataCollectorImpl.openClass(DataCollectorImpl.java:844)
      	at bluej.collect.DataCollector.openClass(DataCollector.java:514)
      	at bluej.pkgmgr.target.ClassTarget.recordOpen(ClassTarget.java:2555)
      	at bluej.editor.moe.MoeEditor.setParent(MoeEditor.java:3726)
      	at bluej.editor.stride.MoeFXTab.setParent(MoeFXTab.java:157)
      	at bluej.editor.stride.FXTabbedEditor.addTab(FXTabbedEditor.java:455)
      	at bluej.editor.stride.FXTabbedEditor.addTab(FXTabbedEditor.java:449)
      	at bluej.editor.moe.MoeEditor.setEditorVisible(MoeEditor.java:629)
      	at bluej.pkgmgr.target.EditableTarget.open(EditableTarget.java:83)
      	at bluej.pkgmgr.target.ClassTarget.doubleClick(ClassTarget.java:2204)
      	at bluej.pkgmgr.target.Target.lambda$new$1(Target.java:144)
      	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
      	at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
      	at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
      	at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
      	at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
      	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
      	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
      	at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
      	at com.sun.glass.ui.View.notifyMouse(View.java:937)
      	at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
      	at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)
      	at java.lang.Thread.run(Thread.java:748)
      

        Attachments

          Activity

            People

            • Assignee:
              nccb Neil Brown
              Reporter:
              davmac Davin McCall
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: