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

NPE when removing a returned class in JAX-RS resource method does not exist

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • 4.30.x
    • 4.3.0.Alpha2
    • webservices
    • None

      If a project contains a method such as

      @Path("/{id}/comments")
      	public Foo addComments() {
      		return null;
      	}
      

      while Foo does not exist, the JAX-RS Metamodel builder will fail with the following exception:

      java.lang.NullPointerException
      	at org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.findSubtypes(JdtUtils.java:905)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsEndpointFactory.createEndpointsFromSubresourceLocator(JaxrsEndpointFactory.java:145)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedProcessorDelegate.processSubresourceLocatorAddition(JaxrsElementChangedProcessorDelegate.java:285)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedProcessorDelegate.processAddition(JaxrsElementChangedProcessorDelegate.java:191)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedProcessorDelegate.processEvent(JaxrsElementChangedProcessorDelegate.java:70)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel.processElementChange(JaxrsMetamodel.java:751)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel.add(JaxrsMetamodel.java:720)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsBaseElement.joinMetamodel(JaxrsBaseElement.java:127)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResourceMethod$Builder.buildInResource(JaxrsResourceMethod.java:181)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.createElements(JaxrsElementFactory.java:211)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.createElements(JaxrsElementFactory.java:65)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel.processJavaElementChange(JaxrsMetamodel.java:420)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel.processJavaElementChange(JaxrsMetamodel.java:392)
      	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JavaElementChangedBuildJob.run(JavaElementChangedBuildJob.java:73)
      	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
      

            Unassigned Unassigned
            xcoulon@redhat.com Xavier Coulon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: