NPE in VexAnnotationTracker in combination with image link editor [was #8224]
{quote}
Hallo Thorsten,
in der Stelle net.sf.vex.layout.VexAnnotationTracker.putAnnotation(VexAnnotationTracker.java:132) bekomme ich oft NPE, wenn ich mit invalide XML-Dokumente arbeite und z.B. eine Annotation einfügen will.
Der Grund ist (linkedDocument == null).
Ich finde es sinnvoller, wenn man eine Warning oder irgendeine andere Fehlermeldung bekommt, anstatt der NPE.
Zu reproduzieren:
- Im TBLE ein ein invalides Dokument wie "hallo <p " erstellen.
- Den Text "Hallo" selektieren und mit einem Shape linken.
- Du bekommst eine NPE.
Viele Grüße
Yahya
-------- Original Message --------
Subject: Fehlermeldung TBLE
Date: Mon, 17 May 2010 17:33:45 +0200
From: Dr. phil. Simon Rettelbach <rettelba@uni-trier.de>
To: leuk@uni-trier.de, yahya Al-Hajj <alhajj@Fh-Worms.DE>
Hallo zusammen,
beim Arbeiten im TBL-Editor erhielt ich untenstehende Fehlermeldung. Ich konnte nach
wegklicken aber normal weiterarbeiten.
Viele Grüße
Simon
{code}
java.lang.NullPointerException
at net.sf.vex.layout.VexAnnotationTracker.putAnnotation(VexAnnotationTracker.java:132)
at net.sf.vex.layout.VexAnnotationTracker.modelChanged(VexAnnotationTracker.java:102)
at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged(AnnotationModel.java:612)
at org.eclipse.jface.text.source.AnnotationModel.fireModelChanged(AnnotationModel.java:578)
at org.eclipse.jface.text.source.AnnotationModel.addAnnotation(AnnotationModel.java:447)
at org.eclipse.jface.text.source.AnnotationModel.addAnnotation(AnnotationModel.java:375)
at info.textgrid.lab.linkeditor.controller.LinkEditorController.addAnnotationUnselected(LinkEditorController.java:3363)
at info.textgrid.lab.linkeditor.controller.LinkEditorController.updateTextSegments(LinkEditorController.java:2194)
at info.textgrid.lab.linkeditor.controller.LinkEditorController.access$37(LinkEditorController.java:2184)
at info.textgrid.lab.linkeditor.controller.LinkEditorController$10.documentChanged(LinkEditorController.java:2963)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument._fireDocumentChanged(BasicStructuredDocument.java:456)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.fireStructuredDocumentEvent(BasicStructuredDocument.java:1198)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.internalReplaceText(BasicStructuredDocument.java:1975)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.replaceText(BasicStructuredDocument.java:2415)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.replaceText(BasicStructuredDocument.java:2400)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument.access$2(JobSafeStructuredDocument.java:1)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument$3.run(JobSafeStructuredDocument.java:137)
at org.eclipse.wst.sse.ui.EditorExecutionContext.execute(EditorExecutionContext.java:147)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument.replaceText(JobSafeStructuredDocument.java:144)
at org.eclipse.wst.sse.core.internal.text.BasicStructuredDocument.replace(BasicStructuredDocument.java:2360)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument.access$0(JobSafeStructuredDocument.java:1)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument$1.run(JobSafeStructuredDocument.java:88)
at org.eclipse.wst.sse.ui.EditorExecutionContext.execute(EditorExecutionContext.java:147)
at org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument.replace(JobSafeStructuredDocument.java:95)
at info.textgrid.lab.linkeditor.controller.LinkEditorController.addNewLink(LinkEditorController.java:1730)
at info.textgrid.lab.linkeditor.mip.gui.actiondelegate.CreateLinkActionDelegate.run(CreateLinkActionDelegate.java:10)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
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(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
at info.textgrid.lab.linkeditor.mip.gui.ToolkitDlg.open(ToolkitDlg.java:116)
at info.textgrid.lab.linkeditor.mip.gui.ImagePanel.forceOpenToolkitDialog(ImagePanel.java:185)
at info.textgrid.lab.linkeditor.mip.gui.sessiondelegate.DefaultMIPSession$1.run(DefaultMIPSession.java:61)
at org.eclipse.swt.widgets.Display.runTimer(Display.java:3973)
at org.eclipse.swt.widgets.Display.messageProc(Display.java:3165)
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 info.textgrid.lab.core.application.Application.start(Application.java:28)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLau
ncher.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) {code} {quote}