Even more; if you don't want to rule's authors to see the real key value of the map in the drop down, you can use aliases in the enumeration definition:
'Map.properties': ['prop1=Property 1', 'prop2=Property 2', 'prop3=Property 3']

Best Regards,

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
- Developer @ http://www.plugtree.com
- Blog @ http://ilesteban.wordpress.com


On Tue, Mar 1, 2011 at 7:24 PM, Esteban Aliverti <esteban.aliverti@gmail.com> wrote:
You need to create the DSL first.
Follow these steps:
1.- Add java.util.Map to package imports (I think you already did this)
2.- Create a new Enumeration with the following content:
'Map.properties': ['prop1', 'prop2', 'prop3']
3.- Create a new DSL with this content:
[when]The property {key:ENUM:Map.properties} of the map is {value}=Map((this["{key}"] == "{value}"))
4.- Create a new Rule and add the DSL sentence to the WHEN part. You should see the drop down.

Note the name of the enumeration and how the variable {key} is defined in the DSL. I think you can also read the enumerations from a Java Enum present on your model, but I'm not sure about it. Does anyone know about this?


Best Regards,

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
- Developer @ http://www.plugtree.com
- Blog @ http://ilesteban.wordpress.com


2011/3/1 ioda100 <eddyhautot@gmail.com>
Yes but for this i will be obliged to create a POJO of an object. And for attributes of that object in DSL i can define values that can take this attribute?

Maybe i don't understand but i don't see how to do with this.

My case :
I have Maps in the session. Each Map has for example 5 properties ("prop1", "prop2", "prop3", "prop4", "prop51") and the value is a string. The Map is Map<String, Object> but generally Object is a String.
So in the When clause i have something like that :
    $m  : Map((this["prop1"] == "test1"))
I have included java.utils.Map in Guvnor. So when i add a when clause i can choose Map in the list but impossible to have "prop1" to "prop5" in a drop down list for attributes of the Map.
Would it be possible to create a Pojo for Map or would it be in conflict with the Map of Java?

Thank you for your time


Le 1/03/2011 17:55, Vincent Legendre [via Drools - Java Rules Engine] a écrit :
Le 01/03/2011 15:39, ioda100 a écrit :
Thanks for your quick answer Esteban.

1) Ok i will have a look at DSL. In fact in my map i know all the properties (about 200). It would be cool to be able to have a drop down list with all these attributes as when we do it with objects for which we gave Pojo to Guvnor.
You can define enumerations for a particular attribute.
Inside a DSL you can constrain a placeholder with that enumeration.
And finally, enums can be static, or dynamic (a interface to implement that returns a list of values).

search the Guvnor's doc in these chapters
1.4.2.4.8. Data enumerations (drop down list configurations)


_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users



If you reply to this email, your message will be added to the discussion below:
http://drools-java-rules-engine.46999.n3.nabble.com/Guvnor-and-drools-implementation-questions-tp2602641p2604255.html
To unsubscribe from Guvnor and drools implementation - questions, click here.


View this message in context: Re: Guvnor and drools implementation - questions
Sent from the Drools - User mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org