Topic
IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
4 replies Latest Post - ‏2010-06-25T14:09:57Z by DGawron
SystemAdmin
SystemAdmin
532 Posts
ACCEPTED ANSWER

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
    ACCEPTED ANSWER

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T13:36:33Z  in response to SystemAdmin
    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
      ACCEPTED ANSWER

      Re: ClassCastException when fetching datasource names for Data View Builder

      ‏2010-06-25T13:49:29Z  in response to DGawron
      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
        ACCEPTED ANSWER

        Re: ClassCastException when fetching datasource names for Data View Builder

        ‏2010-06-25T14:09:57Z  in response to SystemAdmin
        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?
  • DGawron
    DGawron
    251 Posts
    ACCEPTED ANSWER

    Re: ClassCastException when fetching datasource names for Data View Builder

    ‏2010-06-25T13:51:06Z  in response to SystemAdmin
    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.