I'm not sure whether mvel version matters for compilation of drools, anyway
I'm using mvel2.jar distributed in drools5.0.1-binaries.
I'm more suspicious whether it's related to compiler since it requires
eclipse jdt (I'm using org.eclipse.jdt.core_3.4.2.v_883_R34x.jar) unlike
drools 4.0.7 I was using originally.
Do I have to setup somehow KnowledgeBuilder by creating custom
KnowledgeBuilderConfiguration.
I assume default is java dialect with Eclipse compiler. Is it right?
Lukas
Edson Tirelli-4 wrote:
What version of MVEL are you using?
Edson
2010/1/13 Lukas Svoboda <lukasvoboda(a)googlemail.com>
>
> I'm getting some generic not-anything-saying error message:
> [java] Unable to determine the used declarations.
> [java] unexpected symbol ' ' : [Rule name='BL: Block mail
domain']
>
> When I remove that concatenated matches expression (".*@" +
> blacklistItemValue + ".*") it compiles.
>
> Complete rule looks like:
> rule "BL: Block mail domain" ruleflow-group "black-list"
> salience 1001
> when
> not RejectionResult();
>
> customer : CustomerPartyDRL();
> blackList: BlacklistDRL();
>
> onBlackList : ArrayList( size > 0 )
> from collect( BlacklistItemDRL( blacklistItemType matches
> "MAIL_DOMAIN" &&
> customer.currentContactInformation.partyEmailAddress.email
> matches blacklistItemValue )
> from blackList.getItems())
> then
> auditLogger.addDeclineRule( "BL: Block mail domain " +
>
>
> customer.getCurrentContactInformation().getPartyEmailAddress().getEmailLowercase());
>
> RejectionResult rejection = new OrderRejectionResult( );
> rejection.setMessage("BL: Block mail domain " +
>
>
> customer.getCurrentContactInformation().getPartyEmailAddress().getEmailLowercase());
>
> insert( rejection );
>
> end
>
>
> And fragment of the code I'm using to compile rule package is:
>
> Reader testSource = new
>
>
InputStreamReader(RuleCompiler.class.getResourceAsStream("/perthTestRule.drl"));
> Reader sourceFlow = new
>
>
InputStreamReader(RuleCompiler.class.getResourceAsStream("/perthScoreCustomerFlow.rf"));
>
> // add the package to a rulebase (deploy the rule
> package).
> KnowledgeBase kbase =
> KnowledgeBaseFactory.newKnowledgeBase();
> KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();
>
>
> kbuilder.add(ResourceFactory.newReaderResource(testSource),
> ResourceType.DRL);
>
> kbuilder.add(ResourceFactory.newReaderResource(sourceFlow),
> ResourceType.DRF);
>
> System.out.println(kbuilder.getErrors().toString());
>
> Collection<KnowledgePackage> pkgs =
> kbuilder.getKnowledgePackages();
>
> try {
> kbase.addKnowledgePackages(pkgs);
>
> StatefulKnowledgeSession ksession =
> kbase.newStatefulKnowledgeSession();
>
> System.out.println("Knowladge session
> initialized...");
> } catch (Exception e) {
> e.printStackTrace();
> }
>
>
> Edson Tirelli-4 wrote:
> >
> > It should work... what error do you see?
> >
> > Edson
> >
> > 2010/1/13 Lukas Svoboda <lukasvoboda(a)googlemail.com>
> >
> >>
> >> How can I get drools 5.0.1 compiled if I have regular expression
> matches
> >> part
> >> concat from static text + dynamic string?
> >>
> >> See example:
> >> onBlackList : ArrayList( size > 0 )
> >> from collect( BlacklistItemDRL( blacklistItemType
> matches
> >> "MAIL_DOMAIN" &&
> >> customer.currentContactInformation.partyEmailAddress.email
> >> matches (".*@" + blacklistItemValue + ".*") )
> >> from blackList.getItems())
> >>
> >>
> >> Problem is when I'm trying to do email matches (".*@" +
> >> blacklistItemValue
> >> +
> >> ".*"), which worked in drools 4.0.7 but can't be compiled now
in 5.0.1
> >>
> >> Is there any way how to use in matches part of reg exp dynamic
> property
> >> value plus static string?
> >>
> >> Thanks,
> >> Lukas
> >> --
> >> View this message in context:
> >>
>
http://n3.nabble.com/Drools-5-0-concat-string-in-matches-of-regular-expre...
> >> Sent from the Drools - User mailing list archive at
Nabble.com.
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users(a)lists.jboss.org
> >>
https://lists.jboss.org/mailman/listinfo/rules-users
> >>
> >
> >
> >
> > --
> > Edson Tirelli
> > JBoss Drools Core Development
> > JBoss by Red Hat @
www.jboss.com
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org
> >
https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> --
> View this message in context:
>
http://n3.nabble.com/Drools-5-0-concat-string-in-matches-of-regular-expre...
> Sent from the Drools - User mailing list archive at
Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @
www.jboss.com
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users