Since Toni confirms me even before I post this on the list: Using the Verifier way to get at a column from some spreadsheet is not for the faint at heart. In addition to what Toni wrote: source code in the Drools AST corner isn't even commented.
-W
If you take a look at the Verifier it goes through the Drools AST with a visitor pattern.It starts by using getting the PackageDescr using DrlParser, this uses Drools internals so be warned that it might change in the future.Reader drlReader = new InputStreamReader( stream );PackageDescr descr = new DrlParser().parse( drlReader );After that it goes through the PackageDescr using PackageDescrVisitor. RuleDescrVisitor shows how to get the condition part from each rule.ToniOn Oct 3, 2011, at 8:11 PM, Mark Proctor wrote:On 03/10/2011 18:03, Wolfgang Laun wrote:
A condition does not have a "name", as you write; values of the cellsbelow a condition are (usually) literals.There is no API for extracting parts of a spreadsheet. You can look atthe Drools source code (in the packages org.drools.decisiontable and
.../parser) and write whatever you need - it is not too difficult.You can also look at drools-verifier, as that shows ho to analyse
resulting rule fragments.
Mark-WOn 3 October 2011 17:05, RaviCKota<Ravi.Kota@wellsfargo.com> wrote:
Hi All, for suppose I have a DecisionTable like belowCONDITION ACTION-----------------------------COND1 ACTION1COND2 ACTION2COND3 ACTION3-----------------------------This is just a representation of the DecisionTable. So I need to retrieveall the conditions and store them into a Collection like Set. Does Droolsprovide any such feature.We load the drools as belowPackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new StringReader(drl)); //drl is the filepath ofdecisiontable excel// add the package to a rulebase (deploy the rule package).
RuleBase ruleBase = RuleBaseFactory.newRuleBase();ruleBase.addPackage(builder.getPackage());
I tried to look into api of RuleBase, tried to get the packages, Rules,
Consequence, etc etc, but could not find any method, that gets me thecondition name.When I tried to doPackage[] packages = rulebase.getPackages();for(Package pack : packages){System.out.println("Package Name is : "+pack.getName());Rule[] rules = pack.getRules();for(Rule rule : rules){System.out.println("Rule name is : "+rule.getName());All I get is some representation of each row, but I'm specifically looking
for the value of the first column (CONDITION) for each rule.Please offer some guidance here.--View this message in context: http://drools.46999.n3.nabble.com/Is-it-possible-to-retrieve-the-collection-of-Conditions-from-DecisionTable-tp3390026p3390026.html
Sent from the Drools: User forum mailing list archive at Nabble.com._______________________________________________rules-users mailing listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________rules-users mailing list
rules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users