That are only the fluent api to create processes. I recommend you the other approach:<br><br><pre class="programlisting"><a id="d0e312">KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();<br>kbuilder.add( ResourceFactory.newClassPathResource("MyProcess.rf"),<br>
ResourceType.DRF );<br></a><a id="d0e312">KnowledgeBuilderErrors errors = kbuilder.getErrors();<br>if (errors.size() > 0) {<br> for (KnowledgeBuilderError error: errors) {<br> System.err.println(error);<br>
}<br> throw new IllegalArgumentException("Could not parse knowledge.");<br>}</a><a id="d0e312"><br></a></pre><br><pre class="programlisting"><a id="d0e312">KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
<br>kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br><br></a><a id="d0e312">StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();<br><br><br>ksession.startProcess("com.sample.MyProcess");</a><a id="d0e312"><br>
</a></pre><br>If you need the reference to the process instance you can do:<br>WorkFlowProcessInstance processInstance = ksession.startProcess(...);<br><br><br><br>Work<br><div class="gmail_quote">2009/11/2 Scott Stevenson <span dir="ltr"><<a href="mailto:scott.stevenson@datacert.com">scott.stevenson@datacert.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">I read that section but I’m still not clear how to add my
process (created like the section just before) to the KnowledgeBase. Section
3.2 shows adding an existing .rf file. I have this code:</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p class="MsoNormal" style="text-indent: 0.5in;"><span style="font-size: 11pt; color: rgb(31, 73, 125);">RuleFlowProcessFactory
factory = RuleFlowProcessFactory.createProcess("org.drools.sample.workflow.dynamic");</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> factory</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.name("HelloWorldRuleSet")</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.version("1.0")</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.packageName("org.drools")</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.startNode(1).name("Start").done()</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.actionNode(2)</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.name("Action")</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.action("java", "System.out.println(\"Inside Action
1\");").done()</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.endNode(3).name("End").done()</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.connection(1, 2)</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">
.connection(2, 3);</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> factory.validate().getProcess();</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">How does the getProcess() result get added to a KnowledgeBase?</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">Thanks,</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">Scott</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;">
<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a> [mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>]
<b>On Behalf Of </b>Mauricio Salatino<br>
<b>Sent:</b> Monday, November 02, 2009 1:57 PM<div><div></div><div class="h5"><br>
<b>To:</b> Rules Users List<br>
<b>Subject:</b> Re: [rules-users] How to execute a Process API result?</div></div></span></p>
</div><div><div></div><div class="h5">
<p class="MsoNormal"> </p>
<p class="MsoNormal">Ok, so you need to start using the Drools 5 APIs.<br>
Please take a look at the Drools 5 documentation:<br>
<a href="http://downloads.jboss.com/drools/docs/5.0.1.26597.FINAL/drools-flow/html_single/index.html#d0e1375" target="_blank">http://downloads.jboss.com/drools/docs/5.0.1.26597.FINAL/drools-flow/html_single/index.html#d0e1375</a><br>
<br>
In the section 3.2 </p>
<h2>Using a Process in Your Application</h2>
<p class="MsoNormal" style="margin-bottom: 12pt;"><br>
you will find the correct api's.<br>
Greetings.</p>
<div>
<p class="MsoNormal">2009/11/2 Scott Stevenson <<a href="mailto:scott.stevenson@datacert.com" target="_blank">scott.stevenson@datacert.com</a>></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">I’m working with Drools 5.</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> <a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>]
<b>On Behalf Of </b>Mauricio Salatino<br>
<b>Sent:</b> Monday, November 02, 2009 1:45 PM<br>
<b>To:</b> Rules Users List<br>
<b>Subject:</b> Re: [rules-users] How to execute a Process API result?</span></p>
</div>
<div>
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal" style="margin-bottom: 12pt;">Are you
working just with the Drools 4 version?<br>
Or you can jump to the Drools 5 version?</p>
<div>
<p class="MsoNormal">On
Mon, Nov 2, 2009 at 5:41 PM, Scott Stevenson <<a href="mailto:scott.stevenson@datacert.com" target="_blank">scott.stevenson@datacert.com</a>>
wrote:</p>
<p class="MsoNormal">I'm
trying to execute the result of the Process API and running into<br>
problems most likely stemming from my ignorance. I'm creating a new<br>
process following the sample code from section 3.1.3.2 of the User<br>
Guide. My sample process consists of:<br>
1. StartNode<br>
2. ActionNode that prints Hello World<br>
3. EndNode<br>
<br>
What I don't understand is how to get my new process into a<br>
KnowledgeBase and KnowledgeSession for execution. I've tried the<br>
following (Drools 4 method, I believe) as well:<br>
<br>
AbstractRuleBase ruleBase = (AbstractRuleBase)<br>
RuleBaseFactory.newRuleBase();<br>
ruleBase.addProcess(createProcess());<br>
InternalWorkingMemory workingMemory = new
ReteooWorkingMemory(1,<br>
ruleBase);<br>
<br>
workingMemory.startProcess("org.drools.sample.workflow.dynamic");<br>
<br>
The result of the previous code is a RuntimeException (unable to execute<br>
Action). Inner exception is null pointer from inside the<br>
ActionNodeInstance class. Where am going wrong in implementing the<br>
Process API?<br>
<br>
Thank you,<br>
Scott Stevenson<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a></p>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<br>
-- <br>
- <a href="http://salaboy.wordpress.com" target="_blank">http://salaboy.wordpress.com</a><br>
- <a href="http://www.jbug.com.ar" target="_blank">http://www.jbug.com.ar</a><br>
- Salatino "Salaboy" Mauricio -</p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom: 12pt;"><br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a></p>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<br>
-- <br>
- <a href="http://salaboy.wordpress.com" target="_blank">http://salaboy.wordpress.com</a><br>
- <a href="http://www.jbug.com.ar" target="_blank">http://www.jbug.com.ar</a><br>
- Salatino "Salaboy" Mauricio -</p>
</div></div></div>
</div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br> - <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br> - <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> - Salatino "Salaboy" Mauricio -<br>