split-up: guvnor repository unfrozen + check settings
by Geoffrey De Smet
The split-off of guvnor is done, the repository is ready to be used.
See below how to get started.
But before you get started, please *check these settings*:
* *Do not include @author tags in new files*
o For motivation see: https://issues.jboss.org/browse/JBRULES-2869
o All author tags have been stripped (done during split-up)
* *Line endings are unix (\n)*
o All files now have unix line endings (done during split-up)
* *Do not use tab characters (\t)…
[View More]*
o All flies now use spaces instead of tabs (done during split-up)
* Encoding for all files (except property files) is UTF-8
o Not changes during split-up
For detailed instructions on how to configure this fast correctly, see
the README.txt file, currently still at:
https://github.com/droolsjbpm/droolsjbpm/blob/master/README.txt#L118
How to get started
============
// Close eclipse/intellij
cd ~/projects
// Move the old repostory out of the way
mv droolsjbpm monolitic-droolsjbpm
// Make a directory to hold all the new repositories
mkdir droolsjbpm
cd droolsjbpm
git clone git@github.com:droolsjbpm/guvnor.git guvnor
git clone git@github.com:droolsjbpm/droolsjbpm-tools.git droolsjbpm-tools
// As the split-up continues, you'll be able to add more repo's
// Make a new workspace in Eclipse/IntelliJ
// Add each of the new repo's as maven projects to that new workspace
Temporary workaround during the next week
============================
Because the split-up is still ongoing (not everything split up yet + the
hudson jobs don't deploy snapshot yet),
you 'll need to do this to get it to work, because the repo's still
depend on the old parent pom for now:
cd ~/projects
// go the old repo and get it up to date
cd monolitic-droolsjbpm
git pull --rebase
// Just build and install the parent pom
mvn clean install -N
cd ..
cd droolsjbpm
cd guvnor
mvn clean install -DskipTests
cd ..
cd droolsjbpm-tools
mvn clean install -DskipTests
Status of split-up
===========
Guvnor and droolsjbpm-tools are unfrozen and mostly ready.
Integration is starting now, might take till tomorrow.
Drools will be started Wednesday.
droolsjbpm-knowledge and droolsjbpm-parent will be started later this week
drools-planner has to be redone.
droolsjbpm-dist will be started after those.
General cleanup and improvements can run into next week.
--
With kind regards,
Geoffrey De Smet
[View Less]
14 years, 1 month
Misleading documentation? Eval-uate your understanding!
by Wolfgang Laun
Compare these three quotes from the current Expert documentation:
(1) Return Value restriction (...) must return results that do not depend on
time.
(2) An inline eval constraint (...) expression (...) expression must be
constant over time.
(3) [CE] Evals (...) are (...) ideal (...) when functions return values that
change over time.
Note that this appears to mean that the behaviour of (1) == (2) != (3).
Many things can or must "change over time:" fact data, global data, results
of …
[View More]constructors such as new Date() or methods such as
System.currentTimeMillis().
So what can I use in an Eval CE that cannot be used in a Return Value or
Inline Eval?
Perhaps this is trying to convey some notion of caching for constraints and
the evaluation strategy for LHS, but then the wording is insufficient. Let's
make an experiment.
Example 1: Given these rules and one pair of facts A, B, which of the three
rules ab1, ab2, ab3 will fire after the last rule (a) fires? There are 8
possible answers. (You may notice that there is some redundancy in each
rule.)
rule ab1
when
A( $va:va, $b: b ) eval( $va + $b.getVb() > 100 )
B( this == $b, $vb: vb ) eval( $va + $vb > 100 )
then
System.out.println( "ab1: a+b > 100" );
end
rule ab2
when
A( $va:va, $b: b , eval( $va + $b.getVb() > 100 ) )
B( this == $b, $vb: vb, eval( $va + $vb > 100 ) )
then
System.out.println( "ab2: a+b > 100" );
end
rule ab3
when
$a: A( $b: b , $va: va > ( 100 - $b.getVb() ) )
B( this == $b, $vb: vb > ( 100 - $a.getVa() ) )
then
System.out.println( "ab3: a+b > 100" );
end
rule a
salience -10
no-loop true
when
$a: A( $va: va )
$b: B( $vb: vb )
then
modify( $b ){ setVb( 200 ) }
end
Example 2: Now change the first line in the when parts according to:
ab1:
A( $va:va, $b: b )
ab2:
A( $va:va, $b: b )
ab3:
$a: A( $b: b )
Which of the three rules ab1, ab2, ab3 will fire now after the last rule (a)
fires?
Wolfgang
PS: Scroll down for the answers.
v
v
v
v
v
v
v
Example 1: None of the rules fires.
Example 2: All three rules fire.
[View Less]
14 years, 1 month
Drools integration still frozen for split-up (including grid, camel, server, pipeline, spring, seam, simulator, ...).
by Geoffrey De Smet
Just for clarity's sake:
the drools integration modules are still frozen (including grid, camel,
server, pipeline, spring, seam, simulator, ...).
The rule engine drools modules (including drools-core, drools-compiler,
drools-jsr94, drools-decisiontables, drools-verifier, ...) will be
frozen from Wednesday morning.
--
With kind regards,
Geoffrey De Smet
14 years, 1 month
Drools 5 load drl rule file from file system.
by stefano82
hello,
i devloped a custom rule editor able to create drl file and save them in
file system under a given directory. (e.g. c:\savedRules\rule.drl).
The problem is that once the rule is saved i need to run it with drools
engine.
In my class i try to load rule in this way:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("c:\savedRules\rule.drl"),
ResourceType.DRL);
but its doesn't work. the exception is "rule.drl …
[View More]cannot be opened because it
does not exist" but it actually exists....
What am I doing wrong? there is another way to load rules directly from file
sistem?
thanks in advice.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-5-load-drl-rul...
Sent from the Drools - Dev mailing list archive at Nabble.com.
[View Less]
14 years, 1 month
Re: [rules-dev] [rules-users] hardcore masterclass (west london)
by Mark Proctor
On 12/02/2011 16:53, Greg Barton wrote:
> I'd be interested in listening in if you can webcast it.
See previous email :) probably way to unstuctured. Think of it more as
pair programming mentoring, than formal teaching. Which works great with
two or three people in a room together.
I could be tempted to do some remote sessions, shared desktop etc -
although in reality this would be no different from our current IRC
availability, where we are always willing to talk through core code with …
[View More]
people. Remote voice can also often by very dry and boring. What I need
to avoid is formal lecturing, I don't have the time to prepare for that.
But I could talk through some of the classes and data structures.
I guess it depends how serious peple are out there. If there are two or
three people that say they'll make time to do some core work each week,
I would be willing to formalise more of the content. But I'm reluctant
to do that without some quid pro quo :)
My goal from this is to help some people who have wanted to do core
engine work, who have the desire, but not quite sure how to start.
Mark
>
> GreG
>
> On Feb 12, 2011, at 10:27, Mauricio Salatino <salaboy(a)gmail.com
> <mailto:salaboy@gmail.com>> wrote:
>
>> I'm really interested in that kind of courses, but I'm pretty far
>> away. Can I help you creating material and content for those courses?
>> In that way we can share the meetups knowledge in different places.
>>
>> Greetings.
>>
>>
>> On Sat, Feb 12, 2011 at 12:56 PM, Mark Proctor <mproctor(a)codehaus.org
>> <mailto:mproctor@codehaus.org>> wrote:
>>
>> I was just wondering if anyone was interested in learning hard
>> core rule
>> engine theory, with the aim of helping you to develop some core
>> engine
>> features and be involved in the next generation Drools engine. If
>> this
>> interests anyone let me know and I can organise some meetups,
>> probably
>> based in West London (Chiswick).
>>
>> Mark
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>>
>> --
>> - CTO @ http://www.plugtree.com
>> - MyJourney @ http://salaboy.wordpress.com
>> - Co-Founder @ http://www.jbug.com.ar
>>
>> - Salatino "Salaboy" Mauricio -
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
[View Less]
14 years, 1 month
hardcore masterclass (west london)
by Mark Proctor
I was just wondering if anyone was interested in learning hard core rule
engine theory, with the aim of helping you to develop some core engine
features and be involved in the next generation Drools engine. If this
interests anyone let me know and I can organise some meetups, probably
based in West London (Chiswick).
Mark
14 years, 2 months
Status of Guvnor split-up: not done yet
by Geoffrey De Smet
An update on the status of the Guvnor split-up:
I still have some work before the Guvnor split-up is done and I can
unfreeze the code to you guys.
I'll send another mail when it's done. It might take me until into the
Monday afternoon.
--
With kind regards,
Geoffrey De Smet
14 years, 2 months
Split-off of integration on Monday (including grid, camel, server, pipeline, spring, seam, simulator, ...)
by Geoffrey De Smet
Hi guys,
I 'll be splitting off droolsjbpm-integration into it's own repository
next Monday 14-FEB-2011.
*Make sure that all your changes are committed and pushed to master
before Sunday 14-FEB-2011.*
Contact me if that date doesn't work out for you.
Guvnor might be finished today/tomorrow and drools itself will probably
follow Wednesday (more info later).
Here's the list of the modules that will be moved for integration:
* repo droolsjbpm-integration (groupId org.drools or
org.…
[View More]drools.integration)
o drools-camel
o drools-camel-server
+ renamed from drools-server
o drools-pipeline
+ (deprecated)
o drools-seam
+ drools-seam2
# TODO do we want to keep this?
+ drools-seam3
o drools-spring
o drools-rhq-plugin
o drools-simulator
o drools-grid
o drools-rhq-plugin
o knowledge-integration-docs
+ renamed from drools-docs-integration
--
With kind regards,
Geoffrey De Smet
[View Less]
14 years, 2 months
Conversion Error in DRL file
by ino.nicolas
Hi. I've got a trouble in a drl file.
Here's my file :
#created on: 9 févr. 2011
package regles
# import
import com.compagny.rules.metier.dto.PatientDto;
# global variables
global Integer surPoids;
global Integer diffTaille;
global Integer temperatureElevee;
global Integer temperatureCritique;
global Integer tropGrand;
rule "1- aTraiterUrgent"
when
$patient : PatientDto()
eval( $patient.getDoubleValue("temperature") > temperatureCritique )
then
$patient.addCommentaire( " Le …
[View More]patient " + $patient.getNomPatient() + " est
à traiter d'URGENCE. " );
end
rule "2- estFievreux"
when
$patient : PatientDto()
eval( $patient.getDoubleValue("temperature") >
temperatureElevee.doubleValue() )
then
$patient.addCommentaire( $patient.getDoubleValue("temperature") +
" - Le patient " + $patient.getNomPatient() + " est fievreux. " );
end
The both rules are nearly the same. Except the comparator (
temperatureCritique and temperatureElevee).
My problem :
- If I put the '.doubleValue()' to the both rule, the second rule will never
be launched.
- If I don't put the '.doubleValue()' in the first and the second rule, the
second rule will never be launched.
- If I put the '.doubleValue()' in one of the two rules (never mind if it's
in the first or second one), both of the rules are launched.
I don't know what I did wrong...
Could you please help me ?
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Conversion-Error-in-D...
Sent from the Drools - Dev mailing list archive at Nabble.com.
[View Less]
14 years, 2 months