[rules-users] Multiple Object Referencing error

Fnu Mahalakshmi FMahalakshmi at nyx.com
Tue Jun 8 12:53:01 EDT 2010


Hi guys,

Thanks a lot for looking into it. I just solved it. There were multiple objects getting created of the same type due to which rules was not getting fired. The error shown was very misleading :(

Thanks again
M

-----Original Message-----
From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of rules-users-request at lists.jboss.org
Sent: Tuesday, June 08, 2010 11:37 AM
To: rules-users at lists.jboss.org
Subject: rules-users Digest, Vol 43, Issue 43

Send rules-users mailing list submissions to
        rules-users at lists.jboss.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.jboss.org/mailman/listinfo/rules-users
or, via email, send a message with subject or body 'help' to
        rules-users-request at lists.jboss.org

You can reach the person managing the list at
        rules-users-owner at lists.jboss.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of rules-users digest..."


Today's Topics:

   1. Re: Multiple Object referencing error (Fnu Mahalakshmi)
   2. Re: Multiple Object referencing error (Swindells, Thomas)
   3. smooks query (Fnu Mahalakshmi)
   4. Re: Drools 5.1.0.M2 - BPMN2 process issue - Eclipse plugin.
      -- The method getTextContent() is undefined for the type Node
      (Vijay K Pandey)


----------------------------------------------------------------------

Message: 1
Date: Tue, 8 Jun 2010 10:13:15 -0400
From: Fnu Mahalakshmi <FMahalakshmi at nyx.com>
Subject: Re: [rules-users] Multiple Object referencing error
To: "'rules-users at lists.jboss.org'" <rules-users at lists.jboss.org>
Message-ID:
        <994758E35590274E955FA75763C5AA5002D01087 at MTEXMBXP01.ad.NYX.com>
Content-Type: text/plain; charset="us-ascii"

Hi,
Sorry about not posting the code. My mistake.

Classes :

public class Room {
    private String name
    private int number;
    // getter and setter methods here
}
public classs Sprinkler {
    private Room room;
    private boolean on;
    // getter and setter methods here
}
public class Fire {
    private Room room;
    // getter and setter methods here
}


I load 2 input files: 1. with data of fire and Room { f1, r1;f2, r2}

                     2. with data of sprinkler and Room {"n/a",r1,"n/a",r3}



I am writing rule " if fire exists in room start sprinkler" { so if f1 and r1 in this case: I should get s1, r1 } But since no sprinkler in r2 , That data should not get outputted.
I want my ouput file to look like:
Name    Number
Xyz     1

# xyz is my room name and 1 is the room number : r1(xyz,1) . But I am unable to delete entries.Is there anyway I can do it?

#only this should appears as the other room does not have a sprinkler.

when

    Fire($room : room)

    $sprinkler : Sprinkler( room == $room, modified == false )

Then

    $sprinkler.setmodified(true);

    modify( $sprinkler ) { setSprinkle( "s1" ) };

end


Error:
I am getting the error at a place where I am trying to write back from my working memory to my output file.
It is happening because the second rule to turn on the sprinkler does not work and as a result a null value is getting stored.
Is it possible that there can exists 2 different Room() objects with the same room.name ??
Because the room objects are getting stored from different files to the working memory ??
Do you think it better to store room objects in a separate list??
I store all information into a list and load that into the memory.
Am I going wrong here?

Please help.

Thank you.
-M
Please consider the environment before printing this email.

Visit our website at http://www.nyse.com

****************************************************

Note:  The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure.  If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify the sender immediately by replying to the message, and please delete it from your system.  Thank you.  NYSE Euronext.




------------------------------

Message: 2
Date: Tue, 8 Jun 2010 15:20:54 +0100
From: "Swindells, Thomas" <TSwindells at nds.com>
Subject: Re: [rules-users] Multiple Object referencing error
To: Rules Users List <rules-users at lists.jboss.org>
Message-ID:
        <DAC86F5F3B84F14088F0DB16092558CA07E8F9EC5D at UKMA1.UK.NDS.COM>
Content-Type: text/plain; charset="us-ascii"

You've still missed out the file which actually contains the main method which is where the exception is being thrown from...



> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org [mailto:rules-users-
> bounces at lists.jboss.org] On Behalf Of Fnu Mahalakshmi
> Sent: 08 June 2010 15:13
> To: 'rules-users at lists.jboss.org'
> Subject: Re: [rules-users] Multiple Object referencing error
>
> Hi,
> Sorry about not posting the code. My mistake.
>
> Classes :
>
> public class Room {
>     private String name
>     private int number;
>     // getter and setter methods here
> }
> public classs Sprinkler {
>     private Room room;
>     private boolean on;
>     // getter and setter methods here
> }
> public class Fire {
>     private Room room;
>     // getter and setter methods here
> }
>
>
> I load 2 input files: 1. with data of fire and Room { f1, r1;f2, r2}
>
>                      2. with data of sprinkler and Room {"n/a",r1,"n/a",r3}
>
>
>
> I am writing rule " if fire exists in room start sprinkler" { so if f1 and r1
> in this case: I should get s1, r1 } But since no sprinkler in r2 , That data
> should not get outputted.
> I want my ouput file to look like:
> Name  Number
> Xyz   1
>
> # xyz is my room name and 1 is the room number : r1(xyz,1) . But I am unable
> to delete entries.Is there anyway I can do it?
>
> #only this should appears as the other room does not have a sprinkler.
>
> when
>
>     Fire($room : room)
>
>     $sprinkler : Sprinkler( room == $room, modified == false )
>
> Then
>
>     $sprinkler.setmodified(true);
>
>     modify( $sprinkler ) { setSprinkle( "s1" ) };
>
> end
>
>
> Error:
> I am getting the error at a place where I am trying to write back from my
> working memory to my output file.
> It is happening because the second rule to turn on the sprinkler does not work
> and as a result a null value is getting stored.
> Is it possible that there can exists 2 different Room() objects with the same
> room.name ??
> Because the room objects are getting stored from different files to the
> working memory ??
> Do you think it better to store room objects in a separate list??
> I store all information into a list and load that into the memory.
> Am I going wrong here?
>
> Please help.
>
> Thank you.
> -M
> Please consider the environment before printing this email.
>
> Visit our website at http://www.nyse.com
>
> ****************************************************
>
> Note:  The information contained in this message and any attachment to it is
> privileged, confidential and protected from disclosure.  If the reader of this
> message is not the intended recipient, or an employee or agent responsible for
> delivering this message to the intended recipient, you are hereby notified
> that any dissemination, distribution or copying of this communication is
> strictly prohibited.  If you have received this communication in error, please
> notify the sender immediately by replying to the message, and please delete it
> from your system.  Thank you.  NYSE Euronext.
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users


**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster at nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************



------------------------------

Message: 3
Date: Tue, 8 Jun 2010 11:30:17 -0400
From: Fnu Mahalakshmi <FMahalakshmi at nyx.com>
Subject: [rules-users] smooks query
To: "'rules-users at lists.jboss.org'" <rules-users at lists.jboss.org>
Message-ID:
        <994758E35590274E955FA75763C5AA5002D01088 at MTEXMBXP01.ad.NYX.com>
Content-Type: text/plain; charset="us-ascii"

Hi,

Can anyone point me towards a good documentation as to how smooks works with drools?
How does smooks transform non-XML(java) data?? I could not understand this part???

Thank you in advance,
M
</pre>

<P><hr size=1></P>
<P><STRONG><font color=green>Please consider the environment before printing this email.</font></STRONG></P>
<P><STRONG>Visit our website at <a href="http://www.nyse.com">http://www.nyse.com</a> <br>

*****************************************************************************
<br>
Note:  The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure.  If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify the sender immediately by replying to the message, and please delete it from your system.  Thank you.  NYSE Euronext.

</STRONG></P><pre>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100608/1e644b0f/attachment-0001.html

------------------------------

Message: 4
Date: Tue, 08 Jun 2010 10:36:58 -0500
From: Vijay K Pandey <VPandey at mdes.ms.gov>
Subject: Re: [rules-users] Drools 5.1.0.M2 - BPMN2 process issue -
        Eclipse plugin. -- The method getTextContent() is undefined for the
        type Node
To: Rules Users List <rules-users at lists.jboss.org>
Message-ID:
        <412F68BC577B1444952EECC341CDE93B02051AF735 at HQSOMBX001.mdesad.mdesnet.ms.gov>

Content-Type: text/plain; charset="iso-8859-1"

Update::: Issues related to Plugin. When I recompiled the bpmn2 src and put that jar in the plugin lib, it simply didn't took the recompiled version. Then I removed the jar from the plugin lib and simply copied the - bpmn2 classes directly in the org/drools package of the plugin and voila - plugin started working fine.

Thanks
Vijay
From: Vijay K Pandey
Sent: Tuesday, June 08, 2010 8:48 AM
To: 'Rules Users List'
Subject: RE: Drools 5.1.0.M2 - BPMN2 process issue - Eclipse plugin. -- The method getTextContent() is undefined for the type Node

Update::: On the exception(mentioned below) related to jar "drools-bpmn2-5.1.0.M2.jar", I recreated this jar file from the Drools source (5.1.0.M2) against JDK6  and the exception went away. :) So far so good.

