void collectExpressions()

in extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java [73:108]


    void collectExpressions(ExpressionExtractionResultBuildItem result,
            List<ExpressionBuildItem> expressions,
            List<ScriptBuildItem> scripts,
            BuildProducer<GroovyExpressionSourceBuildItem> producer) {
        if (result.isSuccess()) {
            List<ExpressionBuildItem> groovyExpressions = expressions.stream()
                    .filter(exp -> "groovy".equals(exp.getLanguage()))
                    .toList();
            List<ScriptBuildItem> groovyScripts = scripts.stream()
                    .filter(exp -> "groovy".equals(exp.getLanguage()))
                    .toList();
            if (groovyExpressions.isEmpty() && groovyScripts.isEmpty()) {
                return;
            }
            for (ExpressionBuildItem expression : groovyExpressions) {
                String original = expression.getExpression();
                ExpressionUID id = new ExpressionUID(original);
                String name = String.format("%s.%s", PACKAGE_NAME, id);
                String content = toScriptClass(id.asJavaIdentifier(), expression.getLoadedExpression());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Extracting expression:\n\n{}\n", content);
                }
                producer.produce(new GroovyExpressionSourceBuildItem(name, original, content));
            }
            for (ScriptBuildItem script : groovyScripts) {
                String original = script.getContent();
                ScriptUID id = new ScriptUID(original, script.getBindings());
                String name = String.format("%s.%s", PACKAGE_NAME, id);
                String content = toScriptClass(id.asJavaIdentifier(), script.getLoadedContent());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Extracting script:\n\n{}\n", content);
                }
                producer.produce(new GroovyExpressionSourceBuildItem(name, original, content));
            }
        }
    }