Topic
  • 4 replies
  • Latest Post - ‏2010-06-25T14:09:57Z by DGawron
SystemAdmin
SystemAdmin
532 Posts

Pinned topic ClassCastException when fetching datasource names for Data View Builder

‏2010-06-23T19:33:20Z |
I'm running Eclipse with the WPF plugin in 64-bit Ubuntu 10.04 (Lucid Lynx). Eclipse was started using the -vm option with the ibm-java-x86_64-60 IBM JDK.

I created a new model and added a Data View builder. When I click on the databuild radio button and then the "Fetch Datasource Names" button I get a Designer error as follows:

"rror running processInputChange method on the following coordinator class: com.bowstreet.builders.webapp.ui.DataViewPortletCoordinator
Reason:
class java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration incompatible with org.apache.xerces.xni.parser.XMLParserConfiguration
org.apache.xerces.parsers.XIncludeAwareParserConfiguration incompatible with org.apache.xerces.xni.parser.XMLParserConfiguration
Plug-in Provider: IBM
Plug-in Name: WebSphere Portlet Factory Designer UI
Plug-in ID: com.bowstreet.designer.ui
Version: 6.1.5

java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration incompatible with org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
at org.eclipse.ui.internal.forms.widgets.FormTextModel.parseInputStream(FormTextModel.java:125)
at org.eclipse.ui.internal.forms.widgets.FormTextModel.parseTaggedText(FormTextModel.java:111)
at org.eclipse.ui.forms.widgets.FormText.setText(FormText.java:673)
at org.eclipse.ui.internal.cheatsheets.views.ViewItem.addItem(ViewItem.java:212)
at org.eclipse.ui.internal.cheatsheets.views.ViewItem.<init>(ViewItem.java:100)
at org.eclipse.ui.internal.cheatsheets.views.CoreItem.<init>(CoreItem.java:60)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetPage.createPart(CheatSheetPage.java:86)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetViewer.initCheatSheetView(CheatSheetViewer.java:897)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetViewer.setContent(CheatSheetViewer.java:1136)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetViewer.setInput(CheatSheetViewer.java:1235)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetViewer.setInput(CheatSheetViewer.java:1209)
at org.eclipse.ui.internal.cheatsheets.views.CheatSheetView.setInput(CheatSheetView.java:217)
at org.eclipse.ui.cheatsheets.OpenCheatSheetAction.run(OpenCheatSheetAction.java:147)
at com.bowstreet.designer.eclipse.CoordinatorCallback.openCheatSheet(CoordinatorCallback.java:117)
at com.bowstreet.builders.webapp.ui.SqlCallCoordinator.setDataSourceNameChoices(SqlCallCoordinator.java:217)
at com.bowstreet.builders.webapp.ui.SqlCallCoordinator.handleFetchDataSourceNamesChange(SqlCallCoordinator.java:1411)
at com.bowstreet.builders.webapp.ui.SqlCallCoordinator.processInputChange(SqlCallCoordinator.java:1586)
at com.bowstreet.editor.uitools.coordinator.BuilderEditorCoordinatorController.processInputChange(BuilderEditorCoordinatorController.java:452)
at com.bowstreet.editor.uitools.coordinator.BuilderEditorCoordinatorController.processInputChange(BuilderEditorCoordinatorController.java:445)
at com.bowstreet.designer.builders.CoordinatorRunner$CoordinatorContextInternal.processInputChange(CoordinatorRunner.java:669)
at com.bowstreet.designer.builders.CoordinatorRunner.builderWidgetChanged(CoordinatorRunner.java:268)
at com.bowstreet.designer.builders.widgets.AbstractBuilderWidget.notifyAllListeners(AbstractBuilderWidget.java:220)
at com.bowstreet.designer.builders.widgets.AbstractButtonWidget.widgetSelected(AbstractButtonWidget.java:101)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)
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(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
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)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

Any suggestions as to how to get around this problem?

Thanks in advance!
Updated on 2010-06-25T14:09:57Z at 2010-06-25T14:09:57Z by DGawron
  • DGawron
    DGawron
    251 Posts

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T13:36:33Z  
    You didn't mention what version of WPF is being used, but assuming it's the current latest release, 6.1.5.x, then that combination of OS and JRE has not been tested and is not supported. Here's the supported combinations for 6.1.5.x:

    http://www-01.ibm.com/support/docview.wss?rs=3044&uid=swg27016233#Java%20SDK_R

    That being said, whenever you see ClassCastException on Xerces classes it generally means you have more than one copy of the Xerces JAR in the classpath and classes are being loaded from each. Eventually these classes meet somewhere and are flagged as being incompatible because they came from different classloaders.

    Haven't used 64-bit Ubuntu myself, so I'm not sure if this is possible, but I'd suggest trying a 1.5 JRE or better yet, don't override the "vm" Eclipse startup option. That may help.
  • SystemAdmin
    SystemAdmin
    532 Posts

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T13:49:29Z  
    • DGawron
    • ‏2010-06-25T13:36:33Z
    You didn't mention what version of WPF is being used, but assuming it's the current latest release, 6.1.5.x, then that combination of OS and JRE has not been tested and is not supported. Here's the supported combinations for 6.1.5.x:

    http://www-01.ibm.com/support/docview.wss?rs=3044&uid=swg27016233#Java%20SDK_R

    That being said, whenever you see ClassCastException on Xerces classes it generally means you have more than one copy of the Xerces JAR in the classpath and classes are being loaded from each. Eventually these classes meet somewhere and are flagged as being incompatible because they came from different classloaders.

    Haven't used 64-bit Ubuntu myself, so I'm not sure if this is possible, but I'd suggest trying a 1.5 JRE or better yet, don't override the "vm" Eclipse startup option. That may help.
    Thanks for your reply, David.

    I had to pass in the vm parameter because I was unable to publish my portlet to the Portal server while using the Sun JDK (see http://www-01.ibm.com/support/docview.wss?ca=wpwcmfaq&rs=3044&context=SSRUWN&uid=swg21414358&loc=en_US&cs=utf-8&lang=en ).

    I'm not sure where the extra Xerces library is coming from, as I haven't added any to my own classpath yet. I'll download the 1.5 IBM JRE and try again.
  • DGawron
    DGawron
    251 Posts

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T13:51:06Z  
    One more thought came to mind. Data View is a older builder that mixes UI and back-end access. That is something we discourage these days. A better approach would be to separate UI from data access by using SQL Call in a provider model and View & Form in a consumer model. That will give you more control over the UI and database access.
  • DGawron
    DGawron
    251 Posts

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T14:09:57Z  
    Thanks for your reply, David.

    I had to pass in the vm parameter because I was unable to publish my portlet to the Portal server while using the Sun JDK (see http://www-01.ibm.com/support/docview.wss?ca=wpwcmfaq&rs=3044&context=SSRUWN&uid=swg21414358&loc=en_US&cs=utf-8&lang=en ).

    I'm not sure where the extra Xerces library is coming from, as I haven't added any to my own classpath yet. I'll download the 1.5 IBM JRE and try again.
    Ah yes. Unfortunately you cannot autodeploy to Portal using a Sun JRE. Now I see why you had to use the "vm" argument. I believe we provide Eclipse and an IBM JRE for Linux installs. Did you try them?