[rules-users] Splitted Sentences in DSL...

2008-01-15 Thread mmquelo massi
Hi guys,

As u can notice in the
http://labs.jboss.com/file-access/default/members/drools/images//templatebaseddsl2.png
DSL
pop-up Menu,
we have got the sentence Escalate the ticket splitted into 3 different
sub-sentences:

1. Escalate
2. Escalate the
3. Escalate the ticket

When I open *org.drools.examples.TroubleTicketWithDSL.dslr* from the *
drools-examples/drools-examples-drl/src/main/rules/org/drools/examples*
directory and i push CTRL+SPACE in Eclipse Europa 3.3, then the pop-up
menu I get back shows just one of the sentences above.

It just shows: Escalate the ticket.

I expected to see all the above sentences, as I saw in the JBoss Drools
Features page (
http://labs.jboss.com/file-access/default/members/drools/images//templatebaseddsl2.png
).

So Why Do I get a different menu with just one sentence?

Is the .dsl file referred from the .drls in the feature page different
from the following one?

*[condition][]There is a customer ticket with status of {status}=customer
: Customer( )   ticket : Ticket( customer == customer, status == {status}
)
[condition][]There is a {subscription} customer with a ticket status of
{status}=customer : Customer(subscription == {subscription}) ticket :
Ticket( customer == customer, status == {status})
[consequence][]Log {message}=System.out.println({message} );
[consequence][]Escalate the ticket=ticket.setStatus(Escalate);
update(ticket);
[consequence][]Send escalation email=sendEscalationEmail( customer, ticket
);*
*One more question.*

I have got no idea on the Object column which accours in the DSL Editor.
We have got Language Expression, , *Object* and Scope.

What does *Object* stand for?

Thank You for any help you can give me.

Massi
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Strange property access behavior resulting in NullPointerException

2008-01-15 Thread Edson Tirelli
   Henry,

   If you look at the stack trace, the NPE happens inside your own class
method:

at 
org.activequant.core.domainmodel.TimeSeries.getInstrumentSpecification(Unknown
Source)

   So, you need to look at what that method is doing to know why it is
raising the NPE.

[]s
Edson


2008/1/15, Henry Canterburry [EMAIL PROTECTED]:

  I am using Drools 4.0.3. I have a rule that I believe should work but
 causes a NullPointerException at runtime.

 The rule phrased this way causes a NullPointerException:
 rule Create Order Limit
 when
 CandleSeries( $instrument : instrumentSpecification )
 then
 insert(new OrderConstraint( $instrument ));
 end

 While the same rule phased like this works fine:

 rule Create Order Limit
 when
 $candle : CandleSeries( )
 then
 insert(new OrderConstraint( $candle.getInstrumentSpecification()
 ));
 end

 Is this right? I was looking at rule example 10.27 in the Drools guide and
 it's written exactly like rule #1 is.

 Here is the full stack trace of the rule execution from version 1:

 java.lang.NullPointerException
 at
 org.activequant.core.domainmodel.TimeSeries.getInstrumentSpecification(Unknown
 Source)
 at
 org.drools.base.org.activequant.core.domainmodel.CandleSeries2216507$getInstrumentSpecification.getValue(Unknown
 Source)
 at org.drools.base.ClassFieldExtractor.getValue(
 ClassFieldExtractor.java:127)
 at org.drools.rule.Declaration.getValue(Declaration.java:197)
 at
 sequitem.quanteq.ruleflow.Rule_Create_Order_Limit_0ConsequenceInvoker.evaluate
 (Rule_Create_Order_Limit_0ConsequenceInvoker.java:17)
 at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java
 :550)
 at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java
 :514)
 at org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:462)
 at org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:424)
 at sequitem.quanteq.rules.engine.StatefulEngine.execute(
 StatefulEngine.java:50)
 at sequitem.quanteq.rules.engine.StatefulEngine.execute(
 StatefulEngine.java:24)
 at
 sequitem.quanteq.rules.RandomMarketEntryRulesTest.testRandomMarketEntryRules
 (RandomMarketEntryRulesTest.java:55)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(
 NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
 DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at junit.framework.TestCase.runTest(TestCase.java:168)
 at junit.framework.TestCase.runBare(TestCase.java:134)
 at junit.framework.TestResult$1.protect(TestResult.java:110)
 at junit.framework.TestResult.runProtected(TestResult.java:128)
 at junit.framework.TestResult.run(TestResult.java:113)
 at junit.framework.TestCase.run(TestCase.java:124)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at junit.textui.TestRunner.doRun(TestRunner.java:116)
 at junit.textui.TestRunner.doRun(TestRunner.java:109)
 at junit.textui.TestRunner.run(TestRunner.java:77)
 at junit.textui.TestRunner.run(TestRunner.java:62)
 at sequitem.quanteq.rules.RandomMarketEntryRulesTest.main(
 RandomMarketEntryRulesTest.java:63)
 E
 Time: 36.687
 There was 1 error:
 1) testRandomMarketEntryRules(
 sequitem.quanteq.rules.RandomMarketEntryRulesTest)org.drools.spi.ConsequenceException:
 java.lang.NullPointerException
 at org.drools.base.DefaultConsequenceExceptionHandler.handleException(
 DefaultConsequenceExceptionHandler.java:14)
 at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java
 :553)
 at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java
 :514)
 at org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:462)
 at org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:424)
 at sequitem.quanteq.rules.engine.StatefulEngine.execute(
 StatefulEngine.java:50)
 at sequitem.quanteq.rules.engine.StatefulEngine.execute(
 StatefulEngine.java:24)
 at
 sequitem.quanteq.rules.RandomMarketEntryRulesTest.testRandomMarketEntryRules
 (RandomMarketEntryRulesTest.java:55)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(
 NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
 DelegatingMethodAccessorImpl.java:25)
 at sequitem.quanteq.rules.RandomMarketEntryRulesTest.main(
 RandomMarketEntryRulesTest.java:63)
 Caused by: java.lang.NullPointerException
 at
 org.activequant.core.domainmodel.TimeSeries.getInstrumentSpecification(Unknown
 Source)
 at
 org.drools.base.org.activequant.core.domainmodel.CandleSeries2216507$getInstrumentSpecification.getValue(Unknown
 

Re: [rules-users] Error creating shadow fact for object: [] when inserting Collection into working memory

2008-01-15 Thread Edson Tirelli
   Henry,

   This is tricky. Can you please open a JIRA for it? I will take a look as
soon as I can on how to fix that.

   Meanwhile, the workaround is: instead of inheriting from a collection
class, can you wrap it instead?

public class NamedCollectionT {
   private String name;
   private LinkedListT list;

   // constructor, getters, setters
}

   This change will make it work for you.

[]s
Edson

2008/1/15, Henry Canterburry [EMAIL PROTECTED]:

 I am having the same problem as described in this post:

 http://www.nabble.com/The-effect-of-not-using-shadow-facts-tp11652637p11708600.html

 The problem is, there really was no solution mentioned. Here is my
 collections class that I am asserting into working memory:

 public class NamedCollectionT extends LinkedListT{

public NamedCollection(String name){
 super();
 this.name = name;
 }

 public String getName(){
 return name;
 }

 /**
  *
  */
 private static final long serialVersionUID = -457439174592908333L;
 private String name;

 @Override
 public int hashCode() {
 final int prime = 31;
 int result = super.hashCode();
 result = prime * result + ((name == null) ? 0 : name.hashCode());
 return result;
 }

 @Override
 public boolean equals(Object obj) {
 if (this == obj)
 return true;
 if (!super.equals(obj))
 return false;
 if (getClass() != obj.getClass())
 return false;
 final NamedCollection other = (NamedCollection) obj;
 if (name == null) {
 if (other.name != null)
 return false;
 } else if (!name.equals(other.name))
 return false;
 return true;
 }
 }

 I get the following error when inserting this fact into memory:
 org.drools.RuntimeDroolsException: Error creating shadow fact for object:
 []
 at org.drools.reteoo.Rete$ClassObjectTypeConf.getShadow(Rete.java:628)
 at org.drools.reteoo.Rete.assertObject(Rete.java:166)
 at
 org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
 at
 org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java
 :71)
 at
 org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java
 :886)
 at
 org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java
 :858)
 at
 org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java
 :60)
 at
 org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java
 :54)
 at
 sequitem.quanteq.ruleflow.Rule_Explode_Globals_0.consequence
 (Rule_Explode_Globals_0.java:15)
 at

 sequitem.quanteq.ruleflow.Rule_Explode_Globals_0ConsequenceInvoker.evaluate
 (Rule_Explode_Globals_0ConsequenceInvoker.java:22)
 at
 org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)
 at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java
 :514)
 at
 org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:462)
 at
 org.drools.common.AbstractWorkingMemory.fireAllRules(
 AbstractWorkingMemory.java:424)
 at
 sequitem.quanteq.rules.engine.StatefulEngine.execute(StatefulEngine.java
 :50)
 at
 sequitem.quanteq.rules.engine.StatefulEngine.execute(StatefulEngine.java
 :24)
 at

 sequitem.quanteq.rules.RandomMarketEntryRulesTest.testRandomMarketEntryRules
 (RandomMarketEntryRulesTest.java:56)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
 :39)
 at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(
 DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at junit.framework.TestCase.runTest(TestCase.java:168)
 at junit.framework.TestCase.runBare(TestCase.java:134)
 at junit.framework.TestResult$1.protect(TestResult.java:110)
 at junit.framework.TestResult.runProtected(TestResult.java:128)
 at junit.framework.TestResult.run(TestResult.java:113)
 at junit.framework.TestCase.run(TestCase.java:124)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at junit.textui.TestRunner.doRun(TestRunner.java:116)
 at junit.textui.TestRunner.doRun(TestRunner.java:109)
 at junit.textui.TestRunner.run(TestRunner.java:77)
 at junit.textui.TestRunner.run(TestRunner.java:62)
 at
 sequitem.quanteq.rules.RandomMarketEntryRulesTest.main(
 RandomMarketEntryRulesTest.java:64)
 Caused by: java.lang.NullPointerException
 at java.util.LinkedList.clear(LinkedList.java:292)E

 at
 sequitem.quanteq.rules.engine.NamedCollectionShadowProxy.updateProxy
 (Unknown
 Source)
 at
 sequitem.quanteq.rules.engine.NamedCollectionShadowProxy.setShadowedObject
 (Unknown
 Source)
 at 

Re: [rules-users] Splitted Sentences in DSL...

2008-01-15 Thread Edson Tirelli
   AFAIK, that feature and screenshot was contributed by a community
member. I don't know if it is active in the codebase...

   Kris, do you know?

   []s
   Edson

2008/1/15, mmquelo massi [EMAIL PROTECTED]:


 Hi guys,

 As u can notice in the
 http://labs.jboss.com/file-access/default/members/drools/images//templatebaseddsl2.png
  DSL
 pop-up Menu,
 we have got the sentence Escalate the ticket splitted into 3 different
 sub-sentences:

 1. Escalate
 2. Escalate the
 3. Escalate the ticket

 When I open *org.drools.examples.TroubleTicketWithDSL.dslr* from the *
 drools-examples/drools-examples-drl/src/main/rules/org/drools/examples*
 directory and i push CTRL+SPACE in Eclipse Europa 3.3, then the pop-up
 menu I get back shows just one of the sentences above.

 It just shows: Escalate the ticket.

 I expected to see all the above sentences, as I saw in the JBoss Drools
 Features page ( 
 http://labs.jboss.com/file-access/default/members/drools/images//templatebaseddsl2.png
 ).

 So Why Do I get a different menu with just one sentence?

 Is the .dsl file referred from the .drls in the feature page different
 from the following one?

 *[condition][]There is a customer ticket with status of
 {status}=customer : Customer( )   ticket : Ticket( customer == customer,
 status == {status} )
 [condition][]There is a {subscription} customer with a ticket status of
 {status}=customer : Customer(subscription == {subscription}) ticket :
 Ticket( customer == customer, status == {status})
 [consequence][]Log {message}=System.out.println({message} );
 [consequence][]Escalate the ticket=ticket.setStatus(Escalate);
 update(ticket);
 [consequence][]Send escalation email=sendEscalationEmail( customer, ticket
 ); *
 *One more question.*

 I have got no idea on the Object column which accours in the DSL Editor.
 We have got Language Expression, , *Object* and Scope.

 What does *Object* stand for?

 Thank You for any help you can give me.

 Massi

 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users




-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Prefix 'and' and infix 'and' not interchangeable?

2008-01-15 Thread Gattiker, Alexandre
The documentation on the 'and' Conditional Element seems to imply that these 
constructs are equivalent:

$p1:Entity($code1:code)
not (and
$p2:Entity(code == $code1)
 eval(MyStaticClass.match($p1, $p2))
)

$p1:Entity($code1:code)
not (
$p2:Entity(code == $code1)
and eval(MyStaticClass.match($p1, $p2))
)

Actually, the first version crashes with this message:

unknown:93:7 Unexpected token 'and'[96,2]: unknown:96:2 mismatched token: 
[EMAIL PROTECTED],3685:3685=')',12,96:2]; expecting type THEN