Plugin related exception is still there. I replaced the jar "drools-bpmn2.jar" which is present in the lib of plugin jar "org.drools.eclipse_5.1.0.M2.jar" with the recompiled jar, but not much luck - plugin is still not able to open the "*.bpmn" process. The error I get is "The method getTextContent() is undefined for the type Node" .

Right now I am at a dead end. Thanks in advance for help.

Thanks
Vijay
From: Vijay K Pandey
Sent: Monday, June 07, 2010 5:45 PM
To: 'Rules Users List'
Subject: RE: Drools 5.1.0.M2 - BPMN2 process issue - Eclipse plugin. -- The method getTextContent() is undefined for the type Node

I created a sample project to run a very simple rule flow (BPMN process), I got the similar error which the plugin is reporting. My env is SUN JDK 6. Here is the exception I get?  Any clue guys.


Exception in thread "main" java.lang.Error: Unresolved compilation problems:
      The method getTextContent() is undefined for the type Node
      The method getTextContent() is undefined for the type Node
      at org.drools.bpmn2.xml.StartEventHandler.handleNode(StartEventHandler.java:46)
      at org.drools.bpmn2.xml.AbstractNodeHandler.end(AbstractNodeHandler.java:77)
      at org.drools.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:420)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
      at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:180)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:739)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
      at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
      at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
      at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:295)
      at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:174)
      at org.drools.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:44)
      at org.drools.compiler.ProcessBuilder.addProcessFromFile(ProcessBuilder.java:222)
      at org.drools.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:415)
      at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:475)
      at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:517)
      at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)

