public static SplitDefinition split(ProcessorDefinition<?> self, Closure<?> expression) { return self.split(toExpression(expression)); }
@Override public Optional<ProcessorDefinition> handle(SplitInline step, ProcessorDefinition route, SyndesisRouteBuilder routeBuilder) { String languageName = step.getLanguage(); String expressionDefinition = step.getExpression(); if (ObjectHelper.isEmpty(languageName) && ObjectHelper.isEmpty(expressionDefinition)) { return Optional.of(route.split(Builder.body())); } else { Objects.requireNonNull(languageName, "Expression language should not be null"); Objects.requireNonNull(expressionDefinition, "Expression should not be null"); // A small hack until https://issues.apache.org/jira/browse/CAMEL-12079 // gets fixed so we can support the 'bean::method' annotation as done by // Function step definition if ("bean".equals(languageName)) { if (expressionDefinition.contains("::")) { expressionDefinition = expressionDefinition.replace("::", "?method="); } } final CamelContext context = routeBuilder.getContext(); final Language language = context.resolveLanguage(languageName); final Expression expression = language.createExpression(expressionDefinition); final ProcessorDefinition split = route.split(expression); return Optional.of(split); } } }
@Override public Optional<ProcessorDefinition> handle(Split step, ProcessorDefinition route, SyndesisRouteBuilder routeBuilder) { CamelContext context = routeBuilder.getContext(); Expression expression = JsonSimpleHelpers.getMandatoryExpression(context, step, step.getExpression()); ProcessorDefinition split = route.split(expression).marshal().json(JsonLibrary.Jackson); routeBuilder.addSteps(split, step.getSteps()); return Optional.empty(); } }
.split(bodyAs(String.class).tokenize(importConfiguration.getLineSeparator())) .log(LoggingLevel.DEBUG, "Splitted into ${exchangeProperty.CamelSplitSize} records") .setHeader(RouterConstants.HEADER_CONFIG_TYPE, constant(configType))
Split step = (Split) item; Expression expression = getMandatoryExpression(step, step.getExpression(), step.getLanguage()); SplitDefinition split = route.split(expression); addSteps(split, step.getSteps()); } else if (item instanceof Choice) {