Uploaded image for project: 'Spring Roo'
  1. Spring Roo
  2. ROO-2282

GwtMetadataProviderImpl.onFileEvent triggers GwtConfigService incorrectly on project command

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: 1.1.2.RELEASE
    • Fix Version/s: 1.1.3.RELEASE
    • Component/s: GWT
    • Labels:
      None

      Description

      For some reason GwtMetadataProviderImpl also acts as FileEventListener (James would know why) which triggers an exception (see below) when running the 'project' command.

      To reproduce paste the following lines into a fresh project while the Roo shell still loads (the command execution will be deferred until the shell has completely loaded but it will still fail):

      project --topLevelPackage com.testing.teststuff --projectName Stuff --java 5
      persistence setup --database MYSQL --provider HIBERNATE --databaseName stuff --userName sa
      entity --class ~.Stuff --testAutomatically
      

      Exception:

      Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
      roo> project --topLevelPackage com.testing.teststuff --projectName Stuff --java 5
      5838c4e Created ROOT/pom.xml
      01b61c5 Updated ROOT/pom.xml [Added dependencies javax.annotation:jsr250-api:1.0, javax.xml.bind:jaxb-api:2.1]
      2ad3c24 Updated ROOT/pom.xml
      5742550 Updated ROOT/pom.xml [Added dependencies com.google.gwt:gwt-servlet:2.2.0, com.google.gwt:gwt-user:2.2.0, org.json:json:20090211, com.googlecode.gwt.inject:gin:1.5, javax.validation:validation-api:1.0.0.GA, xalan:xalan:2.7.1]
      a4a412a Updated ROOT/pom.xml [Added plugin gwt-maven-plugin]
      web.xml not found; cannot continue
      java.lang.IllegalArgumentException: web.xml not found; cannot continue
          at org.springframework.roo.support.util.Assert.isTrue(Assert.java:65)
          at org.springframework.roo.addon.gwt.GwtConfigServiceImpl.updateWebXml(GwtConfigServiceImpl.java:257)
          at org.springframework.roo.addon.gwt.GwtConfigServiceImpl.updateConfiguration(GwtConfigServiceImpl.java:78)
          at org.springframework.roo.addon.gwt.GwtMetadataProviderImpl.onFileEvent(GwtMetadataProviderImpl.java:94)
          at org.springframework.roo.file.monitor.polling.PollingFileMonitorService.publish(PollingFileMonitorService.java:330)
          at org.springframework.roo.file.monitor.polling.PollingFileMonitorService.scanNotified(PollingFileMonitorService.java:213)
          at org.springframework.roo.process.manager.internal.DefaultFileManager.scan(DefaultFileManager.java:141)
          at org.springframework.roo.project.MavenOperationsImpl.createProject(MavenOperationsImpl.java:108)
          at org.springframework.roo.project.MavenCommands.createProject(MavenCommands.java:36)
          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:180)
          at org.springframework.roo.process.manager.internal.DefaultProcessManager.execute(DefaultProcessManager.java:143)
          at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy.execute(ProcessManagerHostedExecutionStrategy.java:47)
          at org.springframework.roo.shell.AbstractShell.executeCommand(AbstractShell.java:181)
          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:680)
      

      Does this MD provider really need to listen to File events?

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              stewarta Alan Stewart
              Reporter:
              sschmidt Stefan Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: