-
Bug
-
Resolution: Cannot Reproduce
-
Major
-
4.1.0.Alpha1
-
None
-
Hide
EXEC: create jaxrs project with jaxrs service in it:
@Path("/rest") public class Service { @Path("/{id}") public void method(@PathParam int id) { } }
EXEC: put a cursor after m: @PathParam|
REPEAT THESE STEPS:
1. add only a left bracket and save it immediately
2. remove left bracket and save it immediately
END REPEATIf you were quick enough or lucky, there is a lot of errors in error log but only of four types:
Java Model Exception: Java Model Status [method(int) {key=Ltest/Ser;.method(I)V} [in Ser [in [Working copy] Ser.java [in test [in src [in prj]]]]] does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244) at org.eclipse.jdt.internal.core.SourceRefElement.getSourceRange(SourceRefElement.java:218) at org.jboss.tools.ws.jaxrs.core.jdt.JavaAnnotationsVisitor.<init>(JavaAnnotationsVisitor.java:91) at org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.resolveAnnotations(JdtUtils.java:350) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.internalCreateResourceMethod(JaxrsElementFactory.java:243) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.createResource(JaxrsElementFactory.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.preprocessResourceChangesOnScopeAdditionOrChange(ResourceChangedProcessor.java:622) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processResourceChangesOnScopeAdditionOrChange(ResourceChangedProcessor.java:593) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processEvent(ResourceChangedProcessor.java:177) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processAffectedResources(ResourceChangedProcessor.java:144) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processAffectedResources(ResourceChangedProcessor.java:84) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedBuildJob.run(ResourceChangedBuildJob.java:67) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Java Model Exception: Java Model Status [method(int) {key=Ltest/Ser;.method(I)V} [in Ser [in [Working copy] Ser.java [in test [in src [in prj]]]]] does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244) at org.eclipse.jdt.internal.core.Member.getFlags(Member.java:164) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validatePublicModifierOnJavaMethod(JaxrsResourceMethodValidatorDelegate.java:230) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:66) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
org.jboss.tools.common.validation.JBTValidationException: 0 at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.jboss.tools.ws.jaxrs.core.jdt.JavaMethodSignaturesVisitor.visit(JavaMethodSignaturesVisitor.java:96) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:489) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.jboss.tools.ws.jaxrs.core.jdt.CompilationUnitsRepository.recordAST(CompilationUnitsRepository.java:108) at org.jboss.tools.ws.jaxrs.core.jdt.CompilationUnitsRepository.getAST(CompilationUnitsRepository.java:71) at org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.resolveMemberPairValueRange(JdtUtils.java:406) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.resolveAnnotationParamSourceRange(JaxrsResourceMethodValidatorDelegate.java:210) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validateNoUnboundPathAnnotationTemplateParameters(JaxrsResourceMethodValidatorDelegate.java:153) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:67) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) ... 2 more
org.jboss.tools.common.validation.JBTValidationException at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: java.lang.NullPointerException at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.resolveAnnotationParamSourceRange(JaxrsResourceMethodValidatorDelegate.java:218) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validateNoUnboundPathAnnotationTemplateParameters(JaxrsResourceMethodValidatorDelegate.java:153) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:67) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) ... 2 more
ShowEXEC: create jaxrs project with jaxrs service in it: @Path( "/ rest " ) public class Service { @Path( "/{id}" ) public void method(@PathParam int id) { } } EXEC: put a cursor after m: @PathParam| REPEAT THESE STEPS: 1. add only a left bracket and save it immediately 2. remove left bracket and save it immediately END REPEAT If you were quick enough or lucky, there is a lot of errors in error log but only of four types: Java Model Exception: Java Model Status [method( int ) {key=Ltest/Ser;.method(I)V} [in Ser [in [Working copy] Ser.java [in test [in src [in prj]]]]] does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244) at org.eclipse.jdt.internal.core.SourceRefElement.getSourceRange(SourceRefElement.java:218) at org.jboss.tools.ws.jaxrs.core.jdt.JavaAnnotationsVisitor.<init>(JavaAnnotationsVisitor.java:91) at org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.resolveAnnotations(JdtUtils.java:350) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.internalCreateResourceMethod(JaxrsElementFactory.java:243) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory.createResource(JaxrsElementFactory.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.preprocessResourceChangesOnScopeAdditionOrChange(ResourceChangedProcessor.java:622) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processResourceChangesOnScopeAdditionOrChange(ResourceChangedProcessor.java:593) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processEvent(ResourceChangedProcessor.java:177) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processAffectedResources(ResourceChangedProcessor.java:144) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedProcessor.processAffectedResources(ResourceChangedProcessor.java:84) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.ResourceChangedBuildJob.run(ResourceChangedBuildJob.java:67) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Java Model Exception: Java Model Status [method( int ) {key=Ltest/Ser;.method(I)V} [in Ser [in [Working copy] Ser.java [in test [in src [in prj]]]]] does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:498) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:532) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:258) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:244) at org.eclipse.jdt.internal.core.Member.getFlags(Member.java:164) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validatePublicModifierOnJavaMethod(JaxrsResourceMethodValidatorDelegate.java:230) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:66) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) org.jboss.tools.common.validation.JBTValidationException: 0 at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.jboss.tools.ws.jaxrs.core.jdt.JavaMethodSignaturesVisitor.visit(JavaMethodSignaturesVisitor.java:96) at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:489) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:484) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2585) at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:219) at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2514) at org.jboss.tools.ws.jaxrs.core.jdt.CompilationUnitsRepository.recordAST(CompilationUnitsRepository.java:108) at org.jboss.tools.ws.jaxrs.core.jdt.CompilationUnitsRepository.getAST(CompilationUnitsRepository.java:71) at org.jboss.tools.ws.jaxrs.core.jdt.JdtUtils.resolveMemberPairValueRange(JdtUtils.java:406) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.resolveAnnotationParamSourceRange(JaxrsResourceMethodValidatorDelegate.java:210) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validateNoUnboundPathAnnotationTemplateParameters(JaxrsResourceMethodValidatorDelegate.java:153) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:67) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) ... 2 more org.jboss.tools.common.validation.JBTValidationException at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101) at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: java.lang.NullPointerException at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.resolveAnnotationParamSourceRange(JaxrsResourceMethodValidatorDelegate.java:218) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validateNoUnboundPathAnnotationTemplateParameters(JaxrsResourceMethodValidatorDelegate.java:153) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceMethodValidatorDelegate.validate(JaxrsResourceMethodValidatorDelegate.java:67) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsResourceValidatorDelegate.validate(JaxrsResourceValidatorDelegate.java:38) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:266) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:170) at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:122) at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117) at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81) ... 2 more
This issue is little bit tricky, but I am able to reproduce it always (of course there is need to repeat step lot of times).