I'm on drools 4.0.2 and mvel14-1.2.8.

Alexandre

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Drools 4.0.4 Released

2008-01-15 Thread Fernando Meyer
We just released Drools v4.0.4. This is a minor release with a few
improvements on existing features and some bug fixes.

Release Notes - JBoss Drools - Version 4.0.4

We would like to really thanks all the contributors that helped on getting
this release out. From those contributing patches and docs, to those testing
and reporting bugs and providing feedback. The list is a bit long to post
all names here and I may incur in a mistake forgetting someone, so our open
public thank you to you all!

Follows the release notes.

Happy Drooling
Drools Team

Release Notes - JBoss Drools - Version 4.0.4

Bug


* [JBRULES-1243] - Pattern matching does not allow spaces

* [JBRULES-1274] - NPE when using reserved word action as a bound
variable, or omitting rule title

* [JBRULES-1284] - ClassCastException when using  constraint on field
of type java.lang.Object containing data of type java.lang.Integer

* [JBRULES-1310] - java.lang.NullPointerException at
org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.build(
JavaConsequenceBuilder.java:54)

* [JBRULES-1311] - NPE when compiling rule consequences

* [JBRULES-1313] - NullPointerException at JavaConsequenceBuilder.java:54
on RHS for simplest of consequences

* [JBRULES-1314] - Error parsing rule that is written in a single line

