Я хочу делать; чтобы начать с CEP с любым из элементов Arraylist, включенных в структуру карты, и продолжить с остальными элементами Arraylist, которые я начал. карта и структура рисунка:
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));
}
}
);
Моя цель - дать предупреждение с помощью элементов arrayylist на карте, но порядок элементов 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
temp1
? - person Dominik Wosiński   schedule 09.04.2019"h:1","l:1","g:0"
поступит в любом порядке, но если h: 1, l: 1, g: 2, то здесь не будет тревоги? - person Dominik Wosiński   schedule 09.04.2019