Re: [rules-users] Error with Comparisons in rules
by Fnu Mahalakshmi
Hi Giovanni,
Thanks for the quick response.
I tried what you suggested the alternate suggestion and solves all problems :)
Thanks so much.
I removed the salience factor which I had added. It somehow made sure that the rule doesn't get fired only :P
Just added a modify block to modify required data.
Thanks so much.
I am having one more problem with creating .brl files in eclipse. Could you help me on that??
When I create a Guided business rule in eclipse - the drop downs to choose the facts always turn out empty. I tried adding a .package with all my import statements, adding the .jar to the classpath everything. Nothing seems to work.
Importing it from guvnor gives following error stack:
com.thoughtworks.xstream.mapper.CannotResolveClassException: metadataList : metadataList
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:49)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:76)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:60)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:76)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:34)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:296)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:178)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:125)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:846)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:833)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:781)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:773)
at org.drools.brms.server.util.BRXMLPersistence.unmarshal(BRXMLPersistence.java:91)
at org.drools.eclipse.rulebuilder.editors.BrlPage.setModelXML(Unknown Source)
at org.drools.eclipse.rulebuilder.editors.RuleEditor.pageChange(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1076)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:597)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:361)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:286)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2857)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99)
at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:133)
at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:330)
at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:787)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:499)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Any Idea????
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.
14 years, 5 months
Re: [rules-users] Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
by Vijay K Pandey
Should I log this as a JIRA ticket.
Thanks
Vijay
From: Vijay K Pandey
Sent: Wednesday, June 09, 2010 9:57 AM
To: 'Rules Users List'
Subject: Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
Hi,
There is a change done in Drools 5.1.0.M2 - org.drools.workflow.instance.node.WorkItemNodeInstance class in the method
public void triggerCompleted(WorkItem workItem) at line 196 which is setting the workItemId as -1
this.workItemId = -1;
Due to the above change the listeners which are attached to the "complete" event of the work item - such as the method below
public void beforeNodeLeft(ProcessNodeLeftEvent event) are not able to get hold of the associated workitem object as it returns null.
Is there any specific reason that workItemId is set to -1 even before the associated listeners get triggered or is this a bug?
If it was an intended change then how do I get hold of the "WorkItem" object in the attached listeners.
Thanks
Vijay
p.s This change was not there in the snapshot of 18th April 2010 which I was earlier working on. Above is the only change in this class from the snapshot of 18th April and 5.1.0.M2
14 years, 5 months
Error with Comparisons in rules
by Fnu Mahalakshmi
Hi guys,
Can we compare 2 attributes of an object in a rule??
Example:
A{
Object x,
Object y,
String status,
}
X{
String name
}
Y{
String name
}
Rule " check if x and y have same name in A"
When
$x : X()
$y :Y()
$a : A( x == $x, y == $y} //this part not working for me
Eval($x.name == $y.name)
Then
Modify($a){
setStatus("same")
};
End
Is there a better way to achieve this????
Please help.
Thank you
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>
14 years, 5 months
Re: [rules-users] error with firing of rules and chainig rules
by Fnu Mahalakshmi
Hi guys,
Thanks for the response.
When I store data as a collection the rules don't seem to get fired. I think the data is not being read.
I tried everything suggested.
So broke down the data storing them as individual java bean objects.
Is this a possibility??
Rule
When
$fire : Fire(room != null, status == true)
$sprinkler : Sprinkler(room != "")
Eval($sprinkler.getRoomId == $fire.getRoomId) //this doesn't work. Anyway I can compare 2 values in my rules????
Then
Modify($sprinkler){
setSprinklerStatus(true);
}
I am trying to check if the fire for the room 1 is true then if sprinkler for that room exists then that is also set true.
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of rules-users-request(a)lists.jboss.org
Sent: Thursday, June 10, 2010 4:57 AM
To: rules-users(a)lists.jboss.org
Subject: rules-users Digest, Vol 43, Issue 53
Send rules-users mailing list submissions to
rules-users(a)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(a)lists.jboss.org
You can reach the person managing the list at
rules-users-owner(a)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: error with firing of rules and chainig rules (Giovanni Motta)
2. Re: depicting array in rules (Swindells, Thomas)
----------------------------------------------------------------------
Message: 1
Date: Thu, 10 Jun 2010 09:59:27 +0200
From: Giovanni Motta <mottagio(a)gmail.com>
Subject: Re: [rules-users] error with firing of rules and chainig
rules
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID:
<AANLkTikzwm0qpIv6qDe4koF5NxxFezF3z7op4AIN7yGv(a)mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
When you update your objects, do you notify the session of the change?
If you do that, you should not take care of salience. The objects insertion
order is not relevant (or, at least, marginally).
To notify the session of an object change, you should either put your
modifications inside a 'modify' block (see the docs) or let your java beans
include a 'PropertyChangeSupport' field (see dynamic facts).
In your sample, when the room gets the 'fire' status, the session should be
notified of the change, and the sprinkler rule will fire.
Regards
2010/6/9 Fnu Mahalakshmi <FMahalakshmi(a)nyx.com>
> Hi,
>
>
>
> If you have multiple rules where its important that rule 1 be fired on the
> data first and then rule 2 how can we do this without specifying the
> salience factor?
>
> I do not want my rules to be dependant on each other as the data I am
> passing differs from each other.
>
> Ex:
>
> Room{
>
> Name, Id,
>
> Status,
>
> }
>
> Fire{
>
> Room,
>
> FireType}
>
>
>
> Sprinkler{
>
> Room,
>
> SprinklerType
>
> status}
>
>
>
>
>
> I pass all data above into my working memory.
>
> I have rules:
>
> Rule 1: ?if fire exists update room status to ?fire??
>
> Rule 2: ?if room has status ?fire? update sprinkler status to ?room
> number??
>
>
>
> Now when I pass my javabean objects: if theobject of type sprinkler gets
> processed first it will never get the room number even if actually the room
> has status ?fire?
>
>
>
> If I specify salience feature then It will never work for my sprinkler
> objects and always be multichained.
>
> I don?t want chaining between my rules.
>
>
>
> Any suggestions???
>
> 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(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
14 years, 5 months
depicting array in rules
by Fnu Mahalakshmi
Hi,
Is there any way I can represent an array of values in my rules??
I want to do this:
Fire{
Room,
Status}
Sprinkler{
Object [] Room = new Room[]{new Room(),new room()}
Status
}
Room{
Name,
Number}
Rule " if fire in room start sprinkler if room has sprinkler"
No-loop true
when
Fire($room : room)
$sprinkler : Sprinkler( room == $room) # how can I search through the array of room values here???????
then
modify($sprinkler){
setStatus(true)
};
End
Any Idea if that is possible to implement in rules???
I could do it with adding different instances of sprinkler and rooms. But I want to minimize the amount of repetition in data stored and loaded into the working memory.
Any idea??
Thank you,
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>
14 years, 5 months
error with firing of rules and chainig rules
by Fnu Mahalakshmi
Hi,
If you have multiple rules where its important that rule 1 be fired on the data first and then rule 2 how can we do this without specifying the salience factor?
I do not want my rules to be dependant on each other as the data I am passing differs from each other.
Ex:
Room{
Name, Id,
Status,
}
Fire{
Room,
FireType}
Sprinkler{
Room,
SprinklerType
status}
I pass all data above into my working memory.
I have rules:
Rule 1: "if fire exists update room status to 'fire'"
Rule 2: "if room has status 'fire' update sprinkler status to 'room number'"
Now when I pass my javabean objects: if theobject of type sprinkler gets processed first it will never get the room number even if actually the room has status 'fire'
If I specify salience feature then It will never work for my sprinkler objects and always be multichained.
I don't want chaining between my rules.
Any suggestions???
Thank you
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>
14 years, 5 months
Multiple relationship in rules problem
by Fnu Mahalakshmi
Hi guys,
I want to work out a one to many relationship in my rules
I have 2 classes:
A{
ArrayList<B>blist;
status
}
B{
Status}
If A points to {B1,B2,B3}
If B1 exists in A then B1 status = on and A status is on
And B2, B3 status is updated to on as it is also associated with A
I am unable to depict this in my rules.
How can I traverse through lists in my rules.
I tried this::
when
$a : A()
$b : bList from $A.ipList
exists (B( status == "on") from $b)
then
modify ($a) {setStatus("on")};
end
But above doesn't work. I guess its because $b is just a variable and I am passing a list.
But not knowing how to do it.
Please help!!! Or is there any other way to go about it???
Thank you.
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>
14 years, 5 months
Class not found error on registerWorkItemHandler
by drdaveg
Hi! I've created a custom WorkItemHandler that seems to work until it is used
in another Java function with other WorkItemManager's and Handler's (the
default ones, email and log.) No exception is caught by a try-catch block
with this function call, but single stepping through the code that runs the
process in a debugger reaches:
ksession.getWorkItemManager().registerWorkItemHandler( "PartnerSystem",
sWIH);
with a "class not found" error where
sWIH = new SystemWorkItemHandler(ksession);
drools.rulebase.conf has one line:
drools.workDefinitions = WorkDefinitions.conf myWorkDefinitions.conf
and the work item's icon is visible in Eclipse. Note that I don't have a
WorkDefinisions.conf but this seems needed to use the default Email and Log
work items. The myWorkDefinitions.conf has one entry, which does not take
any parameters (for simplicity):
import org.drools.process.core.datatype.impl.type.StringDataType;
[
// the PartnerSystem work item
[
"name" : "PartnerSystem",
"displayName" : "PartnerSystem",
"icon" : "icons/system.gif"
]
]
What is wrong with the configuration causing the class not found error? I
use the class in the program a few lines above the call to
registerWorkItemHandler to make sure it is on the classpath. Thanks!
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Class-not-found-error...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 5 months
uploading rule files dynamically
by Fnu Mahalakshmi
Hi,
Is there anyway that I can dynamically add rule files??
I am loading it like this as of now :
private static final String[] RULES_FILES = new String[]{ "Rule1.drl"};
new RuleRunner().runStatelessRules(RULE_FILES,null,list_of_data,null);
If I create new rule files, I will have to keep adding it to RULES_FILES.
Is there someway I can check dynamically if there are more rule files and get it added to my rulebase??
Thanks
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>
14 years, 5 months
Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
by Vijay K Pandey
Hi,
There is a change done in Drools 5.1.0.M2 - org.drools.workflow.instance.node.WorkItemNodeInstance class in the method
public void triggerCompleted(WorkItem workItem) at line 196 which is setting the workItemId as -1
this.workItemId = -1;
Due to the above change the listeners which are attached to the "complete" event of the work item - such as the method below
public void beforeNodeLeft(ProcessNodeLeftEvent event) are not able to get hold of the associated workitem object as it returns null.
Is there any specific reason that workItemId is set to -1 even before the associated listeners get triggered or is this a bug?
If it was an intended change then how do I get hold of the "WorkItem" object in the attached listeners.
Thanks
Vijay
p.s This change was not there in the snapshot of 18th April 2010 which I was earlier working on. Above is the only change in this class from the snapshot of 18th April and 5.1.0.M2
14 years, 5 months