in swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/SwaggerGeneratorUtils.java [71:106]
static {
// low order value has high priority
for (ClassAnnotationProcessor<?> processor : SPIServiceUtils
.getOrLoadSortedService(ClassAnnotationProcessor.class)) {
if (classAnnotationProcessors.putIfAbsent(processor.getProcessType(), processor) != null) {
LOGGER.info("ignore duplicated ClassAnnotationProcessor, type={}, processor={}.",
processor.getProcessType().getTypeName(), processor.getClass().getName());
}
}
for (MethodAnnotationProcessor<?> processor : SPIServiceUtils
.getOrLoadSortedService(MethodAnnotationProcessor.class)) {
if (methodAnnotationProcessors.putIfAbsent(processor.getProcessType(), processor) != null) {
LOGGER.info("ignore duplicated MethodAnnotationProcessor, type={}, processor={}.",
processor.getProcessType().getTypeName(), processor.getClass().getName());
}
}
for (ParameterProcessor<?> processor : SPIServiceUtils.getOrLoadSortedService(ParameterProcessor.class)) {
JavaType javaType = processor.getProcessJavaType();
if (parameterProcessors.putIfAbsent(javaType, processor) != null) {
LOGGER.info("ignore duplicated ParameterProcessor, type={}, processor={}.",
javaType.toCanonical(), processor.getClass().getName());
}
}
for (ResponseTypeProcessor processor : SPIServiceUtils.getOrLoadSortedService(ResponseTypeProcessor.class)) {
if (responseTypeProcessors.putIfAbsent(processor.getProcessType(), processor) != null) {
LOGGER.info("ignore duplicated ResponseTypeProcessor, type={}, processor={}.",
processor.getProcessType().getTypeName(), processor.getClass().getName());
}
}
List<Module> modules = SPIServiceUtils.getOrLoadSortedService(Module.class);
Json.mapper().registerModules(modules.toArray(new Module[0]));
}