@Override public void generate(SchemaDefinition schema) throws Exception { final SchemaVersionProvider schemaVersionProvider = schema.getDatabase().getSchemaVersionProvider(); final String version = schemaVersionProvider != null ? schemaVersionProvider.version(schema) : null; final File file = new File(generator.getOutputDirectory(), schema.getName() + (!StringUtils.isEmpty(version) ? "-" + version : "") + ".html"); log.info("output file: " + file); final File path = file.getParentFile(); if (path != null) path.mkdirs(); final HttpServletRequest request = new SimpleServletRequest(); final HttpServletResponse response = new SimpleServletResponse(file, "utf-8"); final List<TableDefinition> tables = database.getTables(schema); request.setAttribute("totalRelationSvg", totalRelationSvg(tables)); request.setAttribute("relationSvg", relationSvg(tables)); request.setAttribute("database", database); request.setAttribute("enums", database.getEnums(schema)); request.setAttribute("sequences", database.getSequences(schema)); request.setAttribute("tables", tables); jsp.init(new SimpleServletConfig()); jsp.service(request, response); response.getWriter().flush(); response.getWriter().close(); }