<br>&nbsp;&nbsp;&nbsp; This exception is raised when there is a rule with a constraint that tries to compare values of different types. The rule you show in your message may be the rule that triggers the problem, because of the update, but certainly it is not the rule that contains the problem. 
<br>&nbsp;&nbsp;&nbsp; You need to look for a rule in your rulebase that is comparing (I guess) the source attribute of your sensor to an integer/long value.<br><br>&nbsp;&nbsp;&nbsp; Maybe we should add support for String to Number conversion on Object attributes or support a specific extractor for String attributes. Right now, the code looks like:
<br><br>&nbsp;&nbsp;&nbsp; public long getLongValue(InternalWorkingMemory workingMemory, final Object object) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final Object value = getValue( workingMemory, object );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( value instanceof Number ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ((Number) value).longValue();
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new RuntimeDroolsException( &quot;Conversion to long not supported from &quot; + value.getClass().getName() );<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp; If you can provide a self contained test showing your use case and open a JIRA with it, I will take a look.
<br><br>&nbsp;&nbsp; []s<br>&nbsp;&nbsp; Edson<br><br><div><span class="gmail_quote">2008/1/21, Warren, David [USA] &lt;<a href="mailto:warren_david@bah.com">warren_david@bah.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div dir="ltr" align="left"><font face="Arial"><font size="2"><span><font color="#0000ff">&nbsp;</font>I 
am</span>&nbsp;trying to get a project that runs in Drools 3 working on Drools 
4.<span>&nbsp; </span>Several of the rules in our DRL 
file are failing for the same reason, which is described below.<span>&nbsp; </span>I have searched for documentation where 
someone encountered this error, but have found none,<span> </span>which is why I am writing the 
list.</font></font></div>
<div>
<p align="left"><font face="Arial" size="2"></font></p>
<p align="left"><font face="Arial" size="2">Here is a sample rule that 
fails:</font></p>
<p align="left"><font face="Arial" size="2"></font></p>
<p align="left"><font face="Arial" size="2">rule &#39;X&#39;<br></font><font face="Arial" size="2">salience 750<br></font><font face="Arial" size="2">when<br></font><font face="Arial" size="2">s : Sensor( source == &quot;Not in File&quot; , TCN matches 
&quot;CRM[0-9]+MXFS[0-9]+&quot; )<br></font><font face="Arial" size="2">then<br></font><font face="Arial" size="2">System.out.println(&quot;Rule executed: X &quot; );<br></font><font face="Arial" size="2">s.setSource(&quot;X&quot;);
<br></font><font face="Arial" size="2">System.out.println( &quot;in rule location 2&quot;);<br></font><font face="Arial" size="2">update(s);<br></font><font face="Arial" size="2">System.out.println( &quot;in rule 
location 3&quot;);<br></font><font face="Arial" size="2">end</font></p>
<p align="left"><font face="Arial" size="2"></font></p>
<p align="left"><font face="Arial" size="2">The rule fails&nbsp;<span>&nbsp;when&nbsp;</span> the &quot;update(s)<span>;</span>&quot; statement<span>&nbsp; is&nbsp;executed, with the 
error&nbsp;that&nbsp;a String cannot be converted to a long (stack trace is 
below).&nbsp; The&nbsp;Sensor class&nbsp;has several variables.&nbsp;&nbsp;The 
last getter method called before the&nbsp;failure returns a 
long.&nbsp;&nbsp;</span>The source variable (which is set in the RHS of the 
rule) is a String<span>&nbsp;, and the&nbsp;for 
source</span>&nbsp;is the 2nd to last getter called.</font></p>
<p align="left"><font face="Arial" size="2"><span>Does anyone 
have an idea why this update statement would fail - why it would be trying to 
convert a String to a long?</span></font></p>
<p align="left"><font face="Arial" size="2"><span>Thank 
you,<br></span></font><font face="Arial" size="2"><span>David Warren</span></font></p>
<p align="left"><font face="Arial" size="2"></font></p>
<p align="left"><font face="Arial" size="2">Stack trace:</font></p>
<p align="left"><font face="Arial" size="2">org.drools.RuntimeDroolsException: 
Conversion to long not supported from java.lang.String<br></font><font face="Arial" size="2">at 
org.drools.base.extractors.BaseObjectClassFieldExtractor.getLongValue(BaseObjectClassFieldExtractor.java:106)<br></font><font face="Arial" size="2">at 
org.drools.base.ClassFieldExtractor.getLongValue(ClassFieldExtractor.java:203)<br></font><font face="Arial" size="2">at 
org.drools.rule.VariableRestriction$LongVariableContextEntry.updateFromTuple(VariableRestriction.java:284)<br></font><font face="Arial" size="2">at 
org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:100)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.JoinNode.assertTuple(JoinNode.java:102)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTuple(CompositeTupleSinkAdapter.java:73)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:140)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:299)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.Rete.assertObject(Rete.java:175)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)<br></font><font face="Arial" size="2">at 
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)<br></font><font face="Arial" size="2">at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:909)<br></font><font face="Arial" size="2">at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:881)<br></font><font face="Arial" size="2">at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:67)<br></font><font face="Arial" size="2">at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:61)<br></font><font face="Arial" size="2">at 
com.bah.aims.rules.Rule_X_0.consequence(Rule_X_0.java:32)<br></font><font face="Arial" size="2">at 
com.bah.aims.rules.Rule_X_0ConsequenceInvoker.evaluate(Rule_X_0ConsequenceInvoker.java:22)<br></font><font face="Arial" size="2">at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)<br></font><font face="Arial" size="2">at 
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)<br></font><font face="Arial" size="2">at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)<br></font><font face="Arial" size="2">at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)<br></font><font face="Arial" size="2">at 
com.bah.aims.rules.compiler.SensorPairRulesTest.testNotInFileIqcrm(SensorPairRulesTest.java:27)<br></font><font face="Arial" size="2">at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)<br></font><font face="Arial" size="2">at 
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br></font><font face="Arial" size="2">at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
Source)<br></font><font face="Arial" size="2">at 
java.lang.reflect.Method.invoke(Unknown Source)<br></font><font face="Arial"><font size="2">at junit.framework.TestCase.runTest(TestCase.java:154)<br><span>...</span></font></font></p></div>
<div align="left"><font face="Arial" size="2"></font>&nbsp;</div></div>
<br>_______________________________________________<br>rules-dev mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-dev</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli<br>&nbsp;&nbsp;JBoss Drools Core Development<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646
<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>