[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.dali] Re: Generate Entities from Tables not working

Bill,

the Dali code surrounding all this DTP stuff has changed a lot over the last few months; so you might encounter different problems (or maybe no problems at all :) ) if you try out a more current release (e.g. WTP 3.1 M6 is set to be released soon).

Anyway, if you would like to research what Dali is doing with your DB2 connection, you can look at whether we have a "vendor" defined for it by debugging the call to VendorRepository.getVendor(String). This will tell you (1) what your DTP DB2 "adapter" says its name is and (2) whether Dali has a vendor defined with a matching name.

Are you using a vanilla Eclipse JEE workspace? Or are you using additional plug-ins? Do these plug-ins provide the DB2 adapter for DTP? If you are interested in working on a DB2 interface, it would be more of an extension of DTP than an extension of Dali. Dali simply uses the metadata provided by the DTP metadata model; sometimes successfully, sometimes not. :-)

Brian Vosburgh

Bill Blalock wrote:
Thanks for your informative reply Brian:

Currently, Dali has a number of database-specific adapters that allow us to
know
what to expect from the various databases. These adapters are keyed by the vendor name returned by the DTP model. Currently, we have 3 nearly identical adapters for DB2 with the following names:
DB2 UDB
DB2 UDB iSeries
DB2 UDB zSeries

DB2 UDB iSeries -- that is me!!!

If the DTP model does not match any of these names, we use a "default"
adapter....

That may be the problem, the DTP model my iSeries (i5 as it is now called, ver 5, release 4 of the OS) may not match what Dali expects for DB2 UDB iSeries and falls through to the default.

If you would like to help us out, you could debug the Dali code and
determine
what Dali has screwed up for your particular configuration. :-)

I'd be happy to help out! I have extened the eclipselink DB2Platform class for the iSeries and contributed it. Tell me what to do. I can also test against an IBM iSeries V5R4 for you.


I set up a separate Eclipse with the latest for these test, see previous post.
Also, hopefully, we will fix, or allow workarounds to, some of these sorts
of
problems when we add UI support for catalogs[1].

Is there anyway to tell Dali "hey use this adapter" instead of letting it guess? Perhaps a property in persistence.xml?


I have to specify the database to eclipselink when I am not using Dali(eclipselink.target-database) so coding a property isn't a hardship.

Regards
Bill Blalock

PS When opening persistence.xml with the database connection open I'll get errors. No error when the connection is closed.

This is the stack trace in the detail view which is opened instead of the persistence.xml editor. I've included them incase they are related (first set of messages are from DTPDatabaseWrappers you mentioned).

java.lang.UnsupportedOperationException
at org.eclipse.jpt.db.internal.DTPDatabaseWrapper$Vendor.getDefaultCatalog(DTPDatabaseWrapper.java:475)


at org.eclipse.jpt.db.internal.DTPDatabaseWrapper.buildDefaultCatalog(DTPDatabaseWrapper.java:257)

at org.eclipse.jpt.db.internal.DTPDatabaseWrapper.getDefaultCatalog(DTPDatabaseWrapper.java:251)

at org.eclipse.jpt.db.internal.DTPDatabaseWrapper.getDefaultCatalog(DTPDatabaseWrapper.java:1)

at org.eclipse.jpt.core.internal.GenericJpaProject.getDatabaseDefaultDbCatalog(GenericJpaProject.java:283)

at org.eclipse.jpt.core.internal.GenericJpaProject.getDatabaseDefaultCatalog(GenericJpaProject.java:277)

at org.eclipse.jpt.core.internal.GenericJpaProject.getDefaultCatalog(GenericJpaProject.java:273)

at org.eclipse.jpt.core.internal.context.persistence.AbstractPersistenceUnit.buildDefaultCatalog(AbstractPersistenceUnit.java:1056)

at org.eclipse.jpt.core.internal.context.persistence.AbstractPersistenceUnit.initializePersistenceUnitDefaults(AbstractPersistenceUnit.java:776)

at org.eclipse.jpt.core.internal.context.persistence.AbstractPersistenceUnit.initialize(AbstractPersistenceUnit.java:735)

at org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit.<init>(EclipseLinkPersistenceUnit.java:78)

at org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaFactory.buildPersistenceUnit(EclipseLinkJpaFactory.java:129)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistence.createPersistenceUnit(GenericPersistence.java:155)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistence.initializePersistenceUnits(GenericPersistence.java:128)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistence.initialize(GenericPersistence.java:122)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistence.<init>(GenericPersistence.java:43)

at org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildPersistence(GenericJpaFactory.java:303)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistenceXml.buildPersistence(GenericPersistenceXml.java:161)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistenceXml.initialize(GenericPersistenceXml.java:120)

at org.eclipse.jpt.core.internal.context.persistence.GenericPersistenceXml.<init>(GenericPersistenceXml.java:44)

at org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildPersistenceXml(GenericJpaFactory.java:299)

at org.eclipse.jpt.core.internal.context.GenericRootContextNode.buildPersistenceXml(GenericRootContextNode.java:178)

at org.eclipse.jpt.core.internal.context.GenericRootContextNode.<init>(GenericRootContextNode.java:60)

at org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildRootContextNode(GenericJpaFactory.java:282)

at org.eclipse.jpt.core.internal.GenericJpaProject.buildRootContextNode(GenericJpaProject.java:200)

at org.eclipse.jpt.core.internal.GenericJpaProject.<init>(GenericJpaProject.java:159)

at org.eclipse.jpt.core.internal.platform.GenericJpaFactory.buildJpaProject(GenericJpaFactory.java:259)

at org.eclipse.jpt.core.internal.GenericJpaModel$DefaultJpaProjectHolder.buildJpaProject(GenericJpaModel.java:417)

at org.eclipse.jpt.core.internal.GenericJpaModel$DefaultJpaProjectHolder.jpaProject(GenericJpaModel.java:405)

at org.eclipse.jpt.core.internal.GenericJpaModel.getJpaProject(GenericJpaModel.java:75)

at org.eclipse.jpt.core.internal.JpaModelManager.getJpaProject(JpaModelManager.java:178)

at org.eclipse.jpt.core.JptCorePlugin.getJpaProject(JptCorePlugin.java:156)
at org.eclipse.jpt.ui.internal.editors.PersistenceEditor.jpaProject(PersistenceEditor.java:303)


at org.eclipse.jpt.ui.internal.editors.PersistenceEditor.addPersistenceUnitPages(PersistenceEditor.java:119)

at org.eclipse.jpt.ui.internal.editors.PersistenceEditor.addPages(PersistenceEditor.java:109)

at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:146)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:310)


at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)

at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)

at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)

at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:306)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)


at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)

at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)

at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)

at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)

at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1608)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)


at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)

at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)

at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:779)

at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:678)

at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:639)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2817)


at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)

at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:318)


at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:160)

at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:207)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)


at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)

at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50)

at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:221)
at org.eclipse.ui.internal.navigator.CommonNavigatorManager$3.open(CommonNavigatorManager.java:184)


at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)


at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)

at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:372)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)


at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)


at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
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:193)

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:386)

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:549)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1236)