хочу сделать;
начать с CEP с любого из элементов массива, включенных в структуру карты, и продолжить с остальными элементами, которые я начал.
карта и структура рисунка:
final Map< Integer,ArrayList<String>> deger = new HashMap<Integer,ArrayList<String>>();
deger.put(1,new ArrayList<String>(Arrays.asList("h:1","l:1","g:0")));
deger.put(2,new ArrayList<String>(Arrays.asList("h:1","l:1","g:1")));
deger.put(3,new ArrayList<String>(Arrays.asList("h:2","l:3","g:1")));
deger.put(4,new ArrayList<String>(Arrays.asList("h:0","l:2","g:2")));
for(int i=1;i<deger.size()+1;i++) {
temp1.add(deger.get(i));
}
Pattern<String,?> pattern = Pattern.<String>begin("start").where(
new SimpleCondition<String>() {
// @Override
public boolean filter(String value) throws Exception {
for (ArrayList<String> aa: temp1){
for (String dd : aa)
if(value.equals(dd)){
return true;
}
}
return false;
}
}
).followedBy("middle").where(
new SimpleCondition<String>() {
@Override
public boolean filter(String value) throws Exception {
return value.equals(temp1.get(1));
}
}
).followedBy("end").where(
new SimpleCondition<String>() {
@Override
public boolean filter(String value) throws Exception {
return value.equals(temp1.get(2));
}
}
);
Моя цель состоит в том, чтобы предупредить элементы arraylist на карте, но порядок элементов arraylist не важен из-за потокового потока в нем. Я хочу перейти к остальным элементам этого массива, где я могу вернуть информацию о этот массив, когда я начинаю с любого массива здесь. Например:
Incoming data = "l:1","h:1","g:0"
my pattern = "h:1","l:1","g:0"
Start -> l:1 find
Middle -> g:0 or h:1 | h:1 find
End -> g:0 find -> alarm