private void configureCamelContext()

in dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/xml/blueprint/BlueprintXmlBeansHandler.java [236:394]


    private void configureCamelContext(CamelContext camelContext, String fileName) {
        Resource resource = camelContext.getCamelContextExtension().getContextPlugin(ResourceLoader.class)
                .resolveResource("file:" + fileName);
        if (!resource.exists()) {
            return;
        }

        try {
            // need to load and parse again as we need to load <camelContext> to configure CamelContext from XML
            Document dom = new XmlConverter().toDOMDocument(resource.getInputStream(), null);
            NodeList camels = dom.getElementsByTagNameNS("http://camel.apache.org/schema/blueprint", "camelContext");
            if (camels.getLength() == 1) {
                Node n = camels.item(0);
                if (n.hasAttributes()) {
                    String value = XmlHelper.getAttribute(n, "id");
                    if (value != null) {
                        camelContext.getCamelContextExtension().setName(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "startupSummaryLevel");
                    if (value != null) {
                        camelContext
                                .setStartupSummaryLevel(
                                        CamelContextHelper.parse(camelContext, StartupSummaryLevel.class, value));
                    }
                    value = XmlHelper.getAttribute(n, "trace");
                    if (value != null) {
                        camelContext.setTracing(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "backlogTrace");
                    if (value != null) {
                        camelContext.setBacklogTracing(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "tracePattern");
                    if (value != null) {
                        camelContext.setTracingPattern(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "traceLoggingFormat");
                    if (value != null) {
                        camelContext.setTracingLoggingFormat(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "debug");
                    if (value != null) {
                        camelContext.setDebugging(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "messageHistory");
                    if (value != null) {
                        camelContext.setMessageHistory(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "sourceLocationEnabled");
                    if (value != null) {
                        camelContext.setSourceLocationEnabled(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "logMask");
                    if (value != null) {
                        camelContext.setLogMask(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "logExhaustedMessageBody");
                    if (value != null) {
                        camelContext.setLogExhaustedMessageBody(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "streamCache");
                    if (value != null) {
                        camelContext.setStreamCaching(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "delayer");
                    if (value != null) {
                        camelContext.setDelayer(CamelContextHelper.parseLong(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "autoStartup");
                    if (value != null) {
                        camelContext.setAutoStartup(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "dumpRoutes");
                    if (value != null) {
                        camelContext.setDumpRoutes(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "useMDCLogging");
                    if (value != null) {
                        camelContext.setUseMDCLogging(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "mdcLoggingKeysPattern");
                    if (value != null) {
                        camelContext.setMDCLoggingKeysPattern(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "useDataType");
                    if (value != null) {
                        camelContext.setUseDataType(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "useBreadcrumb");
                    if (value != null) {
                        camelContext.setUseBreadcrumb(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "allowUseOriginalMessage");
                    if (value != null) {
                        camelContext.setAllowUseOriginalMessage(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "caseInsensitiveHeaders");
                    if (value != null) {
                        camelContext.setCaseInsensitiveHeaders(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "autowiredEnabled");
                    if (value != null) {
                        camelContext.setAutowiredEnabled(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "threadNamePattern");
                    if (value != null) {
                        camelContext.getExecutorServiceManager()
                                .setThreadNamePattern(CamelContextHelper.parseText(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "shutdownRoute");
                    if (value != null) {
                        camelContext.setShutdownRoute(CamelContextHelper.parse(camelContext, ShutdownRoute.class, value));
                    }
                    value = XmlHelper.getAttribute(n, "shutdownRunningTask");
                    if (value != null) {
                        camelContext
                                .setShutdownRunningTask(
                                        CamelContextHelper.parse(camelContext, ShutdownRunningTask.class, value));
                    }
                    value = XmlHelper.getAttribute(n, "shutdownRunningTask");
                    if (value != null) {
                        camelContext.setLoadTypeConverters(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "typeConverterStatisticsEnabled");
                    if (value != null) {
                        camelContext.setTypeConverterStatisticsEnabled(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "loadHealthChecks");
                    if (value != null) {
                        camelContext.setLoadHealthChecks(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "inflightRepositoryBrowseEnabled");
                    if (value != null) {
                        camelContext.getInflightRepository()
                                .setInflightBrowseEnabled(CamelContextHelper.parseBoolean(camelContext, value));
                    }
                    value = XmlHelper.getAttribute(n, "typeConverterExists");
                    if (value != null) {
                        camelContext.getTypeConverterRegistry()
                                .setTypeConverterExists(
                                        CamelContextHelper.parse(camelContext, TypeConverterExists.class, value));
                    }
                    value = XmlHelper.getAttribute(n, "typeConverterExistsLoggingLevel");
                    if (value != null) {
                        camelContext.getTypeConverterRegistry().setTypeConverterExistsLoggingLevel(
                                CamelContextHelper.parse(camelContext, LoggingLevel.class, value));
                    }
                    value = XmlHelper.getAttribute(n, "errorHandlerRef");
                    if (value != null) {
                        camelContext.getCamelContextExtension()
                                .setErrorHandlerFactory(
                                        new RefErrorHandlerDefinition(CamelContextHelper.parseText(camelContext, value)));
                    }
                }
            }
        } catch (Exception e) {
            throw RuntimeCamelException.wrapRuntimeException(e);
        }
    }