1 package com.atlassian.plugins.rest.common.security.jersey;
2
3 import com.google.common.base.Preconditions;
4 import com.sun.jersey.api.model.AbstractMethod;
5 import com.sun.jersey.spi.container.ResourceFilter;
6 import com.sun.jersey.spi.container.ResourceFilterFactory;
7 import com.atlassian.plugins.rest.common.security.AuthenticationContext;
8
9 import javax.ws.rs.ext.Provider;
10 import java.util.Collections;
11 import java.util.List;
12
13
14
15
16
17
18
19 @Provider
20 public class AuthenticatedResourceFilterFactory implements ResourceFilterFactory {
21 private final AuthenticationContext authenticationContext;
22
23 public AuthenticatedResourceFilterFactory(final AuthenticationContext authenticationContext) {
24 this.authenticationContext = Preconditions.checkNotNull(authenticationContext);
25 }
26
27 public List<ResourceFilter> create(AbstractMethod abstractMethod) {
28 return Collections.<ResourceFilter>singletonList(new AuthenticatedResourceFilter(abstractMethod, authenticationContext));
29 }
30 }