private void addDocsServlets(WebAppContext docsContext) { try { // Load the nifi/docs directory final File docsDir = getDocsDir("docs"); // load the component documentation working directory final File componentDocsDirPath = props.getComponentDocumentationWorkingDirectory(); final File workingDocsDirectory = getWorkingDocsDirectory(componentDocsDirPath); // Load the API docs final File webApiDocsDir = getWebApiDocsDir(); // Create the servlet which will serve the static resources ServletHolder defaultHolder = new ServletHolder("default", DefaultServlet.class); defaultHolder.setInitParameter("dirAllowed", "false"); ServletHolder docs = new ServletHolder("docs", DefaultServlet.class); docs.setInitParameter("resourceBase", docsDir.getPath()); ServletHolder components = new ServletHolder("components", DefaultServlet.class); components.setInitParameter("resourceBase", workingDocsDirectory.getPath()); ServletHolder restApi = new ServletHolder("rest-api", DefaultServlet.class); restApi.setInitParameter("resourceBase", webApiDocsDir.getPath()); docsContext.addServlet(docs, "/html/*"); docsContext.addServlet(components, "/components/*"); docsContext.addServlet(restApi, "/rest-api/*"); docsContext.addServlet(defaultHolder, "/"); logger.info("Loading documents web app with context path set to " + docsContext.getContextPath()); } catch (Exception ex) { logger.error("Unhandled Exception in createDocsWebApp: " + ex.getMessage()); startUpFailure(ex); } }
/** * Generates documentation into the work/docs dir specified by * NiFiProperties. * * @param properties to lookup nifi properties * @param extensionMapping extension mapping */ public static void generate(final NiFiProperties properties, final ExtensionManager extensionManager, final ExtensionMapping extensionMapping) { final File explodedNiFiDocsDir = properties.getComponentDocumentationWorkingDirectory(); logger.debug("Generating documentation for: " + extensionMapping.size() + " components in: " + explodedNiFiDocsDir); documentConfigurableComponent(extensionManager.getExtensions(Processor.class), explodedNiFiDocsDir, extensionManager); documentConfigurableComponent(extensionManager.getExtensions(ControllerService.class), explodedNiFiDocsDir, extensionManager); documentConfigurableComponent(extensionManager.getExtensions(ReportingTask.class), explodedNiFiDocsDir, extensionManager); }
final File frameworkWorkingDir = props.getFrameworkWorkingDirectory(); final File extensionsWorkingDir = props.getExtensionsWorkingDirectory(); final File docsWorkingDir = props.getComponentDocumentationWorkingDirectory(); final Map<File, BundleCoordinate> unpackedNars = new HashMap<>();
props.getComponentDocumentationWorkingDirectory(), NarClassLoadersHolder.getInstance(), extensionManager,
final File frameworkWorkingDir = props.getFrameworkWorkingDirectory(); final File extensionsWorkingDir = props.getExtensionsWorkingDirectory(); final File docsWorkingDir = props.getComponentDocumentationWorkingDirectory();
final File frameworkWorkingDir = props.getFrameworkWorkingDirectory(); final File extensionsWorkingDir = props.getExtensionsWorkingDirectory(); final File docsWorkingDir = props.getComponentDocumentationWorkingDirectory();