Ctrl + space + enter ERASE ALL LINE? BROKEN? * DROOLS 5.0.1 Context assist*
by mehdi bennani
Hi guys,
I have been using drools 4 for couple of months now and I am starting to get the hang of it. We recently decided to move to Dools 5 with Eclipse 3.4.2 (Ganymede).
We unfortunately hit a major 'show stopper' (for us at least). In the DSLR editor: Context Assist + space + enter removes/replaces the whole line, not only the place holder.
In other words:
DSL:
[*][]Log : {msg}=System.out.println("{msg}");
[*][]id1="some id label"
DSLR:
rule "MyRule"
when
then
end
In my DSLR, If I Press L then control space --> the line Log:{msg} appears in the context menu. Hit enter I get
Log :{msg}
Now, If want to replace msg by id1. I position the cursor in the _{msg}, hit ctrl space, id1 shows in the list.
I hit enter the whole line is replaced, hence I am left with
id1
instead of
Log : id1
Is this a setting somewhere in eclipse itself?? I doubt it but maybe...
The same thing use to work 'as expected' in Drools 4. Is this a bug?
thanks.
/elextra
15 years, 1 month
Uses of timer node
by Renato Herebia
Hi!
I'm testing the timer node and I did a simple flow with start node, action
node (System.out.println("action node 1");),
a timer node, other action node (System.out.println("action node 2");) and
the end node. When the process start,
the first action node is triggered, after that, the timer node is activated
and don't pass for the next action node after
the delay time programmed.
Has any configuration to do when working with timer nodes (handlers, etc.)?
Someone has a simple example like
this I'm testing?
Thanks!
--
Renato Herebia
15 years, 1 month
[droolsflow] Constraint Editor
by Anderson vasconcelos
I have a flow that user (Human Task) can choose two ways: Valid Ticket and
Invalid Ticket
To pass to valid way, i used a MinataskClient.Complete and it works.
But to go to invalid way, i try to used MinaTaskClient.fail, but this
command not continue my task.
My question is:
1) Whats the bast way to invalidade a ticket and finish the flow?
2) Its possible to get the task inside Split Constaint? (I think in this
possibility. I get the task and check if it status=='FAILED')
Thanks
15 years, 1 month
[droolsflow] ForEach usage - Version 5.1.0
by Anderson vasconcelos
Hi All
To use a ForEach element i need to access a collection inside my
FactObject. (FactObject.list)
I tried to call FactObject.list inside a CollectionExpressions but this
fail. (Just ok with list defined as a process variable)
*So i do something thats a consider a workaround:*
1- I Create a '"Action Node" before a "ForEach Node"
2-In the "Action Node", i get the FactObject and populate the process
variable that represents FactObject.list :
*FactObject factObject =
(FactObject)drools.getKnowledgeRuntime().getObjects(new
ClassObjectFilter(FactObject.class)).iterator().next();
context.setVariable("list", factObject.getDefeitos());*
3- And on the "Foreach node" i just passed the "list" in the
CollectionExpressions
This is the correct way to do this? Has a better way to get FactObject.list
to use on "For Each Node"?
On Eclipse, the CollectionExpression of forEach don't have a window (Like
Action Editor) to put a MVEL/Java expressions. I think this is a interesting
resource.
15 years, 1 month
Help with Drools Flow
by Nair, Mahesh
Hi,
I have recently started with Drools flows . I am having some trouble using the ruleFlowGroup node.
The way I understood the user guide is that when the flow reaches a ruleFlowGroup the engine will start firing rules associated to the specific rule flow group . But when I try what I see is that the call to the startProcess returns when it reaches a ruleFlowGroup node. The audit logs show that the RuleFlowGroup is activated.
After the return when I explicitly call a fireAllRules the rule group seems to get executed and the flow moves on to the subsequent nodes.
What is the expected behavior? Will the rules start executing automatically when a ruleFlowGroup node is reached or do you have to call fire all rules explicitly?
I am using drools 5
thanks in advance
Mahesh
15 years, 1 month
For each - properties
by Betto Bardi
Hello,
I have been experimenting with the for each loop in Drools Flow, but I cannot get it to work. This is because I don't know how to specify the properties of this node. Could you please have a look at the attached sample and point me in the right direction on how to specify these properties? I'm struggling mainly with the properties: CollectionExpression and Variable Name (marked red in the attached file: screenshot.jpg).
As you can see in the attached file DroolsTest.java my domain model is simple. There are two entities, Person and Loan. A Person can have zero or more Loans. The for each construction in the flow file should execute some rule for each Loan belonging to a Person.
I appreciate your help.
Thanks,
Betto Bardi
15 years, 1 month
Re: [rules-users] unable to resolve method using strict-mode
by cdelgado
Hi all,
I am getting the same problem reported by vladperl. I've got rules and
rulesflows using MVEL2 scripts that work fine in Windows running in JBoss
and junit tests. I've inserted a map into StatefulKnowledgeSession and I am
successfully invoking myMap.myObject.myValue without any casting. However I
am now deploying the application in RedHat with Websphere 7 and I am getting
everywhere errors like:
unqualified type in strict mode for: myObject
unqualified type in strict mode for: myValue
unable to resolve method using strict-mode:
java.lang.Object.get(java.lang.String)]
It seems that somehow the MVEL's Strong Typing Mode has been setup in this
env. This doesn't make sense to me. I rather prefer to believe the error is
misleading and something else is bothering MVEL when parsing my rules and
ruleflow files.
Any help will be much appreciated!
vladperl wrote:
>
>
> Hi Wolfgang,
> Please take a look at attached new example.
> This time the example can demonstrate when strict mode is false we don't
> have to put class cast.
> Beside I finally figured out how to switch strict mode for MVEL dialect.
>
> Best regards,
> Vladimir
>
> Date: Sat, 3 Oct 2009 14:36:10 +0200
> From: wolfgang.laun(a)gmail.com
> To: rules-users(a)lists.jboss.org
> Subject: Re: [rules-users] unable to resolve method using strict-mode
>
> The Java code in the archive just compiles a .drl file, and there's no
> reason this should fail. The class cast would only appear to be missing
> after a Map object is inserted into WM, and the session is run so that the
> rule fires.
>
> -W
>
> 2009/10/2 Vladimir Perlov <vladperl(a)hotmail.com>
>
>
>
>
>
>
> It's compiled and working on Windows without any casting :)
> Check out the test project I attached.
> You will see that the rule will compile from web application (Windows
> only) or with Java SE application. The web application using JSF so in
> case to run it use application server with included JSF library.
>
>
> http://download.java.net/glassfish/v3/promoted/
>
>
> Date: Fri, 2 Oct 2009 19:48:17 +0200
> From: wolfgang.laun(a)gmail.com
>
> To: rules-users(a)lists.jboss.org
> Subject: Re: [rules-users] unable to resolve method using strict-mode
>
> Map() in the .drl file is bound to be interpreted as Map<Object,Object> so
> that a Map.get() returns an Object. To be able to call method
> getSomeMethod() you'd have to cast this result, according to
>
>
> ((SomeClass)$map.get("x")).getSomeMethod()
>
>
> I fail to understand how this could ever be avoided - strict or no strict,
> MVEL or not MVEL.
>
> -W
>
> 2009/10/2 Vladimir Perlov <vladperl(a)hotmail.com>
>
>
>
>
>
>
>
> Hi Wolfgang,
> Thank you very much for quick response!
>
> I tried your suggestion and still getting the following error:
>
> Unable to build expression for 'consequence': Failed to compile: 1
> compilation error(s): - (1,29) unable to resolve method using
> strict-mode: java.lang.Object.getSomeMethod() '
> System.out.println($map.get("x").getSomeMethod());
> ' : [Rule name='TEST']
> At least now I have only 1 compilation error comparing to the previous
> variant.
>
> modified rule:
>
> rule "TEST"
>
>
> dialect "mvel"
> when
> $map : Map()
>
>
> then
> System.out.println($map.get("x").getSomeMethod());
> end
>
>
>
> I believe that problem is related to strict-mode that somehow enforced on
> Linux but not on Windows.
> I tried to remove the strict mode using the the following approach but it
> seems don't have any effect.
> We have web application with many drools rules and it's working on Windows
> but when we deployed the same application to Linux we are getting failed
> compile errors ;)
>
>
>
> KnowledgeBuilderConfiguration config =
> KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
> config.setProperty("drools.dialect.mvel.strict", "false");
>
>
> kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);
>
> Please advise me.
>
> By the way I'm using drools 5.0.1
>
>
> Date: Fri, 2 Oct 2009 18:30:25 +0200
>
>
> From: wolfgang.laun(a)gmail.com
> To: rules-users(a)lists.jboss.org
> Subject: Re: [rules-users] unable to resolve method using strict-mode
>
>
>
> 2009/10/2 Vladimir Perlov <vladperl(a)hotmail.com>
>
>
>
>
>
>
>
>
> Here is the rule that failed to compile on Linux:
>
> rule "TEST"
> dialect "mvel"
> Send
> when
> map : Map()
>
> $map : Map()
>
> or omit '$' in the consequence.
> -W
>
> then
> System.out.println($map.get("x").getSomeMethod());
> end
>
>
>
> Lauren found her dream laptop. Find the PC that’s right for you.
>
>
>
> _______________________________________________
>
> rules-users mailing list
>
> rules-users(a)lists.jboss.org
>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> Hotmail® has ever-growing storage! Don’t worry about storage limits. Check
> it out.
>
>
> _______________________________________________
>
> rules-users mailing list
>
> rules-users(a)lists.jboss.org
>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> _________________________________________________________________
> Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
> http://clk.atdmt.com/GBL/go/177141664/direct/01/
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
View this message in context: http://www.nabble.com/unable-to-resolve-method-using-strict-mode-tp257181...
Sent from the drools - user mailing list archive at Nabble.com.
15 years, 1 month
Re: [rules-users] [droolsflow] ForEach usage - Version 5.1.0 (Anderson vasconcelos)
by Bill Tarr
Anderson,
Could you describe what behavior you are getting when you put a collection in the CollectionExpressions?
I've used a process variable object like FactObject with a List (lets say a List<SubFacts> subFct ) on it. I pass in the FactObject, and make it a named variable in my workflow factObj, and put
CollectionExpression => factObj.subFct
variable => currentSubFact,
I can use that variable within my ForEach loop no problem. My setup is to pass that variable into a subflow, but I don't think that is important.
I may be missing something, is you case different somehow?
Bill
Hi All
To use a ForEach element i need to access a collection inside my
FactObject. (FactObject.list)
I tried to call FactObject.list inside a CollectionExpressions but this
fail. (Just ok with list defined as a process variable)
*So i do something thats a consider a workaround:*
1- I Create a '"Action Node" before a "ForEach Node"
2-In the "Action Node", i get the FactObject and populate the process
variable that represents FactObject.list :
*FactObject factObject =
(FactObject)drools.getKnowledgeRuntime().getObjects(new
ClassObjectFilter(FactObject.class)).iterator().next();
context.setVariable("list", factObject.getDefeitos());*
3- And on the "Foreach node" i just passed the "list" in the
CollectionExpressions
This is the correct way to do this? Has a better way to get FactObject.list
to use on "For Each Node"?
On Eclipse, the CollectionExpression of forEach don't have a window (Like
Action Editor) to put a MVEL/Java expressions. I think this is a interesting
resource.
15 years, 1 month
Error trying to build Drools 5.0 from source
by Mulcahy, Lawrence
Anyone know what this means? I downloaded drools-5.0-src.zip
from http://www.jboss.org/drools/downloads.html. I extracted it,
cded into the top directory and after perusing the README typed
$ mvn -Declipse -Ddocumentation clean install
The output:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='org.drools:docbook-xsl-drools'}' and 'Vertex{label='org.drools:docbook-style-drools'}' introduces to cycle in the graph org.drools:docbook-style-drools --> org.drools:docbook-xsl-drools --> org.drools:docbook-style-drools
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Wed Oct 07 10:33:21 MDT 2009
[INFO] Final Memory: 10M/80M
[INFO] ------------------------------------------------------------------------
15 years, 1 month