Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-13446

Forge pick-up command throws NPE

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Critical Critical
    • 4.0.x, 4.1.0.Alpha2
    • 4.0.0.Final, 4.1.0.Alpha1
    • forge
    • None
    • Hide

      1. Create a Java EE Web project from JBoss Central
      2. Right-click the project in Project Explorer and select Show in -> Forge console - error thrown.

      Note that you can reproduce this by issuing the pick-up command in Forge console manually - no need to use Show in.

      Show
      1. Create a Java EE Web project from JBoss Central 2. Right-click the project in Project Explorer and select Show in -> Forge console - error thrown. Note that you can reproduce this by issuing the pick-up command in Forge console manually - no need to use Show in.
    • Release Notes
    • Use of the pick-up command in Forge console results in a null pointer exception. Consequently, the Forge console displays an error message and fails to move into the requested directory.
    • Documented as Known Issue

      When playing around w/ Ticket Monster [1] I found out that Show in -> Forge console does not work for me on a project or directory in Project Explorer.

      It throws this exception:

      [no project] workspace $ set VERBOSE true
      [no project] workspace $ pick-up /Users/rasp/jbossqa/JBDS/nightly-jbt-2013-01-30/workspace/jboss-javaee6-webapp
      java.lang.NullPointerException***ERROR*** Exception encountered: (type "set VERBOSE false" to disable stack traces)
      [no project] workspace $ 
      	at org.apache.maven.RepositoryUtils.getLayout(RepositoryUtils.java:214)
      	at org.apache.maven.RepositoryUtils.toRepo(RepositoryUtils.java:200)
      	at org.apache.maven.RepositoryUtils.toRepos(RepositoryUtils.java:190)
      	at org.apache.maven.project.DefaultProjectBuilder$InternalConfig.<init>(DefaultProjectBuilder.java:662)
      	at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:102)
      	at org.jboss.forge.maven.facets.MavenCoreFacetImpl.getPartialProjectBuildingResult(MavenCoreFacetImpl.java:86)
      	at org.jboss.forge.maven.facets.MavenCoreFacetImpl.resolveProperties(MavenCoreFacetImpl.java:304)
      	at org.jboss.forge.maven.facets.MavenDependencyFacet.resolveProperties(MavenDependencyFacet.java:393)
      	at org.jboss.forge.maven.facets.MavenDependencyFacet.hasEffectiveDependency(MavenDependencyFacet.java:171)
      	at org.jboss.forge.shell.project.DependencyInstallerImpl.isInstalled(DependencyInstallerImpl.java:170)
      	at org.jboss.forge.git.GitAPIFacet.isInstalled(GitAPIFacet.java:42)
      	at org.jboss.forge.project.BaseProject.registerFacet(BaseProject.java:153)
      	at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:208)
      	at org.jboss.forge.project.services.ProjectFactory.registerSingleFacet(ProjectFactory.java:186)
      	at org.jboss.forge.project.services.ProjectFactory.registerFacets(ProjectFactory.java:178)
      	at org.jboss.forge.project.services.ProjectFactory.findProjectRecursively(ProjectFactory.java:117)
      	at org.jboss.forge.shell.project.ProjectInitializer.doInit(ProjectInitializer.java:91)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
      	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
      	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
      	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
      	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
      	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
      	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
      	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
      	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
      	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
      	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
      	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:628)
      	at org.jboss.weld.event.EventImpl.fire(EventImpl.java:75)
      	at org.jboss.forge.shell.project.CurrentProject.setCurrentResource(CurrentProject.java:80)
      	at org.jboss.forge.shell.ShellImpl.setCurrentResource(ShellImpl.java:1239)
      	at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.setCurrentResource(ShellImpl$Proxy$_$$_WeldClientProxy.java)
      	at org.jboss.forge.shell.plugins.builtin.PickupResourcePlugin.run(PickupResourcePlugin.java:85)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.jboss.forge.shell.command.Execution.perform(Execution.java:134)
      	at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
      	at org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
      	at org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:818)
      	at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:841)
      	at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:631)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
      	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
      	at org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:601)
      	at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
      	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
      	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
      	at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
      	at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
      	at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
      	at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
      	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
      	at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
      	at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
      	at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
      	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
      	at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
      	at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:172)
      	at java.lang.Thread.run(Thread.java:722)
      

      This happens in both JBDS 6 and JBT 4.1 nightly, but not in JBDS 5. It's probably only reproducible on Mac - psrna verified this on Linux today and it worked for him. I tried two different instances of JBDS 6 and one instance of JBT 4.1.0.Alpha1 nightly installed on Eclipse Kepler M4.

      Please let me know if I should create a FORGE issue.

      The forge runtime versions:
      JBDS 6: org.jboss.tools.forge.runtime_1.1.0.Final-v20121205-1934-B69
      JBT nightly: org.jboss.tools.forge.runtime_1.2.0.Alpha1-v20130128-1407-B204

      [1] http://www.jboss.org/jdf/examples/ticket-monster/tutorial/Introduction/#_adding_a_new_entity_using_forge

              kaers@redhat.com Koen Aers
              exd-mmalina Martin Malina
              Michelle Murray Michelle Murray (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: