Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 337663

Summary: NullPointerException on saving Tigerstripe project with defined facet without Facet Output Dir
Product: [Technology] Tigerstripe Reporter: Maria Kolchinskaja <mshulgina>
Component: FacetAssignee: Project Inbox <tigerstripe.facet-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: yuri
Version: unspecified   
Target Milestone: 0.5M0   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
337663 patch none

Description Maria Kolchinskaja CLA 2011-02-20 06:35:17 EST
Build Identifier: 

1. Create Tigerstripe project p1.
2. Create facet 'default.wfc' for p1.
3. In project descriptor open 'Generator Setting' tab.
4. In 'Use facet' field add facet 'default.wfc'
5. Type name of facet output dir in the field and remove it (field should be empty)
6. Click Save button.
The error appears:

Save Failed
java.lang.NullPointerException

java.lang.NullPointerException
at org.eclipse.tigerstripe.workbench.internal.core.util.Util.fixWindowsPath(Util.java:222)
at org.eclipse.tigerstripe.workbench.internal.contract.segment.FacetReference.encode(FacetReference.java:462)
at org.eclipse.tigerstripe.workbench.internal.core.plugin.PluginConfig.buildPluginElement(PluginConfig.java:361)
at org.eclipse.tigerstripe.workbench.internal.core.project.TigerstripeProject.buildPluginsElement(TigerstripeProject.java:426)
at org.eclipse.tigerstripe.workbench.internal.core.project.TigerstripeProject.buildDOM(TigerstripeProject.java:355)
at org.eclipse.tigerstripe.workbench.internal.core.project.TigerstripeProject.write(TigerstripeProject.java:307)
at org.eclipse.tigerstripe.workbench.internal.core.project.TigerstripeProject.asText(TigerstripeProject.java:331)
at org.eclipse.tigerstripe.workbench.internal.api.impl.TigerstripeProjectHandle.reloadFrom(TigerstripeProjectHandle.java:543)
at org.eclipse.tigerstripe.workbench.internal.api.impl.TigerstripeProjectHandle.doCommit(TigerstripeProjectHandle.java:478)
at org.eclipse.tigerstripe.workbench.internal.WorkingCopyManager.commit(WorkingCopyManager.java:107)
at org.eclipse.tigerstripe.workbench.ui.internal.editors.descriptor.DescriptorEditor.doSave(DescriptorEditor.java:227)
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.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent_aroundBody2(Widget.java:1053)
at org.eclipse.swt.widgets.Widget$AjcClosure3.run(Widget.java:1)
at com.xored.tesla.recording.aspects.RecordingAspect.ajc$around$com_xored_tesla_recording_aspects_RecordingAspect$2$2f127892proceed(RecordingAspect.aj:1)
at com.xored.tesla.recording.aspects.RecordingAspect.ajc$around$com_xored_tesla_recording_aspects_RecordingAspect$2$2f127892(RecordingAspect.aj:86)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1051)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI_aroundBody0(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench$AjcClosure1.run(Workbench.java:1)
at com.xored.tesla.recording.aspects.WorkbenchRecordingAspect.ajc$around$com_xored_tesla_recording_aspects_WorkbenchRecordingAspect$2$a7b5a621proceed(WorkbenchRecordingAspect.aj:1)
at com.xored.tesla.recording.aspects.WorkbenchRecordingAspect.ajc$around$com_xored_tesla_recording_aspects_WorkbenchRecordingAspect$2$a7b5a621(WorkbenchRecordingAspect.aj:32)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2439)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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)


Reproducible: Always
Comment 1 Anton Salnik CLA 2011-02-26 00:14:08 EST
Created attachment 189872 [details]
337663 patch
Comment 2 Yuri Strot CLA 2011-02-28 06:35:28 EST
Anton's patch applied.
Comment 3 Maria Kolchinskaja CLA 2011-03-09 02:09:09 EST
Verified