Thanks
Vijay
From: Vijay K Pandey
Sent: Sunday, June 06, 2010 11:43 PM
To: Rules Users List
Subject: Drools 5.1.0.M2 - BPMN2 process issue - Eclipse plugin. -- The method getTextContent() is undefined for the type Node

Hi,

I just downloaded the Drools 5.1.0.M2 (have been using the snapshot version of around 16th April 2010) - created a sample "rule flow file(start-->user task-->end) - bpmn2 version". But when I clicked the file to open it gave the following error (image attached)

"The method getTextContent() is undefined for the type Node" .

I understand this error is related to org.w3c.dom.Node where this method was added as part of DOM Level 3 and available in JDK 5+ . My project and eclipse is configured against JDK 6+ . Not sure why this error with M2.

May be it is because of the drools-bpmn2.jar included in the drools eclipse plugin? Can someone shed some light that where it might be going wrong.


[cid:image001.png at 01CB06F6.8568A3E0]

Thanks
Vijay

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100608/605af0f5/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 9333 bytes
Desc: image001.png
Url : http://lists.jboss.org/pipermail/rules-users/attachments/20100608/605af0f5/attachment.png

------------------------------

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


End of rules-users Digest, Vol 43, Issue 43
*******************************************
Please consider the environment before printing this email.

Visit our website at http://www.nyse.com

****************************************************

Note:  The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure.  If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.  If you have received this communication in error, please notify the sender immediately by replying to the message, and please delete it from your system.  Thank you.  NYSE Euronext.





More information about the rules-users mailing list