in extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java [157:198]
CamelBeanBuildItem configureLanguage(
JoorExpressionConfig config,
JoorExpressionRecorder recorder,
CamelContextBuildItem context,
ExpressionExtractionResultBuildItem result,
List<JoorExpressionSourceBuildItem> sources) {
if (result.isSuccess() && !sources.isEmpty()) {
final RuntimeValue<JoorExpressionCompiler.Builder> expressionCompilerBuilder = recorder
.expressionCompilerBuilder();
final RuntimeValue<JoorExpressionScriptingCompiler.Builder> expressionScriptingCompilerBuilder = recorder
.expressionScriptingCompilerBuilder();
RuntimeValue<CamelContext> camelContext = context.getCamelContext();
for (JoorExpressionSourceBuildItem source : sources) {
if (source.isScript()) {
recorder.addScript(
expressionScriptingCompilerBuilder,
camelContext,
source.getId(),
source.getClassName());
} else {
recorder.addExpression(
expressionCompilerBuilder,
camelContext,
source.getId(),
source.getClassName());
}
}
final RuntimeValue<JoorLanguage> language = recorder.languageNewInstance(config, expressionCompilerBuilder,
expressionScriptingCompilerBuilder);
if (config.resultType.isPresent()) {
recorder.setResultType(
language,
config.resultType.get());
}
return new CamelBeanBuildItem("joor", JoorLanguage.class.getName(), language);
}
return null;
}