* [JBRULES-1316] - Serialising Both the RuleBase and WorkingMemory
throws null pointer

* [JBRULES-1317] - Rule Execution Very Slow on Subsequent Session Using
the Same Packages

* [JBRULES-1321] - org.drools.compiler.DroolsParserException: Unknown
error while parsing.
  org.drools.compiler.DroolsParserException: Unknown error while
parsing.

* [JBRULES-1325] - OutOfMemory with the use of WorkingMemoryFileLogger

* [JBRULES-1336] - Typo in RuleBaseConfiguration(ClassLoader classLoder,
Properties properties) -- the ClassLoader specified in the constructor args
is not used

* [JBRULES-1337] - 'or' with predicate/return val/inline eval with
property issue

* [JBRULES-1339] - Debugging: Breakpoints are only considered for code
with variables

* [JBRULES-1340] - JBRMS - Admin - Manage Archived Assets - Open item
icon not opening item

* [JBRULES-1348] - Incorrect hash code calculation for character
attributes in alpha hashing optimization

* [JBRULES-1354] - Duplicate parameter error while trying to use pattern
bound variables or globals in accumulate function

* [JBRULES-1364] - Drl parser 'or'

* [JBRULES-1387] - Drools doesn't build with fresh maven2 installation
and no repository

* [JBRULES-1397] - org.mvel.CompileException: variable already defined
within scope

* [JBRULES-1410] - Rules with Collect / Accumulate CEs not working
correctly when dinamically added to a rulebase

* [JBRULES-1412] - ContextEntries should have cache nulled

* [JBRULES-1413] - KnowledgeHelper should have cache reset before use.

* [JBRULES-1416] - The use of HashKey is not thread safe in
CompositeObjectSinkAdapter



Feature Request


* [JBRULES-1308] - getFactHandle with equality-based assert behavior

* [JBRULES-1349] - NotNode and Exists Improvements

* [JBRULES-1375] - remove backported concurrency classes, now that we
are jdk1.5+

* [JBRULES-1395] - Add support to modify() block in java dialect
consequences



Patch

* [JBRULES-1323] - Add caching to the Objenesis instance and move
instance to the RuleBase level



Task

* [JBRULES-1421] - Update mvel version to 1.2.21 and update mvel
templates

-- 
Fernando Meyer http://fmeyer.org
JBoss Rules Core Developer
[EMAIL PROTECTED]
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Prefix 'and' and infix 'and' not interchangeable?

2008-01-15 Thread Edson Tirelli
This is a bug. May I ask you please to open a JIRA for it?

Thanks
   Edson

2008/1/15, Gattiker, Alexandre [EMAIL PROTECTED]:

 The documentation on the 'and' Conditional Element seems to imply that
 these constructs are equivalent:

 $p1:Entity($code1:code)
 not (and
 $p2:Entity(code == $code1)
  eval(MyStaticClass.match($p1, $p2))
 )

 $p1:Entity($code1:code)
 not (
 $p2:Entity(code == $code1)
 and eval(MyStaticClass.match($p1, $p2))
 )

 Actually, the first version crashes with this message:

 unknown:93:7 Unexpected token 'and'[96,2]: unknown:96:2 mismatched token:
 [EMAIL PROTECTED],3685:3685=')',12,96:2]; expecting type THEN

 I'm on drools 4.0.2 and mvel14-1.2.8.

 Alexandre

 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users




-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Prefix 'and' and infix 'and' not interchangeable?

2008-01-15 Thread Edson Tirelli
Actually, I just understood the problem.
The not CE requires () when used with anything that is not a simple
pattern. So the following are valid constructions:

not A()
not( A() and B() )

   Now, if you want to use a prefixed and/or, it also requires a (). So
the following is a valid construction:

not( (and A() B() ) )

   So, the proposed construction is not valid for current grammar, because
it is missing one pair of ():

not( and A() B() ) // WRONG

Now, I do think it would be desirable for us to support the above
construction, so if you open a ticket for that I will look into enabling it.

[]s
Edson

2008/1/15, Edson Tirelli [EMAIL PROTECTED]:


 This is a bug. May I ask you please to open a JIRA for it?

 Thanks
Edson

 2008/1/15, Gattiker, Alexandre  [EMAIL PROTECTED]:
 
  The documentation on the 'and' Conditional Element seems to imply that
  these constructs are equivalent:
 
  $p1:Entity($code1:code)
  not (and
  $p2:Entity(code == $code1)
   eval(MyStaticClass.match($p1, $p2))
  )
 
  $p1:Entity($code1:code)
  not (
  $p2:Entity(code == $code1)
  and eval(MyStaticClass.match($p1, $p2))
  )
 
  Actually, the first version crashes with this message:
 
  unknown:93:7 Unexpected token 'and'[96,2]: unknown:96:2 mismatched
  token: [EMAIL PROTECTED],3685:3685=')',12,96:2]; expecting type THEN
 
  I'm on drools 4.0.2 and mvel14-1.2.8.
 
  Alexandre
 
  ___
  rules-users mailing list
  rules-users@lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
 



 --
   Edson Tirelli
   JBoss Drools Core Development
   Office: +55 11 3529-6000
   Mobile: +55 11 9287-5646
   JBoss, a division of Red Hat @ www.jboss.com




