1 package com.atlassian.plugins.rest.module;
2
3 import com.atlassian.plugin.hostcontainer.HostContainer;
4 import com.atlassian.plugin.osgi.factory.OsgiPlugin;
5 import com.atlassian.plugin.servlet.ServletModuleManager;
6 import com.atlassian.plugin.servlet.descriptors.ServletFilterModuleDescriptor;
7 import com.atlassian.plugin.util.validation.ValidationPattern;
8 import com.google.common.base.Preconditions;
9
10 import javax.servlet.Filter;
11
12
13
14
15
16 public class RestServletFilterModuleDescriptor extends ServletFilterModuleDescriptor
17 {
18 private final OsgiPlugin plugin;
19 private final RestDelegatingServletFilter restDelegatingServletFilter;
20 private final RestApiContext restApiContext;
21
22 RestServletFilterModuleDescriptor(OsgiPlugin plugin, HostContainer hostContainer, ServletModuleManager servletModuleManager, RestApiContext restApiContext)
23 {
24 super(Preconditions.checkNotNull(hostContainer), Preconditions.checkNotNull(servletModuleManager));
25 this.restApiContext = Preconditions.checkNotNull(restApiContext);
26 this.plugin = Preconditions.checkNotNull(plugin);
27 this.restDelegatingServletFilter = new RestDelegatingServletFilter(plugin, restApiContext);
28 }
29
30 @Override
31 protected void provideValidationRules(ValidationPattern pattern)
32 {
33 }
34
35 @Override
36 public String getName()
37 {
38 return "Rest Servlet Filter";
39 }
40
41 protected void autowireObject(Object obj)
42 {
43 plugin.autowire(obj);
44 }
45
46 @Override
47 public Filter getModule()
48 {
49 return restDelegatingServletFilter;
50 }
51
52 public String getBasePath()
53 {
54 return restApiContext.getApiPath();
55 }
56
57 public ApiVersion getVersion()
58 {
59 return restApiContext.getVersion();
60 }
61 }