[jbosstools-issues] [JBoss JIRA] (JBIDE-12806) Refresh annotation locations in the JAX-RS Metamodel after QuickFix is applied

Xavier Coulon (JIRA) jira-events at lists.jboss.org
Fri Oct 5 04:36:04 EDT 2012


Xavier Coulon created JBIDE-12806:
-------------------------------------

             Summary: Refresh annotation locations in the JAX-RS Metamodel after QuickFix is applied
                 Key: JBIDE-12806
                 URL: https://issues.jboss.org/browse/JBIDE-12806
             Project: Tools (JBoss Tools)
          Issue Type: Task
          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