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

Bug 318834

Summary: The save option in VEX is returning error : "Error <name>.xml cannot be saved : null"
Product: z_Archived Reporter: NS Gopikrishnan <nksgopikrishnan>
Component: MylynAssignee: Florian Thienel <florian>
Status: CLOSED FIXED QA Contact: Holger Voormann <eclipse>
Severity: major    
Priority: P3 CC: florian
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
This is a sample docbook XML. none

Description NS Gopikrishnan CLA 2010-07-05 01:58:17 EDT
Build Identifier: M20100211-1343

This error pops up after we edit the document and try to save it. Due to this error I am not able to save the document.

As a part of our documentation tool we are planning to use vex in our organization. It will be a great help if you are able to help us with developing VEX.

Reproducible: Always

Steps to Reproduce:
1.Open some XML (DITA, DocBook or any custom DTDs)
2.Make some changes in the View
3.Try saving the XML. (Ctrl+S or File->Save)
Comment 1 Florian Thienel CLA 2010-07-05 02:57:49 EDT
Can you give us some more information about the problem:
- the build date of Vex
- a stacktrace from the error log
- What kind of changes do you do?

(In reply to comment #0)
> Build Identifier: M20100211-1343
> 
> This error pops up after we edit the document and try to save it. Due to this
> error I am not able to save the document.
> 
> As a part of our documentation tool we are planning to use vex in our
> organization. It will be a great help if you are able to help us with
> developing VEX.
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1.Open some XML (DITA, DocBook or any custom DTDs)
> 2.Make some changes in the View
> 3.Try saving the XML. (Ctrl+S or File->Save)
Comment 2 NS Gopikrishnan CLA 2010-07-05 03:11:50 EDT
I am able to build VEX from source. But when I run that in a new instance of eclipse, VEX is not loading any document. It doesn't show any dialog to select the document type, And also, it shows only : "Loading" in the Document area. No further progress after that.

I got this error message with the VEX build that I obtained from the incubator continuous builds.

The kind of changes I do : "Simple text editing like adding a word, Deleting etc..."

*Following is the stacktrace:

eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product


Error
Mon Jul 05 12:40:33 IST 2010
Error saving sample.xml: null

java.lang.NullPointerException
at org.eclipse.wst.xml.vex.core.internal.validator.WTPVEXValidator.getAttributeDefinition(WTPVEXValidator.java:81)
at org.eclipse.wst.xml.vex.core.internal.dom.DocumentWriter.attrHasDefaultValue(DocumentWriter.java:355)
at org.eclipse.wst.xml.vex.core.internal.dom.DocumentWriter.addNode(DocumentWriter.java:307)
at org.eclipse.wst.xml.vex.core.internal.dom.DocumentWriter.writeNode(DocumentWriter.java:238)
at org.eclipse.wst.xml.vex.core.internal.dom.DocumentWriter.write(DocumentWriter.java:164)
at org.eclipse.wst.xml.vex.ui.internal.editor.VexEditor.doSave(VexEditor.java:161)
at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:151)
at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274)
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:2579)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282)
at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261)
at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:156)
at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1357)
at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3328)
at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3341)
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:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1208)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4053)
at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3946)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4619)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2411)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3501)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
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:368)
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:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Comment 3 Florian Thienel CLA 2010-07-05 05:18:53 EDT
(In reply to comment #2)
Could you also attach a small example document where the problem is reproducable?
Comment 4 NS Gopikrishnan CLA 2010-07-05 05:27:47 EDT
Created attachment 173399 [details]
This is a sample docbook XML.

This is a sample docbook (XML. The XML was properly formatted in the view according to the CSS.)
Comment 5 Florian Thienel CLA 2010-07-05 05:39:15 EDT
(In reply to comment #4)
Thanks, I can reproduce the problem now. I'll have a look at it tonight (CEST).
Comment 6 Florian Thienel CLA 2010-07-05 16:19:11 EDT
The document defines a namespace in the root element and the attribute "xmlns" is not defined in the DTD. XML namespaces are not supported yet (see bug 253753). 

It is not possible to enter undefined attributes, but Vex should be able to handle documents that contain undefined attributes. The validator uses a default AttributeDefinition in this case.
Comment 7 Florian Thienel CLA 2010-07-05 16:28:15 EDT
The fix is available with the current CI build.
Comment 8 Holger Voormann CLA 2010-07-05 16:54:36 EDT
Change reviewed: +1 (no comment)
NS Gopikrishnan, thx for reporting.
Florian, wow, you are really fast! :-))
Comment 9 NS Gopikrishnan CLA 2010-07-06 02:16:29 EDT
(In reply to comment #8)
> Change reviewed: +1 (no comment)
> NS Gopikrishnan, thx for reporting.
> Florian, wow, you are really fast! :-))

Thanks Florian :) Yes you are fast !!!

I would like to contribute to VEX, Can you people help me with setting up the workspace and dependencies ?

(Sorry that I am unable to find a mailing list specific to this project, Else I would have posted this there)
Comment 10 Florian Thienel CLA 2011-11-09 17:37:25 EST
Moved to Mylyn Docs Vex.