[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