-- 
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] shadow copy lacks a property value of the original fact

2008-01-15 Thread Henry Canterburry
I was just debugging my rules and monitored my working memory and 
variables, trying to figure out why a certain Pattern match was not 
firing, and noticed that a property value for a fact I inserted earlier 
via the RHS does not seem to be inserted into working memory along with 
the object. The fact's delegate (?) has the property value, but the fact 
(as displayed in the variables tab) has a null value for the property.


Here is the rule that inserts the fact into memory:

rule Explode Globals
   when
   $request : DecisionRequest( )
   $input : Object() from $request.getRequestObjects().values()
   then
   insert ( $input );   
end


Just before the insert executes, $input looks like this in the variables 
tab:


$input - NamedCollectionT (id=61)
   list - LinkedListE (id=62)
   name - constraints

After the insert however, when the engine checks the name value in my 
java class, the same fact now looks like this in the variables tab:


this - NamedCollectionShadowProxy (id=83)
  delegate - NamedCollectionT (id=61)
 list - LinkedListE (id=62)
 name - constraints
  list - LinkedListE (id=87)
  name - null  ??

So, when I next have a rule that looks like this:

rule Assemble Constraints
   when
   $const : OrderConstraint()
   $coll : NamedCollection( name == constraints )
   then
   $coll.add($const);   
   update($coll);   
end


Here is the java class:

public class NamedCollectionT implements CollectionT{

   private static final long serialVersionUID = -457439174592908333L;
   private CollectionT list = new LinkedListT();
   private String name;
  
   public NamedCollection(){
  
   }


   public NamedCollection(String name){
   this.name = name;
   }

...more methods...

   public String getName(){
   return this.name;
   }
  
   public void setName(String name){

   this.name = name;
   }
}

The pattern does not match since the value for name is null! When I 
place a breakpoint in my java code during drools debugging, the name 
value will return null each time. I also have another rule that creates 
a new OrderConstraint, so all conditions for the last rule to fire 
exist...other than the name property being null although it is set in 
the delegate. I do not have any other rules that modify the 
NamedCollection.


What am I doing wrong? Is this again related to having a class implement 
a collection?


HC
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Uploading the fact model to the DRools BRMS

2008-01-15 Thread Akila Geethal
Where should i include the property file?
Is it the .pkg file we edit when we are working with drools in ecliplse??

On Jan 14, 2008 2:10 PM, Akila Geethal [EMAIL PROTECTED] wrote:

 iam reading that..In the BRMS section i coundnot find ny thing about a
 property file???In which section is it?


 On Jan 14, 2008 1:59 PM, Rahul Upadhyay  [EMAIL PROTECTED] wrote:

  ohh I see, Property file needs to map between BRMS  yours
  application.
 
  Read this form
  http://downloads.jboss.com/drools/docs/4.0.3.15993.GA/html/index.html
 
  Rahul upadhyay
 
 
 
  On Jan 14, 2008 1:47 PM, Akila Geethal  [EMAIL PROTECTED] wrote:
 
   i dint get it.. What is the property file?? WHere shoud it be?? And
   what should be included in it?? iDint make ny property file?? I want to
   know what are those kind of externel configurations needed??
  
  
   On Jan 14, 2008 1:36 PM, Rahul Upadhyay [EMAIL PROTECTED]
   wrote:
  
you dont have com package.. so BRMS does not find the path.
Any where is your property file. put in you jar.
Jobss JDK 1.4 + ok.
   
   
try out.
   
