[jbosstools-issues] [JBoss JIRA] (JBIDE-12806) Annotations location in the JAX-RS Metamodel are not updated after code changes

Xavier Coulon (JIRA) jira-events at lists.jboss.org
Fri Oct 12 05:07:03 EDT 2012


     [ https://issues.jboss.org/browse/JBIDE-12806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xavier Coulon resolved JBIDE-12806.
-----------------------------------

    Resolution: Done


Fixed, and some marker locations are more relevant now: underlining the annotation value instead of the whole annotation, or underlining the annotation type instead of the @HttpMethod annotation in case of missing @Target or @Retention annotation on a custom JAX-RS HTTP Method
                
> Annotations location in the JAX-RS Metamodel are not updated after code changes
> -------------------------------------------------------------------------------
>
>                 Key: JBIDE-12806
>                 URL: https://issues.jboss.org/browse/JBIDE-12806
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Webservices
>    Affects Versions: 4.0.0.Alpha1
>            Reporter: Xavier Coulon
>            Assignee: Xavier Coulon
>             Fix For: 4.0.0.Beta1
>
>
> Step to reproduce:
> 1. Create a new annotation as below (package declaration is omited):
> {code}
> import javax.ws.rs.HttpMethod;
> @HttpMethod("PATCH")
> public @interface PATCH {
> }
> {code}
> Assert: The JAX-RS validator should report 2 problems: missing @Target annotation and missing @Retention annotation. 
> 2- Use the available QuickFix to add the @Retention annotation
> Assert: code is now as below:
> {code}
> import javax.ws.rs.HttpMethod;
> import java.lang.annotation.Retention;
> import java.lang.annotation.RetentionPolicy;
> @Retention(RetentionPolicy.RUNTIME)
> @HttpMethod("PATCH")
> public @interface PATCH {
> }
> {code}
> Assert: the missing @Target annotation problem should be reported under the 'PATCH' type name as before
> FAIL : the marker location in the document was not updated, the problem is now somewhere under the 'import java.lang.annotation.Retention' declaration.
> Also, the lack of location update can also cause this kind of error:
> !ENTRY org.jboss.tools.common 4 0 2012-10-05 10:34:09.357
> !MESSAGE Wrong offset [195] of the problem marker [The HTTP Method should have a @Target(ElementType.METHOD) annotation on its type.] for resource: /poh5/src/main/java/org/jboss/tools/example/html5/rest/PATCH.java
> !STACK 0
> org.eclipse.jface.text.BadLocationException
> 	at org.eclipse.jface.text.TreeLineTracker.fail(TreeLineTracker.java:1055)
> 	at org.eclipse.jface.text.TreeLineTracker.lineByOffset(TreeLineTracker.java:267)
> 	at org.eclipse.jface.text.TreeLineTracker.getLineNumberOfOffset(TreeLineTracker.java:1137)
> 	at org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:161)
> 	at org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:915)
> 	at org.eclipse.core.internal.filebuffers.SynchronizableDocument.getLineOfOffset(SynchronizableDocument.java:397)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:428)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:495)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:349)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:369)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:387)
> 	at org.jboss.tools.common.validation.ValidationErrorManager.addError(ValidationErrorManager.java:374)
> 	at org.jboss.tools.common.validation.TempMarkerManager.addProblem(TempMarkerManager.java:116)
> 	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.AbstractJaxrsElementValidatorDelegate.addProblem(AbstractJaxrsElementValidatorDelegate.java:54)
> 	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsHttpMethodValidatorDelegate.validateTargetAnnotation(JaxrsHttpMethodValidatorDelegate.java:78)
> 	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsHttpMethodValidatorDelegate.validate(JaxrsHttpMethodValidatorDelegate.java:45)
> 	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:255)
> 	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:120)
> 	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.core.ValidatorLauncher.start(ValidatorLauncher.java:77)
> 	at org.eclipse.wst.validation.Validator$V1.validate(Validator.java:768)
> 	at org.eclipse.wst.validation.Validator.validate(Validator.java:405)
> 	at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
> 	at org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
> 	at org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
> 	at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
> 	at org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
> 	at org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
> 	at org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
> 	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
> 10:

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list