-
Bug
-
Resolution: Done
-
Optional
-
3.3.0.M3
-
None
Casting ((VpeTemplateSafeWrapper)elementMapping.getTemplate()) in VpeVisualDomBuilder.java produces the exception.
Thus "elementMapping.getTemplate()" should return VpeTemplateSafeWrapper type.
VpeElementMapping expected VpeTemplate as one of parameters in constructor, but in VpeVisualDomBuilder in line function stopToggle (line 940) it cast elementMapping.getTemplate() to VpeTemplateSafeWrapper, i.e. by default it expect VpeTemplateSafeWrapper in VpeElementMapping. You should update VpeElementMapping so it expect VpeTemplateSafeWrapper or wrap VpeTemplate to VpeTemplateSafeWrapper in VpeElementMapping. Cause we get such exception:
java.lang.ClassCastException: com.hp.dcp.ve.ui.template.JSPCustomTagTemplate cannot be cast to org.jboss.tools.vpe.editor.template.VpeTemplateSafeWrapper
at org.jboss.tools.vpe.editor.VpeVisualDomBuilder.stopToggle(VpeVisualDomBuilder.java:940)
at org.jboss.tools.vpe.editor.VpeController.notifyChangedInUiThread(VpeController.java:730)
at org.jboss.tools.vpe.editor.VpeController$1.runInUIThread(VpeController.java:554)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:344)
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:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
of course we can fix it on our side - but you should make your code safe to prevent such errors.
- is related to
-
JBIDE-9339 VPE should have better exceptions handling related to third party templates
- Closed