[jbosstools-issues] [JBoss JIRA] (JBIDE-18078) Wrong problem marker on binding annotation
Radoslav Rábara (JIRA)
issues at jboss.org
Thu Sep 4 05:12:59 EDT 2014
[ https://issues.jboss.org/browse/JBIDE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Radoslav Rábara closed JBIDE-18078.
-----------------------------------
Verified with JBDS 8.0.0.CR1-v20140831-0335-B201
> Wrong problem marker on binding annotation
> ------------------------------------------
>
> Key: JBIDE-18078
> URL: https://issues.jboss.org/browse/JBIDE-18078
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: webservices
> Affects Versions: 4.2.0.Beta3
> Reporter: Xavier Coulon
> Assignee: Xavier Coulon
> Fix For: 4.2.0.CR1
>
>
> Have a project where there are 2 custom NameBinding annotations, one of them being associated with a Filter or Interceptor, the other not associated with any Filter or Interceptor.
> Put both annotations on a Resource Method, the problem marker (reporting that there is not Filter or Interceptor) may appear on the wrong annotation (ie, the one that _is_ associated with an existing Filter or Interceptor).
> For example:
> {code}
> @Target({ ElementType.TYPE, ElementType.METHOD })
> @Retention(value = RetentionPolicy.RUNTIME)
> @NameBinding
> public @interface CacheControlBinding { }
> {code}
> and
> {code}
> @Target({ ElementType.TYPE, ElementType.METHOD })
> @Retention(value = RetentionPolicy.RUNTIME)
> @NameBinding
> public @interface RequestIfNoneMatchBinding {
> }
> {code}
> on
> {code}
> @RequestScoped
> @Path("/attendees")
> @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
> @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
> public class AttendeesResource {
> @GET
> @CacheControlBinding
> @RequestIfNoneMatchBinding
> public Response getAllAttendees() {
> final List<AttendeeRepresentation> attendees = attendeeService.getAllAttendees().stream()
> .map(a -> AttendeeRepresentation.from(a)).collect(Collectors.toList());
> return Response.ok(attendees).build();
> }
> }
> {code}
> with
> {code}
> @Provider
> @CacheControlBinding
> public class CacheControlNoCacheDirectiveFilter implements ContainerResponseFilter {
> @Override
> public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
> throws IOException {
> responseContext.getHeaders().add("Cache-Control", "no-cache");
> }
> }
> {code}
> In this case, the JAX-RS validator reports a problem on the {{@CacheControlBindong}} annotation on the {{AttendeesResource#getAllAttendees()}} method, while the problem should be located on the {{@RequestIfNoneMatchBinding}} annotation instead.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
More information about the jbosstools-issues
mailing list