public static ReaderConfig getReaderConfig(ServletContext context) { if (context == null) return null; final Object attr = context.getAttribute(getAttributeName()); if (attr instanceof ReaderConfig) { return (ReaderConfig) attr; } return null; }
@Override public void afterPropertiesSet() throws Exception { swagger = new Swagger(); Info info = new Info(); info.setTitle("GreetingService"); swagger.setInfo(info); Map<String, Object> beans = applicationContext.getBeansWithAnnotation(SpringTimeService.class); Set<Class<?>> classes = new HashSet<Class<?>>(); for (Object bean : beans.values()) { classes.add(bean.getClass()); } Reader reader = new Reader(swagger, ReaderConfigUtils.getReaderConfig(null)); swagger = reader.read(classes); }
@Override public void init(ServletConfig servletConfig) throws javax.servlet.ServletException { super.init(servletConfig); String basePath = null; if (SwaggerContextService.isServletConfigAvailable(servletConfig)) { basePath = servletConfig.getInitParameter("swagger.api.basepath"); if (basePath != null) { String[] parts = basePath.split("://"); if (parts.length > 1) { int pos = parts[1].indexOf("/"); if (pos >= 0) { basePath = parts[1].substring(pos); } else { basePath = null; } } } } new SwaggerContextService().withServletConfig(servletConfig).withBasePath(basePath).initConfig().initScanner(); ReaderConfigUtils.initReaderConfig(servletConfig); }
protected synchronized Swagger scan(Application app) { Swagger swagger = null; Scanner scanner = ScannerFactory.getScanner(); ModelConverters.getInstance().addConverter(new SwaggerModelConverter()); LOGGER.debug("[SWAGGER] using scanner " + scanner); if (scanner != null) { SwaggerSerializers.setPrettyPrint(scanner.getPrettyPrint()); swagger = (Swagger) context.getAttribute("swagger"); Set<Class<?>> classes = scanner.classes(); if (classes != null) { Reader reader = new Reader(swagger, ReaderConfigUtils.getReaderConfig(context)); swagger = reader.read(classes); if (scanner instanceof SwaggerConfig) { swagger = ((SwaggerConfig) scanner).configure(swagger); } else { SwaggerConfig configurator = (SwaggerConfig) context.getAttribute("reader"); if (configurator != null) { LOGGER.debug("configuring swagger with " + configurator); configurator.configure(swagger); } else { LOGGER.debug("no configurator"); } } context.setAttribute("swagger", swagger); } } initialized = true; return swagger; }
AppGlobals.get().setGlobal(ServletConfig.class, servletConfig); ReaderConfigUtils.initReaderConfig(servletConfig);
Reader reader = new Reader(swagger, ReaderConfigUtils.getReaderConfig(context)); swagger = reader.read(classes); if (scanner instanceof SwaggerConfig) {
AppGlobals.get().setGlobal(ServletConfig.class, servletConfig); ReaderConfigUtils.initReaderConfig(servletConfig);
public static void initReaderConfig(ServletConfig config) { if ("true".equals(config.getInitParameter("scan.all.resources"))) { final DefaultReaderConfig rc = new DefaultReaderConfig(); rc.setScanAllResources(true); final Set<String> ignoredRoutes = new LinkedHashSet<String>(); for (String item : StringUtils.trimToEmpty(config.getInitParameter("ignore.routes")).split(",")) { final String route = StringUtils.trimToNull(item); if (route != null) { ignoredRoutes.add(route); } } rc.setIgnoredRoutes(ignoredRoutes); config.getServletContext().setAttribute(getAttributeName(), rc); } }