<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:2030140610;
        mso-list-type:hybrid;
        mso-list-template-ids:110641762 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='color:#1F497D'>This is very strange. Let me
explain the scenario and you can tell me if we have something fundamentally
wrong.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>We have a class (Persister) that
receives a lightweight object (VO) to persist, the Persister does the following:<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Starts a hibernate
transaction<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Creates hibernate pojo&#8217;s
and calls </span><span style='font-family:"Courier New";color:#1F497D'>session.save(persister_created_pojo)</span><span
style='color:#1F497D'> on each of the pojo&#8217;s<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Passes these objects
to Drools, which creates more hibernate pojo&#8217;s and returns them<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>The Persister class
then calls </span><span style='font-family:"Courier New";color:#1F497D'>session.save(drools_created_pojo)</span><span
style='color:#1F497D'> for each of the returned pojo&#8217;s<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>5.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>If no errors exist the
transaction is committed, otherwise it is rolled back.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>When we updated the drules
packages from 4.0.0 to 4.0.1 we started getting these errors, it seems like the
session gets <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>disconnected the moment we pass
the pojo to drools.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Maybe someone has some advice or
has encountered something similar.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Juan<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:
"Tahoma","sans-serif";color:windowtext'> rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <b>On Behalf Of </b>Mark Proctor<br>
<b>Sent:</b> 27 September 2007 04:12 PM<br>
<b>To:</b> Rules Users List<br>
<b>Cc:</b> juan.heyns@epiuse.com<br>
<b>Subject:</b> Re: [rules-users] Hibernate<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Drools doesn't handle Hibernate in anyway, we have no
awareness of it. The exceptions indicates that you have lazy loading enabled
for hibernate, but your session is disconnected when it tries to lazy load the
object.<br>
<br>
Mark<br>
Heyns, Juan wrote: <o:p></o:p></p>

<p class=MsoNormal>Hi,<o:p></o:p></p>

<p class=MsoNormal>&nbsp;<o:p></o:p></p>

<p class=MsoNormal>I am getting the following error with 4.0.1, I didn&#8217;t
get this with 4.0.0&#8230; Has anything changed in the way Drools works with
Hibernate.<o:p></o:p></p>

<p class=MsoNormal>&nbsp;<o:p></o:p></p>

<p class=MsoNormal>Juan<o:p></o:p></p>

<p class=MsoNormal>&nbsp;<o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>15:24:52,281 ERROR LazyInitializationException:19
- failed to lazily initialize a collection, no session or session was closed</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>org.hibernate.LazyInitializationException: failed
to lazily initialize a collection, no session or session was closed</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.AbstractPersistentCollection.readElementExistence(AbstractPersistentCollection.java:132)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.PersistentSet.contains(PersistentSet.java:153)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.evaluators.ObjectFactory$ObjectContainsEvaluator.evaluateCachedLeft(ObjectFactory.java:481)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.VariableRestriction.isAllowedCachedLeft(VariableRestriction.java:72)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.VariableConstraint.isAllowedCachedLeft(VariableConstraint.java:72)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:117)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.JoinNode.assertTuple(JoinNode.java:119)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTuple(CompositeTupleSinkAdapter.java:73)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:131)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:20)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:160)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.Rete.assertObject(Rete.java:176)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:854)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:826)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:60)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:54)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.rules.Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0.consequence(Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0.java:35)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.lonmin.bns.domain.rules.Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0ConsequenceInvoker.evaluate(Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0ConsequenceInvoker.java:22)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:434)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:396)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.rules.RulesEngine.calculateStopeDrillingBonus(RulesEngine.java:54)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersister.processDetail(StopeDrillingCardPersister.java:371)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersister.processCard(StopeDrillingCardPersister.java:276)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersister.process(StopeDrillingCardPersister.java:69)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.ValueObjectPersister.persist(ValueObjectPersister.java:38)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersisterTest.testEditStopeDrillingCard(StopeDrillingCardPersisterTest.java:182)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.lang.reflect.Method.invoke(Method.java:324)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.runTest(TestCase.java:164)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.runBare(TestCase.java:130)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult$1.protect(TestResult.java:106)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.runProtected(TestResult.java:124)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.run(TestResult.java:109)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.run(TestCase.java:120)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestSuite.runTest(TestSuite.java:230)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at junit.framework.TestSuite.run(TestSuite.java:225)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:blue;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>org.hibernate.LazyInitializationException: failed
to lazily initialize a collection, no session or session was closed</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.hibernate.collection.AbstractPersistentCollection.readElementExistence(AbstractPersistentCollection.java:132)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.hibernate.collection.PersistentSet.contains(PersistentSet.java:153)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.evaluators.ObjectFactory$ObjectContainsEvaluator.evaluateCachedLeft(ObjectFactory.java:481)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.VariableRestriction.isAllowedCachedLeft(VariableRestriction.java:72)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.VariableConstraint.isAllowedCachedLeft(VariableConstraint.java:72)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:117)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.JoinNode.assertTuple(JoinNode.java:119)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTuple(CompositeTupleSinkAdapter.java:73)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:131)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:20)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:160)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.Rete.assertObject(Rete.java:176)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:854)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:826)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:60)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:54)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.rules.Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0.consequence(Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0.java:35)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.rules.Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0ConsequenceInvoker.evaluate(Rule_Stope_Drilling_work_is_evaluated_based_on_the_holes_drilled_and_blasts_0ConsequenceInvoker.java:22)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:434)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:396)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.rules.RulesEngine.calculateStopeDrillingBonus(RulesEngine.java:54)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.lonmin.bns.domain.model.StopeDrillingCardPersister.processDetail(StopeDrillingCardPersister.java:371)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersister.processCard(StopeDrillingCardPersister.java:276)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.StopeDrillingCardPersister.process(StopeDrillingCardPersister.java:69)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
com.lonmin.bns.domain.model.ValueObjectPersister.persist(ValueObjectPersister.java:38)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.lonmin.bns.domain.model.StopeDrillingCardPersisterTest.testEditStopeDrillingCard(StopeDrillingCardPersisterTest.java:182)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.lang.reflect.Method.invoke(Method.java:324)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.runTest(TestCase.java:164)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at junit.framework.TestCase.runBare(TestCase.java:130)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult$1.protect(TestResult.java:106)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.runProtected(TestResult.java:124)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.run(TestResult.java:109)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.run(TestCase.java:120)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestSuite.runTest(TestSuite.java:230)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestSuite.run(TestSuite.java:225)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:392)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:276)</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:red;background:white'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:167)</span><o:p></o:p></p>

<p class=MsoNormal>&nbsp;<o:p></o:p></p>

<table class=MsoNormalTable border=0 cellpadding=0>
 <tr>
  <td style='background:white;padding:.75pt .75pt .75pt .75pt'>
  <p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>&quot;Employees
  of Lonmin Platinum (&quot;Lonplats&quot;) are not authorised to conclude<br>
  electronic transactions or to enter into electronic agreements on behalf<br>
  of Lonplats. Any electronic signature (other than an advanced electronic<br>
  signature as defined in the Electronic Communications and Transactions<br>
  Act of 2003) added to a data message (such as an email or an attachment<br>
  to an (email) ostensibly on behalf of Lonplats by a Lonplats employee shall<br>
  not be legally binding on Lonplats and Lonplats shall incur no liability of<br>
  any nature whatsoever, directly or indirectly, arising from such act on the<br>
  part of it's employee. It is further recorded that nothing (other than an<br>
  advanced electronic signature) inserted into any data message<br>
  emanating from Lonplats shall be construed as constituting an electronic<br>
  signature&quot;<o:p></o:p></span></p>
  </td>
 </tr>
</table>

<pre><o:p>&nbsp;</o:p></pre><pre style='text-align:center'>

<hr size=4 width="90%" align=center>

</pre><pre><o:p>&nbsp;</o:p></pre><pre>_______________________________________________<o:p></o:p></pre><pre>rules-users mailing list<o:p></o:p></pre><pre><a
href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><o:p></o:p></pre><pre><a
href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><o:p></o:p></pre><pre>&nbsp; <o:p></o:p></pre>

<p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'><o:p>&nbsp;</o:p></span></p>

</div>

</body>

</html>

<table><tr><td bgcolor=#ffffff><font color=#000000>"Employees of Lonmin Platinum ("Lonplats") are not authorised to conclude<br>
electronic transactions or to enter into electronic agreements on behalf<br>
of Lonplats. Any electronic signature (other than an advanced electronic<br>
signature as defined in the Electronic Communications and Transactions<br>
Act of 2003) added to a data message (such as an email or an attachment<br>
to an (email) ostensibly on behalf of Lonplats by a Lonplats employee shall<br>
not be legally binding on Lonplats and Lonplats shall incur no liability of<br>
any nature whatsoever, directly or indirectly, arising from such act on the<br>
part of it's employee. It is further recorded that nothing (other than an<br>
advanced electronic signature) inserted into any data message<br>
emanating from Lonplats shall be construed as constituting an electronic<br>
signature"<br>
</font></td></tr></table>