20 import ca.uqac.lif.cep.Connector;
21 import ca.uqac.lif.cep.GroupProcessor;
22 import ca.uqac.lif.cep.functions.Cumulate;
23 import ca.uqac.lif.cep.functions.CumulativeFunction;
24 import ca.uqac.lif.cep.functions.TurnInto;
25 import ca.uqac.lif.cep.tmf.Fork;
26 import ca.uqac.lif.cep.tmf.QueueSource;
27 import ca.uqac.lif.cep.tmf.VariableStutter;
28 import ca.uqac.lif.cep.util.Numbers;
35 QueueSource values =
new QueueSource();
36 values.setEvents(l_values);
38 QueueSource numbers =
new QueueSource();
39 numbers.setEvents(l_numbers);
41 VariableStutter vs =
new VariableStutter();
42 Connector.connect(values, 0, vs, 0);
43 Connector.connect(numbers, 0, vs, 1);
44 Fork fork =
new Fork(2);
45 Connector.connect(vs, fork);
46 TurnInto one =
new TurnInto(1);
47 Connector.connect(fork, 0, one, 0);
48 Cumulate sum_one =
new Cumulate(
new CumulativeFunction<Number>(Numbers.addition));
49 Connector.connect(one, sum_one);
50 Cumulate sum_values =
new Cumulate(
new CumulativeFunction<Number>(Numbers.addition));
51 Connector.connect(fork, 1, sum_values, 0);
52 addProcessors(values, numbers, vs, fork, one, sum_one, sum_values);
53 associateOutput(0, sum_one, 0);
54 associateOutput(1, sum_values, 0);