Spring Roo
  1. Spring Roo
  2. ROO-1920

addon 'hints' could be more informative

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Complete
    • Affects Version/s: 1.1.1.RELEASE
    • Fix Version/s: 1.1.1.RELEASE
    • Component/s: @ ROO SHELL
    • Labels:
      None

      Description

      When I rebuild/reinstall roo, it complains that I have no jdbc driver.
      The exception is ugly... but the real problem is that the "HINT" does not include the most important:
      For those of us that use roo as a 'tool' rather than a platform, and are not familiar with the addon functions,
      it would be great to have one more hint:
      [HINT] use 'addon install --bundleId 01' to install 5.1.13.0001 #jdbcdriver driverclass:com.mysql.jdbc.Driver

      In particular, mentioning the '--bundleId' parameter would be helpful, instructive.
      (I keep hoping that TAB will prompt to remind of the available/required params)
      By the time i figure that out, and determine that the bundleId that is expected/required is numeric,
      and then do a 'addon list' (which assigns a new/different Id for the jdbc driver)
      and then realize there are multiple #jdbcdriver in the list, so must read more details
      the whole experience is so much more complicated/frustrating than it needs to be.

      Just sayin' since roo noticed there was exactly one addon that seems appropriate,
      that it would be nice to see a hint for the dummies for how to install that bundle.

      roo> database reverse engineer --schema gamma --package ~.domain
      Located add-on that may offer this JDBC driver
      1 found, sorted by rank; T = trusted developer; R = Roo 1.1 compatible
      ID T R DESCRIPTION -------------------------------------------------------------
      01 Y Y 5.1.13.0001 #jdbcdriver driverclass:com.mysql.jdbc.Driver. This...
      --------------------------------------------------------------------------------
      [HINT] use 'addon info' to see details about a bundle
      [HINT] use 'addon install' to install a specific bundle
      JDBC driver not available for 'com.mysql.jdbc.Driver'
      java.lang.IllegalArgumentException: JDBC driver not available for 'com.mysql.jdbc.Driver'
      at org.springframework.roo.support.util.Assert.notNull(Assert.java:112)
      at org.springframework.roo.addon.dbre.jdbc.ConnectionProviderImpl.getConnection(ConnectionProviderImpl.java:41)
      at org.springframework.roo.addon.dbre.jdbc.ConnectionProviderImpl.getConnection(ConnectionProviderImpl.java:53)
      at org.springframework.roo.addon.dbre.DbreModelServiceImpl.getConnection(DbreModelServiceImpl.java:317)
      at org.springframework.roo.addon.dbre.DbreModelServiceImpl.getDatabase(DbreModelServiceImpl.java:214)
      at org.springframework.roo.addon.dbre.DbreModelServiceImpl.refreshDatabase(DbreModelServiceImpl.java:155)
      at org.springframework.roo.addon.dbre.DbreOperationsImpl.reverseEngineerDatabase(DbreOperationsImpl.java:77)
      at org.springframework.roo.addon.dbre.DbreCommands.serializeDatabaseMetadata(DbreCommands.java:50)
      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.springframework.roo.support.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:191)
      at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy$1.callback(ProcessManagerHostedExecutionStrategy.java:49)
      at org.springframework.roo.process.manager.internal.DefaultProcessManager.doTransactionally(DefaultProcessManager.java:177)
      at org.springframework.roo.process.manager.internal.DefaultProcessManager.execute(DefaultProcessManager.java:140)
      at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy.execute(ProcessManagerHostedExecutionStrategy.java:47)
      at org.springframework.roo.shell.AbstractShell.executeCommand(AbstractShell.java:165)
      at org.springframework.roo.shell.jline.JLineShell.promptLoop(JLineShell.java:358)
      at org.springframework.roo.shell.jline.JLineShell.run(JLineShell.java:132)
      at java.lang.Thread.run(Thread.java:619)

        Activity

        Hide
        Stefan Schmidt added a comment -

        We should make 2 commands so at least TAB completion works fully for one or the other, ie addon install id --searchResultId and and addon install bundle --bundleSymbolicName ...

        Then the hint can remain basically as-is, "hint use 'addon install TAB' to install a specific bundle", as when you hit TAB it will see the two options and pick one they prefer.

        This also applies to the addon info command. DBRE docs also need to be updated accordingly.

        Show
        Stefan Schmidt added a comment - We should make 2 commands so at least TAB completion works fully for one or the other, ie addon install id --searchResultId and and addon install bundle --bundleSymbolicName ... Then the hint can remain basically as-is, "hint use 'addon install TAB' to install a specific bundle", as when you hit TAB it will see the two options and pick one they prefer. This also applies to the addon info command. DBRE docs also need to be updated accordingly.
        Hide
        Stefan Schmidt added a comment -

        Complete with commit e7d5c81b60232d468c0d0500fe53f114f08467a8.

        Show
        Stefan Schmidt added a comment - Complete with commit e7d5c81b60232d468c0d0500fe53f114f08467a8.

          People

          • Assignee:
            Stefan Schmidt
            Reporter:
            Jack Punt
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: