test_class.declarator: camelContext
test_class.modifier: private static
test_class.original_string: private static CamelContext camelContext;
test_class.type: CamelContext
test_class.var_name: camelContext
test_class.declarator: splitter
test_class.modifier: private
test_class.original_string: private Splitter splitter;
test_class.type: Splitter
test_class.var_name: splitter
test_class.declarator: splitRule
test_class.modifier: private
test_class.original_string: private TestSplitRule splitRule;
test_class.type: TestSplitRule
test_class.var_name: splitRule
test_class.declarator: aggregationStrat
test_class.modifier: private
test_class.original_string: private TestAggregationStrategy aggregationStrat;
test_class.type: TestAggregationStrategy
test_class.var_name: aggregationStrat
test_class.declarator: dest
test_class.modifier: private
test_class.original_string: private TestProcessor dest;
test_class.type: TestProcessor
test_class.var_name: dest
test_class.file: platform-camel/core/src/test/java/org/openehealth/ipf/platform/camel/core/process/splitter/SplitterTest.java
test_class.identifier: SplitterTest
test_case.body: @Test
      public void testSplitRuleWithArrayResult() throws Exception {
          Exchange origExchange = createTestExchange();
          origExchange.getIn().setBody("bla,blu");
          Splitter splitterWithArrayResult = new Splitter(new Expression() {
              @Override
              public <T> T evaluate(Exchange exchange, Class<T> type) {
                  return type.cast(getContent(exchange).split(","));            
              }}, dest);
          splitterWithArrayResult.aggregate(new TestAggregationStrategy());
  
          splitterWithArrayResult.process(origExchange);
          
          List<Exchange> received = dest.getReceived();
          assertEquals(2, received.size());
          
          assertEquals("bla", getContent(received.get(0)));
          assertEquals("blu", getContent(received.get(1)));
          
          assertEquals("bla:blu", origExchange.getOut().getBody());
      }
test_case.class_method_signature: SplitterTest.testSplitRuleWithArrayResult()
test_case.full_signature: @Test public void testSplitRuleWithArrayResult()
test_case.identifier: testSplitRuleWithArrayResult
test_case.invocations: createTestExchange setBody getIn cast split getContent aggregate process getReceived assertEquals size assertEquals getContent get assertEquals getContent get assertEquals getBody getOut
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSplitRuleWithArrayResult()
focal_class.declarator: splitRule
focal_class.modifier: private final
focal_class.original_string: private final Expression splitRule;
focal_class.type: Expression
focal_class.var_name: splitRule
focal_class.declarator: DEFAULT_AGGREGATION_STRATEGY = 
          new UseLatestAggregationStrategy()
focal_class.modifier: private static final
focal_class.original_string: private static final UseLatestAggregationStrategy DEFAULT_AGGREGATION_STRATEGY = 
          new UseLatestAggregationStrategy();
focal_class.type: UseLatestAggregationStrategy
focal_class.var_name: DEFAULT_AGGREGATION_STRATEGY
focal_class.declarator: aggregationStrategy = DEFAULT_AGGREGATION_STRATEGY
focal_class.modifier: private
focal_class.original_string: private AggregationStrategy aggregationStrategy = DEFAULT_AGGREGATION_STRATEGY;
focal_class.type: AggregationStrategy
focal_class.var_name: aggregationStrategy
focal_class.file: platform-camel/core/src/main/java/org/openehealth/ipf/platform/camel/core/process/splitter/Splitter.java
focal_class.identifier: Splitter
focal_class.class_method_signature: Splitter.Splitter(Expression splitRule, Processor processor)
focal_class.full_signature: public  Splitter(Expression splitRule, Processor processor)
focal_class.identifier: Splitter
focal_class.modifiers: public
focal_class.parameters: (Expression splitRule, Processor processor)
focal_class.signature:  Splitter(Expression splitRule, Processor processor)
focal_class.class_method_signature: Splitter.aggregate(AggregationStrategy strategy)
focal_class.full_signature: public Splitter aggregate(AggregationStrategy strategy)
focal_class.identifier: aggregate
focal_class.modifiers: public
focal_class.parameters: (AggregationStrategy strategy)
focal_class.return: Splitter
focal_class.signature: Splitter aggregate(AggregationStrategy strategy)
focal_class.class_method_signature: Splitter.processNext(Exchange origExchange)
focal_class.full_signature: @Override protected void processNext(Exchange origExchange)
focal_class.identifier: processNext
focal_class.modifiers: @Override protected
focal_class.parameters: (Exchange origExchange)
focal_class.return: void
focal_class.signature: void processNext(Exchange origExchange)
focal_class.class_method_signature: Splitter.finalizeAggregate(Exchange origExchange, Exchange aggregate)
focal_class.full_signature: protected void finalizeAggregate(Exchange origExchange, Exchange aggregate)
focal_class.identifier: finalizeAggregate
focal_class.modifiers: protected
focal_class.parameters: (Exchange origExchange, Exchange aggregate)
focal_class.return: void
focal_class.signature: void finalizeAggregate(Exchange origExchange, Exchange aggregate)
focal_class.class_method_signature: Splitter.finalizeSubExchange(Exchange origExchange, Exchange subExchange, SplitIndex index)
focal_class.full_signature: protected void finalizeSubExchange(Exchange origExchange, Exchange subExchange, SplitIndex index)
focal_class.identifier: finalizeSubExchange
focal_class.modifiers: protected
focal_class.parameters: (Exchange origExchange, Exchange subExchange, SplitIndex index)
focal_class.return: void
focal_class.signature: void finalizeSubExchange(Exchange origExchange, Exchange subExchange, SplitIndex index)
focal_class.class_method_signature: Splitter.processAllResults(Exchange origExchange,
              Iterable splitResult)
focal_class.full_signature: private Exchange processAllResults(Exchange origExchange,
              Iterable splitResult)
focal_class.identifier: processAllResults
focal_class.modifiers: private
focal_class.parameters: (Exchange origExchange,
              Iterable splitResult)
focal_class.return: Exchange
focal_class.signature: Exchange processAllResults(Exchange origExchange,
              Iterable splitResult)
focal_class.class_method_signature: Splitter.processResult(final Exchange origExchange,
              final SplitIndex index, 
              final Object splitPart)
focal_class.full_signature: private Exchange processResult(final Exchange origExchange,
              final SplitIndex index, 
              final Object splitPart)
focal_class.identifier: processResult
focal_class.modifiers: private
focal_class.parameters: (final Exchange origExchange,
              final SplitIndex index, 
              final Object splitPart)
focal_class.return: Exchange
focal_class.signature: Exchange processResult(final Exchange origExchange,
              final SplitIndex index, 
              final Object splitPart)
focal_class.class_method_signature: Splitter.doAggregate(Exchange aggregate, Exchange subExchange)
focal_class.full_signature: private Exchange doAggregate(Exchange aggregate, Exchange subExchange)
focal_class.identifier: doAggregate
focal_class.modifiers: private
focal_class.parameters: (Exchange aggregate, Exchange subExchange)
focal_class.return: Exchange
focal_class.signature: Exchange doAggregate(Exchange aggregate, Exchange subExchange)
focal_class.class_method_signature: Splitter.evaluateSplitRule(Exchange origExchange)
focal_class.full_signature: private Iterable evaluateSplitRule(Exchange origExchange)
focal_class.identifier: evaluateSplitRule
focal_class.modifiers: private
focal_class.parameters: (Exchange origExchange)
focal_class.return: Iterable
focal_class.signature: Iterable evaluateSplitRule(Exchange origExchange)
focal_class.superclass: extends DelegateProcessor
focal_method.body: public Splitter aggregate(AggregationStrategy strategy) {
          aggregationStrategy =
              strategy != null ? strategy : DEFAULT_AGGREGATION_STRATEGY;
          return this;
      }
focal_method.class_method_signature: Splitter.aggregate(AggregationStrategy strategy)
focal_method.full_signature: public Splitter aggregate(AggregationStrategy strategy)
focal_method.identifier: aggregate
focal_method.modifiers: public
focal_method.parameters: (AggregationStrategy strategy)
focal_method.return: Splitter
focal_method.signature: Splitter aggregate(AggregationStrategy strategy)