[
https://issues.jboss.org/browse/JBIDE-9790?page=com.atlassian.jira.plugin...
]
Denis Maliarevich resolved JBIDE-9790.
--------------------------------------
Resolution: Done
Resolved.
ClassCastException with VpeElementMapping use
---------------------------------------------
Key: JBIDE-9790
URL:
https://issues.jboss.org/browse/JBIDE-9790
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Visual Page Editor core, Visual Page Editor Templates
Affects Versions: 3.3.0.M3
Reporter: Vitali Yemialyanchyk
Assignee: Denis Maliarevich
Priority: Optional
Fix For: 3.3.0.Beta1
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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira