[rules-users] Drools 5.0 concat string in matches of regular expression

Edson Tirelli ed.tirelli at gmail.com
Wed Jan 13 12:10:30 EST 2010


   What version of MVEL are you using?

   Edson

2010/1/13 Lukas Svoboda <lukasvoboda at 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 at 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-expression-tp119197p119197.html
> >> Sent from the Drools - User mailing list archive at Nabble.com.
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at 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 at 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-expression-tp119197p119353.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100113/e6bdde8e/attachment.html 


More information about the rules-users mailing list