В DROOLS, если мы ищем, есть ли значение "foo" в списке {fu, fa, fe, fi, fo, foo, fum, doodle, dee}, когда MVEL анализирует это в DRL, мыполучить что-то вроде этого:
if ("foo" == "fu" || "foo" == "fa" || "foo" == "fe" || ...)
Это нормально, если список относительно небольшой, но нам нужно посмотреть, есть ли в списке zipCodes предоставленный zipCode, поэтому нам нужно создать его что-то вроде этого:
Установите zipCodes = getAllZipCodesInNHNYandHalfOfCA () [Таким образом, вы знаете, что в США приблизительно 40 000 zipCodes]
if (zipCodes.contains (customer.getZipCode ()) {... rule оценивается как true}
Я ищу, как научить DROOLS проводить это сравнение так, как нам нужно, а не так, как сейчас.
Мысли, комментарии, предложения?
Спасибо
Джейсон