Guided Editor in BRMS / Guvnor Version 5 (Snapshot of 26 June)
by Paul Browne
Folks,
For various reasons I'm trying out the Guided Editor for Business Rules in
the Guvnor Version 5 (Snapshot of 26 June from Hudson, deployed on JBoss App
Server 4.2.2GA).
I've created the Package / Category and uploaded a simple fact model (as
works in BRMS version 4). I create a new business rule using the guided
editor and the screen shows successfully with both 'When' and 'Then'
parts.Assume the next question is due to me missing something, but wanted to
double check:
When I press the green '+' to the right of the screen I am shown the message
/ dialog layer saying '
*Add a condition to the rule... *or* Add an action to the rule.
*Problem is that there doesn't appear to be a way of adding a condition or
action. The only thing I'm seeing in the logs is
* (Contexts.java:flushAndDestroyContexts:335) could not discover
transaction status
*Am I missing something or should I come back to Guvnor later in the
development Cycle?
Thanks
Paul
12 years, 9 months
Can drools continue testing even if one of the conditions fail ?
by DroolUser
Hi,
I'm using drools for testing if the few attributes of my MO are not null.
I construct the rule in the .drl file in following way :
rule "name"
when
condition1
condition2
condition3
condition4
then
consequence
end
I have observed that the drool engine verifies the conditions line by line
(in the sequence they have written). The moment condition fails, control
comes back to the calling method.
I don't want this. I want the control to execute each and every condition
whether true or false and maintain a record of passed/failed conditions.
Something like this :
rule "name"
when
condition1
log the test result --- This statement should get executed
even if condition 1 fails and control should go to condition 2
condition2
log the test result
condition3
log the test result
condition4
log the test result
then
consequence
end
Is this possible in Drools ?
--
View this message in context: http://www.nabble.com/Can-drools-continue-testing-even-if-one-of-the-cond...
Sent from the drools - dev mailing list archive at Nabble.com.
15 years, 8 months
Fwd: Special Journal Issue IEEE TKDE: Call for Contributions
by paschke@mi.fu-berlin.de
Dear Colleagues,
Please consider to participate in RuleML-2008
(http://2008.ruleml.org/) which will be in about 3 weeks in Orlando,
Florida, collocated with the world largest Business Rules Forum.
We have a very interesting program with renowned speakers, a
prestigious rules Challenge, a special session + panel about Rule
standards, etc.
We are also editing a special issue of IEEE TKDE. Please consider to
contribute to this issue and forward the open call for contributions
(below) to your interested colleagues.
Thanks,
Adrian
[ our apologies should you receive this message more than one time ]
===========================================================================
CALL FOR Contributions
Rule Representation, Interchange and Reasoning in Distributed,
Heterogeneous Environments
Special Issue of IEEE Transactions on Knowledge and Data Engineering
Guest Editors: N. Bassiliades, G. Governatori, A. Paschke, J.
Dix
===========================================================================
In recent years rule based technologies have enjoyed remarkable
adoption in two areas: (1) Business Rule Processing and (2)
Web-Centered Reasoning. The first trend is caused by the software
development life cycle, which needs to be accelerated at reduced cost.
The second trend is related to the Semantic Web and Service-oriented
technologies, which aim to turn the Web into a huge repository of
cross-referenced, machine-understandable data and processes. For both
trends, rules can be used to extract, derive, transform, and integrate
information in a platform-independent manner.
While early rule engines and environments were complex, expensive to
maintain, and not very user friendly, the current generation of rule
technology provides enhanced usability, scalability and performance,
and is less costly. A general advantage of using rules is that they
are usually represented in a platform independent manner, often using
XML. This fits well into today's distributed, heterogeneous Web-based
system environments.
Rules represented in standardized Web formats can be discovered,
interchanged and invoked at runtime within and across Web systems, and
can be interpreted and executed on any platform.
This special issue solicits state-of-the-art approaches, solutions and
applications in the area of Rule Representation, Reasoning and
Interchange in the context of distributed, (partially) open,
heterogeneous environments, such as the Semantic Web, Intelligent
Multi-Agent Systems, Event-Driven Architectures and Service-Oriented
Computing. We strongly advise that solicited contributions should
clearly identify the target class of applications they enable.
=======
Topics
=======
Original contributions, not currently under review or accepted by
another journal, are solicited in relevant areas including (but not
limited to) the
following:
- Rule Representation and Languages
* Rule languages for exchanging and processing information through the
web
* Representation and meta-annotation of rules and rule sets for
publication and interchange
* Event-driven/action rule languages and models
* Rule-based event processing languages and rule-based complex event
processing
* Modeling of executable rule specifications and tool support
* Natural-language processing of rules
* Graphical processing, modeling and rendering of rules
* Rules in web 2.0, web 3.0, semantic web technologies and web
intelligence research
- Reasoning and Rule Engines
* Execution models, rule engines, and environments
* Rule-based (multi-valued) reasoning with and representing uncertain
and fuzzy information
* Rule-based reasoning with non-monotonic negation, modalities, deontic,
temporal, priority, scoped or other rule qualifications
* Rule-based default reasoning with default logic, defeasible logic, and
answer set programming
* Compilation vs. interpretation approaches of rules
* Hybrid rule systems
- Rule Interchange and Integration
* Interchange and refactoring of rule bases in heterogeneous execution
environments
* Rule-based agility and its role in middleware
* Communication between rule based systems using interchange formats and
processing / communication middleware
* Information integration of external data and domain knowledge into rules
* Homogeneous and heterogeneous integration of rules and ontologies
* Extraction and reengineering of platform-independent, interchangeable
rules and rule models from existing platform-specific resources
* Rule interchange standards and related industry interchange formats
* Incorporation of rule technology into distributed enterprise
application architectures
* Interoperation between different rule formats and ontological domain
conceptualization
* Translation of interchangeable and domain-independent rule formats and
rule models into executable technical rule specifications
- Rule Engineering and Repositories
* Verification and validation of interchanged rule bases in
heterogeneous execution environments
* Practical solutions tackling the real-world software engineering
requirements of rule-based systems in open, distributed environments
* Collaborative authoring, modeling and engineering of rule
specifications and rule repositories
* Management and maintenance of distributed rule bases and rule
repositories during their lifecycle
- Web Rule Applications
* Applications and integration of rules in web standards
* Applications of rules in the semantic web and pragmatic web
* Applications based on (semantic) web rule standardization or
standards-proposing efforts
* Applications of rules in e.g. legal reasoning, compliance rules,
security, government, security, risk management, trust and proof
reasoning, etc.
* E-contracting and automated negotiations with rule-based declarative
strategies
* Specification, execution and management of rule-based policies and
electronic contracts
* Rule-based software agents and (web) services
* Theoretical and/or empirical evaluation of rule-based system
performance and scalability
=======================
Submission Guidelines
=======================
Prospective authors should prepare manuscripts according to the Information
for Authors as published in recent issues of the journal or at
http://www.computer.org/tkde/. Note that mandatory over-length page charges
and color charges will apply.
Manuscripts should be submitted through the online IEEE manuscript
submission system at https://mc.manuscriptcentral.com/cs-ieee.
Updated information of this call can be found at
http://lpis.csd.auth.gr/publications/tkde-si/.
=======================
Schedule
=======================
Deadline for paper submission: March 1, 2009
Completion of first review: June 19, 2009
Minor/Major revision due: August 21, 2009
Final decision notification: November 6, 2009
Publication materials due: December 4, 2009
Publication date (tentative): July 2010
=======================
Guest Editors
=======================
Nick Bassiliades, Aristotle University of Thessaloniki, Greece
nbassili AT csd.auth.gr
Guido Governatori, NICTA, Australia
guido.governatori AT nicta.com.au
Adrian Paschke, Free University Berlin, Corporate Semantic Web, Germany
paschke AT inf.fu-berlin.de
Jurgen Dix, Clausthal University of Technology, Germany
dix AT tu-clausthal.de
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
15 years, 9 months
Extended Deadline - Semantic Web Applications and Tools for Life Sciences (SWAT4LS)
by paschke@mi.fu-berlin.de
Dear Colleagues,
Because of a large number of requests, the submission date for the
International Workshop on Semantic Web Applications and Tools for Life
Sciences (SWAT4LS) has been extended to October 13th.
We hope that you will consider submitting a paper - see submission
details below.
Note: A selection of papers will be published in a special issue of
BMC Bioinformatics supplement devoted to the workshop.
Best regards,
Adrian Paschke (on behalf of all Chairs)
-----------------------------------------------------
Prof. Dr. Adrian Paschke (paschke(a)inf.fu-berlin.de)
AG-CSW (AG Corporate Semantic Web)
Free University Berlin
Germany
International Workshop on
Semantic Web Applications and Tools for Life Sciences (SWAT4LS)
28th November 2008, Edinburgh, UK
http://www.swat4ls.org/
Call for Papers
New submission deadline: 13 October 2008!
A selection of papers will be published in a BMC Bioinformatics
supplement devoted to the workshop
Overview
--------
The workshop is organized in sessions and open discussions. Invited
speakers will present state-of-theart,
provocative lectures on the workshop's main topic, while a number of
submissions will be accepted as
oral presentations and posters on all workshop's topics.
Workshop Description
--------------------
Semantic Web technologies, tools and applications are starting to
emerge in Life Sciences. In recent
years, systems have been introduced and an increasing interest among
researchers is arising. This
workshop will provide a venue to present and discuss benefits and
limits of the adoption of these
technologies and tools in biomedical informatics and computational biology.
It will showcase experiences, information resources, tools development
and applications. It will bring
together researchers, both developers and users, from the various
fields of Biology, Bioinformatics and
Computer Science, to discuss goals, current limits and some real use
cases for Semantic Web
technologies in Life Sciences.
Keynote Speakers
------------------------
+ Semantic web technology in translational cancer research,
Michael Krauthammer, Department of Pathology, Yale University School
of Medicine, USA
+ Using Ontologies to bring Web Services on to the Semantic Web
Mark Wilkinson, Dept. of Medical Genetics, University of British
Columbia, Canada
Workshop Venue and Format
------------------------
The workshop will take place in Edinburgh, Scotland, on 28 November
2008, and is hosted by the e-
Science Institute of the UK's National e-Science Centre (NeSC).
SWAT4LS will be a one-day workshop and will consist of two invited
talks, regular paper and poster
presentations. The workshop will conclude with a panel discussion on
the strength and weaknesses of
the Semantic Web for the Life Sciences.
Deadlines
---------
* Submission deadline (both papers and posters): 13 October 2008 (New
deadline!)
* Notification of acceptance: 20 October 2008
* Camera-ready submission: 3 November 2008
Topics of Interest
------------------
Topics of interest include, but are not limited to:
* Standards, Technologies, Tools for the Semantic Web
o Semantic Web standards (RDF, OWL, ...)
o RDF/OWL, SKOS, .... and their applicability to bioinformatics
o RDF Schemas and Query systems
o Biomedical Ontologies and related tools
o Formal approaches to large biomedical controlled terminologies
and vocabularies
* Systems for a Semantic Web for Bioinformatics
o Bio-ontologies, RDF stores, Semantic Web Services
o RDF repositories and query systems for life sciences
o Semantically aware biomedical Web Services
o Semantic Biological Data Integration Systems
* Existing and perspective applications of the Semantic Web for Bioinformatics
o Semantic browsers, Semantic collaborative research
o Case studies, use cases, and scenarios
o Semantic Web applications in life sciences
Type of contributions and instructions
----------------------
The following possible original contributions are sought:
* Oral communications (regular papers)
* Posters
* Software demos
All contributions must be in English and must be submitted through the
EasyChair review system at:
http://www.easychair.org/conferences/?conf=swat4ls.
Please upload all submissions as PDF files in LNCS format (see
http://www.springer.de/comp/lncs/authors.html ).
To ensure high quality, submitted papers will be carefully
peer-reviewed by at least three members of the
Scientific Committee.
* Submissions for Oral communications should be between 10 and 15 pages.
* Posters submissions should be between 4 and 8 pages.
* Software demo proposals should also be between 4 and 8 pages.
All accepted oral communications and posters will be published with
the CEUR-WS.org Workshop
Proceedings service (see http://ceur-ws.org/).
Furthermore, a selection of papers will be published in a special
issue of the BMC Bioinformatics journal
devoted to the SWAT4LS workshop.
To this end, a special Call will be launched shortly after the
workshop, for extended and revised versions
of contributions submitted to the workshop and accepted either as oral
communication or poster.
For any information, refer to info(a)swat4ls.org.
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
15 years, 9 months
Drools test failure on OS X
by Karl Schwamb
My platform is OS X 10.5.6 running Java 1.5.0_16 and Maven 2.0.9. When I
run Maven for a build I get no failures in the unit tests but I get numerous
errors which leads to a build failure. The command line was simply
mvn clean install
The end of the JUnit report is:
=====================
Results :
Tests in error:
testTaskMultipleActors(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testTaskFail(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testTaskSkip(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testTaskAbortSkippable(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testTaskAbortNotSkippable(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testTaskData(org.drools.process.workitem.wsht.WSHumanTaskHandlerTest)
testAddRemoveComment(org.drools.task.service.TaskServiceCommentsAndAttachmentsTest)
testAddRemoveAttachment(org.drools.task.service.TaskServiceCommentsAndAttachmentsTest)
testLifeCycle(org.drools.task.service.TaskLifeCycleTest)
testLifeCycleMultipleTasks(org.drools.task.service.TaskLifeCycleTest)
testNewTaskWithNoPotentialOwners(org.drools.task.service.TaskServiceLifeCycleTest)
testNewTaskWithSinglePotentialOwner(org.drools.task.service.TaskServiceLifeCycleTest)
testNewTaskWithContent(org.drools.task.service.TaskServiceLifeCycleTest)
testClaimWithMultiplePotentialOwners(org.drools.task.service.TaskServiceLifeCycleTest)
testStartFromReadyStateWithPotentialOwner(org.drools.task.service.TaskServiceLifeCycle\
Test)
testStartFromReadyStateWithIncorrectPotentialOwner(org.drools.task.service.TaskService\
LifeCycleTest)
testStartFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testStartFromReservedWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTes\
t)
testStop(org.drools.task.service.TaskServiceLifeCycleTest)
testStopWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTest)
testReleaseFromInprogress(org.drools.task.service.TaskServiceLifeCycleTest)
testReleaseFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testReleaseWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTest)
testSuspendFromReady(org.drools.task.service.TaskServiceLifeCycleTest)
testSuspendFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testSuspendFromReservedWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleT\
est)
testResumeFromReady(org.drools.task.service.TaskServiceLifeCycleTest)
testResumeFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testResumeFromReservedWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTe\
st)
testSkipFromReady(org.drools.task.service.TaskServiceLifeCycleTest)
testSkipFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testDelegateFromReady(org.drools.task.service.TaskServiceLifeCycleTest)
testDelegateFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testDelegateFromReservedWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycle\
Test)
testForwardFromReady(org.drools.task.service.TaskServiceLifeCycleTest)
testForwardFromReserved(org.drools.task.service.TaskServiceLifeCycleTest)
testForwardFromReservedWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleT\
est)
testComplete(org.drools.task.service.TaskServiceLifeCycleTest)
testCompleteWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTest)
testCompleteWithContent(org.drools.task.service.TaskServiceLifeCycleTest)
testFail(org.drools.task.service.TaskServiceLifeCycleTest)
testFailWithIncorrectUser(org.drools.task.service.TaskServiceLifeCycleTest)
testFailWithContent(org.drools.task.service.TaskServiceLifeCycleTest)
testSendWithStartandEndDeadline(org.drools.task.service.IcalTest)
testSendWithStartDeadline(org.drools.task.service.IcalTest)
testSendWithEndDeadline(org.drools.task.service.IcalTest)
testSendWithNoDeadline(org.drools.task.service.IcalTest)
testClaimEvent(org.drools.task.service.TaskServiceEventMessagingTest)
testDelayedEmailNotificationOnDeadline(org.drools.task.service.TaskServiceDeadlinesTes\
t)
testDelayedReassignmentOnDeadline(org.drools.task.service.TaskServiceDeadlinesTest)
testTasksOwnedQueryWithI18N(org.drools.task.service.TaskServiceTest)
testPeopleAssignmentQueries(org.drools.task.service.TaskServiceTest)
Tests run: 58, Failures: 0, Errors: 52, Skipped: 0
=====================
Looking at the trace I see a number of exceptions that look similar. Does
the following exception indicate a root cause that may resolve this issue?
Or do the above errors indicate another problem?
Thanks!
=====================
...
Jan 27, 2009 7:57:17 PM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: schema export complete
Exception in thread "Thread-5" java.lang.RuntimeException: Server Exception
with class c\
lass org.drools.task.service.MinaTaskServer using port 9123
at
org.drools.task.service.BaseMinaServer.run(BaseMinaServer.java:38)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind(Native Method)
at
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at
org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor\
.java:235)
at
org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor\
.java:48)
at
org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(Abstra\
ctPollingIoAcceptor.java:485)
at
org.apache.mina.core.polling.AbstractPollingIoAcceptor.access$200(AbstractPol\
lingIoAcceptor.java:67)
at
org.apache.mina.core.polling.AbstractPollingIoAcceptor$Worker.run(AbstractPol\
lingIoAcceptor.java:385)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:5\
1)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.jav\
a:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:67\
5)
... 1 more
Jan 27, 2009 7:57:18 PM org.hibernate.impl.SessionFactoryImpl close
[...]
[ stack trace above repeated 4 more times]
INFO: Mapping collection: org.drools.task.Notification.descriptions ->
I18NText
Jan 27, 2009 7:57:26 PM org.hibernate.cfg.annotations.CollectionBinder
bindOneToManySeco\
ndPass
Tests run: 7, Failures: 0, Errors: 6, Skipped: 0, Time elapsed: 14.42 sec
<<< FAILURE!
Running org.drools.task.service.TaskServiceCommentsAndAttachmentsTest
[... more intermittent exceptions with stack traces ...]
15 years, 10 months
Drools Community Clinic Feb 4th 5PM GMT
by Mark Proctor
I'm going to try an informal experiment for the 4th of February at 5PM
GMT (Date/Time subject to change), we will run an online Drools Clinic
in the form of a Webinar. So the idea here isn't of a 60 minute
presentation, but really more of a 60 minute interactive Q&A where we
will use the desktop to assist in some explanations talking through code
or examples. What do people think?
Ideally we would have a set of pre-determined questions, with some adhoc
ones on the day too. Feel free to start listing your Qs here. I want to
avoid "What's WorkingMemory" type questions, but other than that,
anything is game. Also if anyone has anything cool they would like to
discuss about how they have used Drools, or just general interesting AI
ideas, then that's fine too - happy for this just to turn into a fun
geek chat too.
Mark
15 years, 10 months
TimerTest unit test fails on OS X and Java 1.6
by Karl Schwamb
Hi Gang!
Congrats on developing a very robust feature set for a rule engine package!
I've downloaded Drools source and I'm able to build all artifacts on Mac OS
X 10.5.6 using Java 1.6.0_07 on Intel Core 2 Duo hardware. However, some of
the unit tests aren't passing -- am I correct in assuming that Drools has
not been upgraded to use Java 1.6?
I tried rebuilding under Java 1.5.0_16 and I do *not* get this error.
Thanks,
-Karl
bash-3.2$ mvn test
[INFO] Scanning for projects...
... elided ...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.drools.process.TimerTest
Timer 1 triggered
Timer 2 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Timer 3 triggered
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.076 sec
<<< \
FAILURE!
Running org.drools.factmodel.InstancesHashcodedTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.101 sec
... elided ...
Results :
Failed tests:
testTimer(org.drools.process.TimerTest)
Tests run: 529, Failures: 1, Errors: 0, Skipped: 0
15 years, 11 months
Drools Flow - 2 nice blogs
by Mark Proctor
Drools Flow - 2 nice blogs
http://blog.athico.com/2009/01/drools-5-holistic-approach-to-problem.html
/"the problem for business people to understand the differences between
business processes and rules, because from the point-of-view of business
use-cases they are integrated. why are there two tools / frameworks to
manage the same thing?
....
Now I read the documentation of Drools 5 and noticed that all is
availabe in ONE product: Drools 5. Thats really great news - I hope I
understood all well and I'll give it a try to do it with Drools only.
This gives me a better feeling than my previous decision. "/
http://blog.athico.com/2009/01/drools-flow-and-osworkflow-migration.html
/"We work together on projects for Argentina's biggest healthcare
provider, who are big OSWorkflow users. However with Drools offering a
much more powerful and complete framework, that integrates rules,
processes and event processing there is now a desire to move to this as
the standard. As part of this effort we need a migration path for al the
legacy OSWorkflow applications."/
15 years, 11 months
Re: rules-dev Digest, Vol 25, Issue 19
by Oleg Zenzin
Thank you!
How I can download a jar with model created in Guvnor? I have tried to build
the package, also looked thru webdav interface - cannot find a jar for facts
declared in drl.
Thanks!
-Oleg
On Tue, Jan 27, 2009 at 8:38 AM, <rules-dev-request(a)lists.jboss.org> wrote:
> Send rules-dev mailing list submissions to
> rules-dev(a)lists.jboss.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.jboss.org/mailman/listinfo/rules-dev
> or, via email, send a message with subject or body 'help' to
> rules-dev-request(a)lists.jboss.org
>
> You can reach the person managing the list at
> rules-dev-owner(a)lists.jboss.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of rules-dev digest..."
>
>
> Today's Topics:
>
> 1. Re: [rules-users] Drools 5.0 M5 (ekkehard)
> 2. Re: use of declared facts (Michal Bali)
> 3. Re: use of declared facts (Edson Tirelli)
> 4. Re: use of declared facts (Michal Bali)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 27 Jan 2009 08:03:01 +0100
> From: ekkehard <ekkehard(a)gentz-software.de>
> Subject: [rules-dev] Re: [rules-users] Drools 5.0 M5
> To: Rules Users List <rules-users(a)lists.jboss.org>
> Cc: Rules Dev List <rules-dev(a)lists.jboss.org>
> Message-ID: <497EB1A5.1090905(a)gentz-software.de>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Mark Proctor schrieb:
> >
> http://blog.athico.com/2009/01/drools-50-m5-new-and-noteworthy-release.html
> >
> > http://www.jboss.org/drools/downloads.html
> >
> > The next release should be the candidate release, all modules now seem
> > to be working, we are now just working on cleaning things up and
> > improving and updating documentation.
> >
> > Mark
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> Hi Mark,
>
> Drools 5 seems to be a really great product. Maybe 18 months ago I
> evaluated rules engines and business process engines and made my
> decision to use jbpm together with Drools.
>
> Now - in 3 weeks or so its time to really integrate processes and rules
> into my application (ERP solution for small and medium-sized-companies)
> - my server is ready (OSGI - EJB3) and my UI (Eclipse Riena based). Core
> parts of the OSGI client-server app will be Open Source.
>
> Last months I always noticed the problem for business people to
> understand the differences between business processes and rules, because
> from the point-of-view of business use-cases they are integrated. why
> are there two tools / frameworks to manage the same thing ?
>
> For me the main reason to use both was persistence of long running
> processes and manual tasks in the past only available in business
> process engine.
>
> Now I read the documentation of Drools 5 and noticed that all is
> availabe in ONE product: Drools 5. Thats really great news - I hope I
> understood all well and I'll give it a try to do it with Drools only.
> This gives me a better feeling than my previous decision.
>
> Thanks for all your work.
>
> ekke
>
> --
>
> ekkehard gentz
> software-architect
> homepage: http://www.gentz-software.de
> opensource: http://ekkehard.org
> blog (en): http://ekkes-corner.org
> blog (de): http://ekkes-ecke.org
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/64d6d492/...
>
> ------------------------------
>
> Message: 2
> Date: Tue, 27 Jan 2009 09:34:55 +0000
> From: Michal Bali <michalbali(a)gmail.com>
> Subject: Re: [rules-dev] use of declared facts
> To: Rules Dev List <rules-dev(a)lists.jboss.org>
> Message-ID:
> <58f4ed90901270134s29ee99f2p5357152eae05f260(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Look at this unit test for some examples:
>
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler...
>
> // Retrieve the generated fact type
> FactType cheeseFact = ruleBase.getFactType(
> "org.drools.generatedbeans.Cheese" );
>
> // Create a new Fact instance
> Object cheese = cheeseFact.newInstance();
>
> // Set a field value using the more verbose method chain...
> // should we add short cuts?
> // cheeseFact.getField( "type" ).getFieldAccessor().setValue(
> cheese,
> //
> "stilton" );
>
> cheeseFact.set( cheese,
> "type",
> "stilton" );
> assertEquals( "stilton",
> cheeseFact.get( cheese,
> "type" ) );
>
>
> On Tue, Jan 27, 2009 at 2:02 AM, Oleg Zenzin <zenzin(a)intalio.com> wrote:
>
> > There's now possibility to declare facts in the drl, like:
> >
> > declare Person
> > name: String
> > age: int
> > end
> >
> > My question is how do I instantiate this fact object during runtime? Do I
> > still need to have class Person compiled and existing somewhere in
> > classpath, or there's a helper class which I can use "fake the fact",
> > something like:
> >
> > FakeFact person = FakeFact("Person");
> > person.setField("name", "Oleg");
> > person.setField("age", "42");
> > session.insert(person);
> >
> > Or there's another nicer way?
> >
> > Thank you,
> > -Oleg Zenzin
> >
> > _______________________________________________
> > rules-dev mailing list
> > rules-dev(a)lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-dev
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/2b1899d6/...
>
> ------------------------------
>
> Message: 3
> Date: Tue, 27 Jan 2009 09:31:32 -0500
> From: Edson Tirelli <tirelli(a)post.com>
> Subject: Re: [rules-dev] use of declared facts
> To: Rules Dev List <rules-dev(a)lists.jboss.org>
> Message-ID:
> <e6dd5ba30901270631j5c6fda5bje89a90f1fa1e3ebd(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Michal is correct from the point of view of the application. That is
> required because the actual classes are generated at compile time and not
> visible to the application classpath.
>
> Although, that is not the only way. Inside your rules, they are visible
> and you instantiate them the same way as you instantiate any other java
> Pojo:
>
> rule xyz
> when
> // sometihng
> then
> Person p = new Person();
> p.setName( "Bob" );
> insert( p );
> end
>
> Also, if you use Guvnor to define your model, Guvnor is capable of
> generating a jar file for you with the generated classes. This way you can
> download the jar and add it to the classpath of your application and use it
> as any POJOs too.
>
> []s
> Edson
>
>
> 2009/1/27 Michal Bali <michalbali(a)gmail.com>
>
> > Look at this unit test for some examples:
> >
> >
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler...
> >
> > // Retrieve the generated fact type
> > FactType cheeseFact = ruleBase.getFactType(
> > "org.drools.generatedbeans.Cheese" );
> >
> > // Create a new Fact instance
> > Object cheese = cheeseFact.newInstance();
> >
> > // Set a field value using the more verbose method chain...
> > // should we add short cuts?
> > // cheeseFact.getField( "type"
> > ).getFieldAccessor().setValue( cheese,
> > //
> > "stilton" );
> >
> > cheeseFact.set( cheese,
> > "type",
> > "stilton" );
> > assertEquals( "stilton",
> > cheeseFact.get( cheese,
> > "type" ) );
> >
> >
> > On Tue, Jan 27, 2009 at 2:02 AM, Oleg Zenzin <zenzin(a)intalio.com> wrote:
> >
> >> There's now possibility to declare facts in the drl, like:
> >>
> >> declare Person
> >> name: String
> >> age: int
> >> end
> >>
> >> My question is how do I instantiate this fact object during runtime? Do
> I
> >> still need to have class Person compiled and existing somewhere in
> >> classpath, or there's a helper class which I can use "fake the fact",
> >> something like:
> >>
> >> FakeFact person = FakeFact("Person");
> >> person.setField("name", "Oleg");
> >> person.setField("age", "42");
> >> session.insert(person);
> >>
> >> Or there's another nicer way?
> >>
> >> Thank you,
> >> -Oleg Zenzin
> >>
> >> _______________________________________________
> >> rules-dev mailing list
> >> rules-dev(a)lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-dev
> >>
> >>
> >
> > _______________________________________________
> > rules-dev mailing list
> > rules-dev(a)lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-dev
> >
> >
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss, a division of Red Hat @ www.jboss.com
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/1f702615/...
>
> ------------------------------
>
> Message: 4
> Date: Tue, 27 Jan 2009 15:38:47 +0000
> From: Michal Bali <michalbali(a)gmail.com>
> Subject: Re: [rules-dev] use of declared facts
> To: Rules Dev List <rules-dev(a)lists.jboss.org>
> Message-ID:
> <58f4ed90901270738i36997aa6t38e5b800c2180cd8(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Thanks Edson,
> BTW, I've tried to instantiate an internal fact in a rule with MVEL dialect
> but it didn't worked. I've tried this in M4. I' haven't tried it yet in M5.
>
> Is this a known issue or should I create a new JIRA with test case?
>
> Best Regards,
> Michal
>
>
> On Tue, Jan 27, 2009 at 2:31 PM, Edson Tirelli <tirelli(a)post.com> wrote:
>
> >
> > Michal is correct from the point of view of the application. That is
> > required because the actual classes are generated at compile time and not
> > visible to the application classpath.
> >
> > Although, that is not the only way. Inside your rules, they are
> visible
> > and you instantiate them the same way as you instantiate any other java
> > Pojo:
> >
> > rule xyz
> > when
> > // sometihng
> > then
> > Person p = new Person();
> > p.setName( "Bob" );
> > insert( p );
> > end
> >
> > Also, if you use Guvnor to define your model, Guvnor is capable of
> > generating a jar file for you with the generated classes. This way you
> can
> > download the jar and add it to the classpath of your application and use
> it
> > as any POJOs too.
> >
> > []s
> > Edson
> >
> >
> > 2009/1/27 Michal Bali <michalbali(a)gmail.com>
> >
> > Look at this unit test for some examples:
> >>
> >>
> http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler...
> >>
> >> // Retrieve the generated fact type
> >> FactType cheeseFact = ruleBase.getFactType(
> >> "org.drools.generatedbeans.Cheese" );
> >>
> >> // Create a new Fact instance
> >> Object cheese = cheeseFact.newInstance();
> >>
> >> // Set a field value using the more verbose method chain...
> >> // should we add short cuts?
> >> // cheeseFact.getField( "type"
> >> ).getFieldAccessor().setValue( cheese,
> >> //
> >> "stilton" );
> >>
> >> cheeseFact.set( cheese,
> >> "type",
> >> "stilton" );
> >> assertEquals( "stilton",
> >> cheeseFact.get( cheese,
> >> "type" ) );
> >>
> >>
> >> On Tue, Jan 27, 2009 at 2:02 AM, Oleg Zenzin <zenzin(a)intalio.com>
> wrote:
> >>
> >>> There's now possibility to declare facts in the drl, like:
> >>>
> >>> declare Person
> >>> name: String
> >>> age: int
> >>> end
> >>>
> >>> My question is how do I instantiate this fact object during runtime? Do
> I
> >>> still need to have class Person compiled and existing somewhere in
> >>> classpath, or there's a helper class which I can use "fake the fact",
> >>> something like:
> >>>
> >>> FakeFact person = FakeFact("Person");
> >>> person.setField("name", "Oleg");
> >>> person.setField("age", "42");
> >>> session.insert(person);
> >>>
> >>> Or there's another nicer way?
> >>>
> >>> Thank you,
> >>> -Oleg Zenzin
> >>>
> >>> _______________________________________________
> >>> rules-dev mailing list
> >>> rules-dev(a)lists.jboss.org
> >>> https://lists.jboss.org/mailman/listinfo/rules-dev
> >>>
> >>>
> >>
> >> _______________________________________________
> >> rules-dev mailing list
> >> rules-dev(a)lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-dev
> >>
> >>
> >
> >
> > --
> > Edson Tirelli
> > JBoss Drools Core Development
> > JBoss, a division of Red Hat @ www.jboss.com
> >
> > _______________________________________________
> > rules-dev mailing list
> > rules-dev(a)lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-dev
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.jboss.org/pipermail/rules-dev/attachments/20090127/6abdfe4d/...
>
> ------------------------------
>
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
> End of rules-dev Digest, Vol 25, Issue 19
> *****************************************
>
15 years, 11 months
use of declared facts
by Oleg Zenzin
There's now possibility to declare facts in the drl, like:
declare Person
name: String
age: int
end
My question is how do I instantiate this fact object during runtime? Do I
still need to have class Person compiled and existing somewhere in
classpath, or there's a helper class which I can use "fake the fact",
something like:
FakeFact person = FakeFact("Person");
person.setField("name", "Oleg");
person.setField("age", "42");
session.insert(person);
Or there's another nicer way?
Thank you,
-Oleg Zenzin
15 years, 11 months