Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-9790

ClassCastException with VpeElementMapping use

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              dmaliarevich_jira Denis Maliarevich (Inactive)
              vyemialyanchyk_jira Vitali Yemialyanchyk (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: