3 import ca.uqac.lif.cep.Connector;
4 import ca.uqac.lif.cep.GroupProcessor;
5 import ca.uqac.lif.cep.Pullable;
6 import ca.uqac.lif.cep.functions.ApplyFunction;
7 import ca.uqac.lif.cep.io.ReadLines;
8 import ca.uqac.lif.cep.tmf.Window;
9 import ca.uqac.lif.cep.util.FindPattern;
10 import ca.uqac.lif.cep.util.Lists;
11 import ca.uqac.lif.cep.util.Multiset;
12 import ca.uqac.lif.cep.xml.ParseXml;
13 import ca.uqac.lif.cep.xml.XPathFunction;
15 import java.io.FileInputStream;
16 import java.io.FileNotFoundException;
17 import java.io.InputStream;
21 public static void main(String[] args)
throws FileNotFoundException
23 InputStream is =
new FileInputStream(
new File(
"/home/sylvain/Workspaces/beepbeep/crv2016/Source/Pingus/traces/pingus/simple-collides-ok.xml"));
24 ReadLines s_reader =
new ReadLines(is);
25 FindPattern feeder =
new FindPattern(
"(<message>.*?</message>)");
26 ApplyFunction x_reader =
new ApplyFunction(ParseXml.instance);
27 Connector.connect(s_reader, feeder, x_reader);
29 ApplyFunction skill =
new ApplyFunction(
30 new XPathFunction(
"message/characters/character/status/text()"));
31 Connector.connect(x_reader, skill);
32 GroupProcessor gp =
new GroupProcessor(1, 1);
34 Lists.Unpack unpack =
new Lists.Unpack();
35 Multiset.PutInto pi =
new Multiset.PutInto();
36 Connector.connect(unpack, pi);
37 gp.addProcessors(unpack, pi);
38 gp.associateInput(0, unpack, 0);
39 gp.associateOutput(0, pi, 0);
41 Window win =
new Window(gp, 2);
42 Connector.connect(skill, win);
44 Pullable p = win.getPullableOutput();
47 System.out.println(p.pull());