Community
Participate
Working Groups
Build Identifier: I just updated my Tigerstripe code base and ran some sanity testing. When I changed the dependency of a project in Tigerstripe descriptor file and saved it, I got the following NPE: java.lang.NullPointerException at org.eclipse.tigerstripe.workbench.internal.api.impl.TigerstripeProjectHandle.addProjectDependencyChangeListener(TigerstripeProjectHandle.java:508) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.depsdiagram.TigerstripeSubjectsFactory.listen(TigerstripeSubjectsFactory.java:47) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.depsdiagram.TigerstripeSubjectsFactory.getSubject(TigerstripeSubjectsFactory.java:41) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.depsdiagram.TigerstripeDependenciesDiagram.getRootModel(TigerstripeDependenciesDiagram.java:36) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.depsdiagram.AbstractTigerstripeDependenciesDiagram$2.getRootExternalModel(AbstractTigerstripeDependenciesDiagram.java:64) at org.eclipse.tigerstripe.workbench.ui.dependencies.diagram.ui.editor.DependencyDiagramHandler.update(DependencyDiagramHandler.java:94) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.depsdiagram.TigerstripeSubjectsFactory$2.originalChanged(TigerstripeSubjectsFactory.java:87) at org.eclipse.tigerstripe.workbench.internal.WorkingCopyManager.notifyListeners(WorkingCopyManager.java:139) at org.eclipse.tigerstripe.workbench.internal.WorkingCopyManager.commit(WorkingCopyManager.java:111) at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.DescriptorEditor.doSave(DescriptorEditor.java:230) at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:151) at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:277) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2600) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:285) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:264) at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:156) at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1369) at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3334) at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3347) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1031) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3775) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1404) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1400) at org.eclipse.swt.widgets.Table.sendKeyEvent(Table.java:2986) at org.eclipse.swt.widgets.Control.keyDown(Control.java:2095) at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:600) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4978) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220) at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:1943) at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2008) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5040) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4582) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4659) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:115) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3274) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) From the CVS history, it looks like TigerstripeProjectHandle has been modified yesterday. Reproducible: Always
Note, this will only happen if I add a Tigerstripe module (JAR file) to a project's dependency.
Created attachment 189560 [details] Patch Fixed.
Patch applied.
Verified. Thanks you!!!