Convierta Java POJO a Drools DRL y viceversa

Tengo una configuración de reglas en la interfaz de usuario que se basa en Java POJO. ¿Cómo podría generar Drools DRL (para pasar a otro componente que coincidirá con los hechos, etc. y devolverá verdadero o falso si la regla coincide)?

También recibo el archivo DRL de la base de datos y para mostrar la regla en la interfaz de usuario, necesito volver a convertir a Java POJO.

Básicamente, ¿hay alguna herramienta o secuencia de comandos que pueda convertir entre Java POJO y el archivo Drools DRL? Si no, ¿cuál es la mejor manera disponible?

¡Muchas gracias!

preguntado el 03 de mayo de 12 a las 16:05

1 Respuestas

No estoy seguro de cuáles son sus POJO de Java. ¿Están representando reglas, patrones, restricciones, etc.?

Si es así, Drools tiene un modelo canónico interno para representar todos los tipos de activos de conocimiento [1]. Sin embargo, no recomendamos usarlo directamente, ya que es una API interna y está sujeta a cambios.

Otra opción para usted es usar la API del generador de descriptores de reglas [2] para generar sus reglas dinámicamente [3].

Finalmente, si tiene una interfaz de usuario basada en la web y desea permitir que los usuarios creen sus reglas allí, tiene la opción de incrustar el editor de reglas de guvnor en su propia aplicación [4].

Espero que esto ayude.

[*] https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/main/java/org/drools/lang/descr

[*] https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/main/java/org/drools/lang/api

[*] https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/lang/api/DescrBuilderTest.java

[*] http://www.plugtree.com/guvnor-embed-asset%E2%80%99s-editor-in-your-application/

contestado el 04 de mayo de 12 a las 17:05

Gracias Edison por tu respuesta. Java POJO en mi caso representa una regla que incluye el nombre de la regla, las secciones "cuando" y "entonces" de la regla de babeo. El nombre del paquete y las importaciones se crean según sea necesario. Buscaré los enlaces que proporcionó y actualizaré aquí. ¡Gracias por tu ayuda! - spark07

Edoson, Link (3) se ajusta a mi necesidad. Ya desarrollé el código de la placa de caldera usando StringBuffer simple, pero sería fácil usar esta API. Gracias por esta valiosa información. - spark07

Todos estos enlaces están fuera de línea, ¿te importaría volver a publicarlos? - Óscar Nevarez

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.