1 package com.atlassian.plugin.osgi.container.impl;
2
3 import com.atlassian.plugin.osgi.container.PackageScannerConfiguration;
4
5 import javax.servlet.ServletContext;
6 import java.util.ArrayList;
7 import java.util.Arrays;
8 import java.util.Collections;
9 import java.util.HashMap;
10 import java.util.List;
11 import java.util.Map;
12
13
14
15
16 public class DefaultPackageScannerConfiguration implements PackageScannerConfiguration {
17
18 private List<String> jarIncludes = Arrays.asList("*.jar");
19 private List<String> jarExcludes = Collections.emptyList();
20 private List<String> packageIncludes = Arrays.asList("com.atlassian.*", "com.google.common.*", "javax.*",
21 "net.jcip.*", "org.jfree.*", "org.joda.*", "org.quartz", "org.quartz.*", "com.opensymphony.*",
22 "org.apache.*", "org.ofbiz.*", "org.xml.*", "org.w3c.*", "webwork.*", "org.tuckey.web.filters.urlrewrite.*",
23 "org.bouncycastle*", "org.dom4j*", "org.jdom*", "com.perforce*", "org.slf4j*", "io.atlassian.*");
24 private List<String> packageExcludes = Arrays.asList("com.springframework*", "org.apache.tomcat.*",
25 "org.apache.catalina.*", "org.apache.jasper.*", "org.apache.coyote.*", "org.apache.naming*",
26 "com.atlassian.plugin.osgi.bridge.*");
27 private Map<String, String> packageVersions;
28 private String hostVersion;
29 private ServletContext servletContext;
30
31 public DefaultPackageScannerConfiguration() {
32 this(null);
33 }
34
35
36
37
38
39 public DefaultPackageScannerConfiguration(String hostVersion) {
40 this.hostVersion = hostVersion;
41 jarIncludes = new ArrayList<>(jarIncludes);
42 jarExcludes = new ArrayList<>(jarExcludes);
43 packageIncludes = new ArrayList<>(packageIncludes);
44 packageExcludes = new ArrayList<>(packageExcludes);
45 packageVersions = new HashMap<>();
46 }
47
48
49 public void setJarIncludes(List<String> jarIncludes) {
50 this.jarIncludes = jarIncludes;
51 }
52
53 public void setJarExcludes(List<String> jarExcludes) {
54 this.jarExcludes = jarExcludes;
55 }
56
57 public void setPackageIncludes(List<String> packageIncludes) {
58 this.packageIncludes = packageIncludes;
59 }
60
61 public void setPackageExcludes(List<String> packageExcludes) {
62 this.packageExcludes = packageExcludes;
63 }
64
65
66
67
68
69
70
71 public void setJarPatterns(List<String> includes, List<String> excludes) {
72 this.jarIncludes = includes;
73 this.jarExcludes = excludes;
74 }
75
76
77
78
79
80
81
82 public void setPackagePatterns(List<String> includes, List<String> excludes) {
83 this.packageIncludes = includes;
84 this.packageExcludes = excludes;
85 }
86
87
88
89
90
91
92 public void setPackageVersions(Map<String, String> packageToVersions) {
93 this.packageVersions = packageToVersions;
94 }
95
96 public List<String> getJarIncludes() {
97 return jarIncludes;
98 }
99
100 public List<String> getJarExcludes() {
101 return jarExcludes;
102 }
103
104 public List<String> getPackageIncludes() {
105 return packageIncludes;
106 }
107
108 public List<String> getPackageExcludes() {
109 return packageExcludes;
110 }
111
112 public Map<String, String> getPackageVersions() {
113 return packageVersions;
114 }
115
116 public String getCurrentHostVersion() {
117 return hostVersion;
118 }
119
120 public ServletContext getServletContext() {
121 return servletContext;
122 }
123
124 public void setServletContext(ServletContext servletContext) {
125 this.servletContext = servletContext;
126 }
127 }