Формула в строке базы данных - Java - PullRequest
0 голосов
/ 16 июня 2009

Либо это требование странное, либо я должен слишком запутывать себя У меня есть таблица правил с 30 столбцами. Каждая строка в файле канала сравнивается с некоторыми или всеми условиями в зависимости от типа канала. Домен является банковским и приложение для отчетности по кредитам (скажем, сообщая о сумме обеспеченных кредитов и необеспеченных кредитов)

Это моя проблема:

If the (total of collateral amount)> loan principal amount, then consider the principal amount for consolidation

Else if the (total of collateral amount)<loan principal amount, then consider only the amount covered by collateral

У меня есть около 5 подобных сценариев (которые должны настраиваться) пользователями (скажем, если залогом являются денежные средства / акции, тогда учитывайте только денежное обеспечение / обеспечение капитала).

Возможно, ожидается больше этого сценария. Я не уверен, как я должен подойти к этой проблеме. Мой план состоит в том, чтобы создать столбец в таблице правил и иметь некоторые предварительно отформатированные простые условия на английском языке (документировать и обучить пользователей этому), анализировать их с помощью регулярных выражений и преобразовывать их в числа позже. У меня нет знаний / опыта работы с DSL, и это самое лучшее ?? !! о чем я могу думать. Любая помощь станет для меня отличным источником знаний. Благодарю. Arun

1 Ответ

2 голосов
/ 16 июня 2009

Вы можете использовать механизм бизнес-правил для реализации этого вместо реализации собственной логики синтаксического анализа или написания DSL.

Подробнее см. Business Rules Engine . Большинство механизмов правил позволит вам создать грамматику на простом английском языке для определения таких правил. Мы используем ilog JRULES для определения таких правил. Есть несколько других коммерческих и открытых движков правил. Одно из популярных программ с открытым исходным кодом - drools .

...