facebook

Scaffold Spring CRUD Application fails to complete

  1. MyEclipse IDE
  2.  > 
  3. Spring Development
Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #312355 Reply

    jet3723
    Participant

    Attempting to scaffold for an HSQLDB database fails on the “Select Database Tables” dialog.

    — Database connection works from the Database Explorer
    — Same connection template is used during scaffolding

    No reported errors. The dialog just never shows any tables and all fields in the dialog are not accessible.

    Any hints here?

    #312368 Reply

    davemeurer
    Member

    Hello,

    This may be due to the driver used in the database connection. We’ve seen similar issues with the MS SQL server driver due to bugs in the driver not being able to retrieve the schema information.

    Would you be able to reply with what driver you are using, and I can try to reproduce?

    Kind regards,
    Dave

    #314308 Reply

    Brian Tieman
    Member

    I’m experiencing this same problem.

    MyEclipse for Spring 8.6
    HSQLDB 2.0.0

    Driver connects to data base using database explorer. When trying to scaffold I get to the “Select Database Tables” dialog and it fails. Error is:

    <snip>
    Unhandled event loop exception

    org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
    at org.eclipse.swt.SWT.error(SWT.java:3884)
    at org.eclipse.swt.SWT.error(SWT.java:3799)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3885)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3506)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at org.skyway.core.generate.ui.wizard.WizardUserInterface.show(WizardUserInterface.java:50)
    at org.skyway.core.generate.execute.GenerationInvoker.invokeUserInterface(GenerationInvoker.java:58)
    at org.skyway.core.generate.execute.GenerationInvoker.invoke(GenerationInvoker.java:46)
    at org.skyway.core.generate.execute.CustomizationAwareGenerationInvoker.invoke(CustomizationAwareGenerationInvoker.java:53)
    at com.skyway.scaffolding.crud.action.GenerateCrudApplicationAction.invoke(GenerateCrudApplicationAction.java:31)
    at org.skyway.core.generate.ui.action.GenerationObjectActionDelegate.run(GenerationObjectActionDelegate.java:40)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    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:3910)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
    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:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    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)
    Caused by: java.lang.NullPointerException
    at com.skyway.myeclipseforspring.persistence.MyEclipseConnectionProfile.getDefaultCatalogName(MyEclipseConnectionProfile.java:211)
    at org.skyway.integration.data.persistence.ui.controls.SourceTargetTableSelectionComposite.populateCatalogCombo(SourceTargetTableSelectionComposite.java:366)
    at org.skyway.integration.data.persistence.ui.controls.SourceTargetTableSelectionComposite.populate(SourceTargetTableSelectionComposite.java:229)
    at org.skyway.integration.data.persistence.ui.controls.SourceTargetTableSelectionComposite.setInput(SourceTargetTableSelectionComposite.java:201)
    at org.skyway.integration.data.persistence.ui.datatype.wizards.SourceTargetTableSelectionWizardPage$4.run(SourceTargetTableSelectionWizardPage.java:96)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    … 38 more
    </snip>

    Thoughts?

    #314779 Reply

    jayperkins
    Member

    Hi,

    Unfortunately, there is a bug in the scaffolding engine when using this database. I have created a JIRA to get it fixed.

    One thing you could try, although not optimal, would probably work. Reverse engineer your tables into jpa entities and then scaffold from those entities.

    Let me know if you have any questions.

    Jay

    #316327 Reply

    RickSuds
    Member

    Jay

    Thanks for the help, I will give it a try. Any estimate on when the fix will be available?

    #316328 Reply

    jayperkins
    Member

    This issue was fixed in the latest release (My Eclipse For Spring 9.0).

    FYI – for some databases, you may have to pick the hibernate dialect manually on the “Select Database Tables” wizard page.

    #316330 Reply

    RickSuds
    Member

    Thanks

    #316421 Reply

    Drmoodle
    Member

    I am having a similar problem but with MySQL. I get the following error and I am using me4s v9. I have tried using local as well as on server with same problem.

    Caused by: java.sql.SQLException: No database selected
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    at org.hibernate.cfg.reveng.dialect.MySQLMetaDataDialect.getSuggestedPrimaryKeyStrategyName(MySQLMetaDataDialect.java:29)
    … 31 more

    Any ideas? Also, I have selected the Schema and one table as it goes through the dialogs. It fails at the end. Also, I verified connection etc in DB Viewer

    #316448 Reply

    jkennedy
    Member

    Can you verify that on the Connection / Driver screen where it asks for the URL and the username / pwd that you have a DB Name filled in and that this DBName matches any DBName you are putting in the connect String?

    We have found that for certain DB’s that if the Database name differs in these two spots, that it will fail to return the DB meta data.

    Thanks,
    Jack

    #316499 Reply

    Drmoodle
    Member

    What I had was general connection to MySQL and then in the CRUD generator selected the DB and table resulting in failed generation. So based on your comment, I defined the connection direct to the DB and then in CRUD generator it worked.

    So on CRUD generator you have to have it specific to the DB connection in the Driver perspective.

    Thanks for your post.

    Thanks, Randy

    #316847 Reply

    jkennedy
    Member

    Glad to hear this resolved the issue, thanks for posting your results for others who may run into the same issue.

    Thanks,
    Jack

Viewing 11 posts - 1 through 11 (of 11 total)
Reply To: Scaffold Spring CRUD Application fails to complete

You must be logged in to post in the forum log in