Skip to content

Commit c4260be

Browse files
committed
fix for #939
1 parent dee290a commit c4260be

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

modules/swagger-jaxrs/src/main/java/com/wordnik/swagger/jaxrs/config/BeanConfig.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import com.wordnik.swagger.config.*;
66

77
import com.wordnik.swagger.annotations.Api;
8+
import com.wordnik.swagger.core.filter.*;
9+
import com.wordnik.swagger.config.FilterFactory;
810

911
import org.reflections.Reflections;
1012
import org.reflections.scanners.ResourcesScanner;
@@ -13,10 +15,15 @@
1315
import org.reflections.util.ClasspathHelper;
1416
import org.reflections.util.ConfigurationBuilder;
1517

18+
import org.slf4j.Logger;
19+
import org.slf4j.LoggerFactory;
20+
1621
import java.util.Set;
1722
import java.util.HashSet;
1823

1924
public class BeanConfig extends AbstractScanner implements Scanner, SwaggerConfig {
25+
Logger LOGGER = LoggerFactory.getLogger(BeanConfig.class);
26+
2027
Reader reader = new Reader(new Swagger());
2128

2229
String resourcePackage;
@@ -202,6 +209,17 @@ public Swagger configure(Swagger swagger) {
202209
for(String scheme : schemes)
203210
swagger.scheme(Scheme.forValue(scheme));
204211
}
212+
if(filterClass != null) {
213+
try {
214+
SwaggerSpecFilter filter = (SwaggerSpecFilter) Class.forName(filterClass).newInstance();
215+
if(filter != null) {
216+
FilterFactory.setFilter(filter);
217+
}
218+
}
219+
catch (Exception e) {
220+
LOGGER.error("failed to load filter", e);
221+
}
222+
}
205223
return swagger.info(info)
206224
.host(host)
207225
.basePath(basePath);

modules/swagger-jaxrs/src/main/java/com/wordnik/swagger/jaxrs/config/ReflectiveJaxrsScanner.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import com.wordnik.swagger.annotations.Api;
44
import com.wordnik.swagger.config.Scanner;
55
import com.wordnik.swagger.config.SwaggerConfig;
6+
import com.wordnik.swagger.config.FilterFactory;
67
import com.wordnik.swagger.models.Swagger;
8+
import com.wordnik.swagger.core.filter.*;
79

810
import org.reflections.Reflections;
911
import org.reflections.scanners.ResourcesScanner;
@@ -58,6 +60,18 @@ public void setResourcePackage(String resourcePackage) {
5860
}
5961

6062
public Swagger configure(Swagger swagger) {
63+
if(filterClass != null) {
64+
try {
65+
SwaggerSpecFilter filter = (SwaggerSpecFilter) Class.forName(filterClass).newInstance();
66+
if(filter != null) {
67+
FilterFactory.setFilter(filter);
68+
}
69+
}
70+
catch (Exception e) {
71+
LOGGER.error("failed to load filter", e);
72+
}
73+
}
74+
6175
return swagger;
6276
}
6377

0 commit comments

Comments
 (0)