Rahul upadhyay
   
   
On Jan 14, 2008 12:24 PM, Akila Geethal  [EMAIL PROTECTED]
wrote:
   
 last error comes when i import as import package1.Employee

 when i just put as import com.package1. it gives the error as
 class not found...


 On Jan 14, 2008 12:20 PM, Akila Geethal  [EMAIL PROTECTED]
 wrote:

   Details
  java.lang.reflect.InvocationTargetException at
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
  sun.reflect.NativeMethodAccessorImpl.invoke(
  NativeMethodAccessorImpl.java:39) at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(
  DelegatingMethodAccessorImpl.java:25) at
  java.lang.reflect.Method.invoke(Method.java:585) at
  org.jboss.seam.util.Reflections.invoke(Reflections.java:21) at
  org.jboss.seam.intercept.RootInvocationContext.proceed(
  RootInvocationContext.java:31) at
  org.jboss.seam.intercept.SeamInvocationContext.proceed(
  SeamInvocationContext.java:56) at
  org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(
  RollbackInterceptor.java:31) at
  org.jboss.seam.intercept.SeamInvocationContext.proceed(
  SeamInvocationContext.java:68) at
  org.jboss.seam.core.BijectionInterceptor.aroundInvoke(
  BijectionInterceptor.java:46) at
  org.jboss.seam.intercept.SeamInvocationContext.proceed(
  SeamInvocationContext.java:68) at
  org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(
  MethodContextInterceptor.java:42) at
  org.jboss.seam.intercept.SeamInvocationContext.proceed(
  SeamInvocationContext.java:68) at
  org.jboss.seam.security.SecurityInterceptor.aroundInvoke(
  SecurityInterceptor.java:40) at
  org.jboss.seam.intercept.SeamInvocationContext.proceed(
  SeamInvocationContext.java:68) at
  org.jboss.seam.intercept.RootInterceptor.invoke(
  RootInterceptor.java:106) at
  org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation
  (JavaBeanInterceptor.java:155) at
  org.jboss.seam.intercept.JavaBeanInterceptor.invoke(
  JavaBeanInterceptor.java:91) at
  org.drools.brms.server.ServiceImplementation_$$_javassist_3.savePackage(ServiceImplementation_$$_javassist_3.java)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(
  NativeMethodAccessorImpl.java:39) at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(
  DelegatingMethodAccessorImpl.java:25) at
  java.lang.reflect.Method.invoke(Method.java:585) at
  org.jboss.seam.remoting.gwt.GWTToSeamAdapter.callWebRemoteMethod
  (GWTToSeamAdapter.java:74) at
  org.jboss.seam.remoting.gwt.GWTRemoteServiceServlet.processCall(
  GWTRemoteServiceServlet.java:290) at
  org.jboss.seam.remoting.gwt.GWTRemoteServiceServlet.doPost(
  GWTRemoteServiceServlet.java:172) at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
  (ApplicationFilterChain.java:252) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(
  ApplicationFilterChain.java:173) at
  org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
  at org.jboss.seam.servlet.ContextualHttpServletRequest.run(
  ContextualHttpServletRequest.java:46) at
  org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
  at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
  (ApplicationFilterChain.java:202) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(
  ApplicationFilterChain.java:173) at
  org.apache.catalina.core.StandardWrapperValve.invoke(
  StandardWrapperValve.java:213) at
  

[rules-users] Can From reason over primitive arrays?

2008-01-15 Thread Henry Canterburry
I am trying to pattern match on a primitive array such as String[] or 
SomeObject[]. The documentation only mentions collections in the section 
about From.


Would a pattern match syntax such as...

rule My rule
   when
  $source : SourceObject()
  $myObject : MyObject() from $source.returnsAnArrayProperty
   then
  

..be correct? If not, how can capture and loop over every object in an 
array (not Collection)?


I have tried the above and I get a ClassCastException.

HC
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Basic Question about Errors

2008-01-15 Thread Markus Helbig
Hi,

it's a basic question but since half a year i am not sure how to read the error

[53,61]: unknown:53:61 Unexpected token '('[53,73]: unknown:53:73
mismatched token: [EMAIL PROTECTED],2278:2278=')',12,53:73]; expecting type
THEN[65,61]:


which line/position is indicated in the corresponding rule file. Every
time, when i think now i got it the next error shows me i'm not right.

Cheers

Markus
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users