Code Examples
A repository of 155 code examples for BeepBeep
SkillChart.java
1 package pingus;
2 
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;
14 import java.io.File;
15 import java.io.FileInputStream;
16 import java.io.FileNotFoundException;
17 import java.io.InputStream;
18 
19 public class SkillChart
20 {
21  public static void main(String[] args) throws FileNotFoundException
22  {
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);
28  ///
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);
33  {
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);
40  }
41  Window win = new Window(gp, 2);
42  Connector.connect(skill, win);
43  ///
44  Pullable p = win.getPullableOutput();
45  while (p.hasNext())
46  {
47  System.out.println(p.pull());
48  }
49  }
50 }