-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Description
When using a SwaggerSpecFilter
, GET …/swagger.json
fails when accessed by as few as 3 clients.
Partial stack trace (1.5.7):
[err] java.util.ConcurrentModificationException
[err] at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711)
[err] at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:734)
[err] at io.swagger.core.filter.SpecFilter.filterDefinitions(SpecFilter.java:200)
[err] at io.swagger.core.filter.SpecFilter.filter(SpecFilter.java:86)
[err] at io.swagger.jaxrs.listing.ApiListingResource.process(ApiListingResource.java:121)
[err] at io.swagger.jaxrs.listing.ApiListingResource.getListingJson(ApiListingResource.java:154)
[err] at io.swagger.jaxrs.listing.ApiListingResource.getListing(ApiListingResource.java:141)
[err] at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
[err] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[err] at java.lang.reflect.Method.invoke(Method.java:498)
[err] at com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:607)
[err] at [internal classes]
[err] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
[err] at com.ibm.websphere.jaxrs.server.IBMRestServlet.service(IBMRestServlet.java:99)
…
Code to reproduce:
FilterFactory.setFilter(new SwaggerSpecFilter() {
public boolean isPropertyAllowed(Model model, Property property, String propertyName,
Map<String, List<String>> params, Map<String, String> cookies, Map<String, List<String>> headers) {
return true;
}
public boolean isParamAllowed(Parameter parameter, Operation operation, ApiDescription api,
Map<String, List<String>> params, Map<String, String> cookies, Map<String, List<String>> headers) {
return true;
}
public boolean isOperationAllowed(Operation operation, ApiDescription api, Map<String, List<String>> params,
Map<String, String> cookies, Map<String, List<String>> headers) {
return true;
}
});
Metadata
Metadata
Assignees
Labels
No labels