Соответствующие факты слюни через Wrapper - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть POJO, который я хочу проверить, существует ли он в списке POJO.Я могу сделать это, используя следующее правило:

when
    $pojo:Pojo() and
    $pojoLs:PojoLS() and
    $test:PojoLS() from collect (Pojo(this.equals($pojo)) from $pojoLs)
then
    System.out.println($test.size());

Это правило соответствует, но теперь я хочу обернуть POJO и список POJO в контейнеры, которые имеют ключ (строку) и значение (POJO или список POJO).Я назову классы-оболочки PojoWR и PojoLSWR.Ниже приведено то же правило, что и выше, но с использованием оболочек:

when
    $pojo:PojoWR("pojo.key";) and
    $pojoLs:PojoLSWR("pojols.key";) and
    $test:PojoLS() from collect (Pojo(this.equals($pojo.value)) from $pojoLs.value)
then
    System.out.println($test.size());

Единственное отличие состоит в том, что я сопоставляю свой POJO и список POJO, используя ключ в оболочке, и получаю доступ к моим значениям из оболочек, используя.value, в противном случае логика та же, что я вижу.Однако список не заполняется в правиле с использованием оболочек (тогда блок блок печатает 0 для $ test.size (), когда он должен вывести 1, как это делается в правиле без оболочек).

...