Re: [rules-users] Best Webserver to put in front of Drools Planner?

2013-01-21 Thread Geoffrey De Smet

  
  

Op 21-01-13 07:47, Michiel Vermandel
  schreef:


  Hi,

I need to make the planning engine to be accessible through a
SOAP webservice.
A SOAP message with planning entity/variable data needs to be
sent, which starts a planning threat.

What is the best approach here?

Camel + JBoss AS 7 :)

Like drools-camel, one day we 'll build drools-planner-camel (direct
integration to expose drools-planner as a SOAP/REST webservice
through camel) that will work on any servlet container, but not any
day soon.


   Just take a Tomcat server
and a custom SOAP Webapp?

Thanks,

Michiel

  

-
  http://www.codessentials.com - Your essential software, for
  free!
  Follow us at http://twitter.com/#!/Codessentials
  
  
  
  
  ___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



  

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


Re: [rules-users] Best Webserver to put in front of Drools Planner?

2013-01-21 Thread Michiel Vermandel
@Geoffrey: is there a possibility to get payed support on Drools Planner?

Thanks,

Michiel Vermandel


 
-
http://www.codessentials.com - Your essential software, for free!
Follow us at http://twitter.com/#!/Codessentials



 From: Geoffrey De Smet ge0ffrey.s...@gmail.com
To: Michiel Vermandel mverm...@yahoo.com; Rules Users List 
rules-users@lists.jboss.org 
Sent: Monday, January 21, 2013 9:50 AM
Subject: Re: Best Webserver to put in front of Drools Planner?
 



Op 21-01-13 07:47, Michiel Vermandel schreef:

Hi,

I need to make the planning engine to be accessible through a
SOAP webservice.
A SOAP message with planning entity/variable data needs to be
sent, which starts a planning threat.

What is the best approach here?
Camel + JBoss AS 7 :)

Like drools-camel, one day we 'll build drools-planner-camel (direct
integration to expose drools-planner as a SOAP/REST webservice
through camel) that will work on any servlet container, but not any
day soon.


Just take a Tomcat server and a custom SOAP Webapp?

Thanks,

Michiel



 
-
http://www.codessentials.com - Your essential software, for
  free!
Follow us at http://twitter.com/#!/Codessentials


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


Re: [rules-users] [rules-dev] [BAD Bug] incorrect evaluation of LHS using Integer/Number intValue

2013-01-21 Thread Mario Fusco
I just fixed this bug on the master and backported it on the 5.5.x branch.
Wolfgang, thanks again for your help.

Mario

On Sun, Jan 20, 2013 at 9:23 AM, Wolfgang Laun wolfgang.l...@gmail.comwrote:

 Below is another couple of test cases, showing that the problem is not due
 a getter that isn't called get* - it's a more general problem. As far as I
 can tell this rule pattern, expecting to fire in ascending order of
 Fact.prop, is broken in 5.5.0:

 rule Rule xx
 when
 $fact: Fact( $prop: prop )
 not Fact(prop  $prop)
 then
 System.out.println(Fact.prop:  + $prop);
 retract($fact);
 end

 // Test case using String

 rule init
 salience 
 when
 then
 insert( AAA );
 insert( DDD );
 insert( EEE );
 insert( CCC );
 insert( BBB );
 end

 rule Rule 05
 when
 $s : String()
 not String( this  $s)
 then
 System.out.println(String found with value:  + $s );
 retract($s);
 end

 // Test case using declared type
 declare Fact
   prop : long
 end

 rule init
 salience 999
 when
 then
 insert( new Fact( 1 ) );
 insert( new Fact( 5 ) );
 insert( new Fact( 6 ) );
 insert( new Fact( 4 ) );
 insert( new Fact( 2 ) );
 end

 rule Rule 06
 salience 100
 when
 $fact : Fact( $prop: prop )
 not Fact( prop  $prop )
 then
 System.out.println(Fact.prop:  + $prop);
 retract($fact);
 end

 On 20/01/2013, Wolfgang Laun wolfgang.l...@gmail.com wrote:
  [Sorry - the previous email escaped before I was complete.]
 
  This is a self-contained DRL demonstrating the erroneous handling of
  a condition involving Integer.intValue (same: Number.intValue), not
  and retract, which is meant to sort the integers. This fails with 5.5.0,
  but works correctly with 5.4.0 and previous versions.
 
  rule init
  salience 
  when
  then
  insert( Integer.valueOf( 10 ) );
  insert( Integer.valueOf( 50 ) );
  insert( Integer.valueOf( 60 ) );
  insert( Integer.valueOf( 40 ) );
  insert( Integer.valueOf( 20 ) );
  end
 
  rule Rule 04
  when
  $number : Integer( $i: intValue )
  not Integer(intValue  $i)
  then
  System.out.println(Number found with value:  + $number.intValue());
  retract($number);
  end
 
 
  On 17/01/2013, Wolfgang Laun wolfgang.l...@gmail.com wrote:
  This BAD bug was introduced on the way from 5.4.0 to 5.5.0 (and seems
  to have sneaked into 6.0.0 as well).
 
  Only 5.4.0 and predecessors work as expected.
 
  Damage control? How far can 5.5.0 be trusted?
 
 
  On 17/01/2013, John Smith ffirstt.lla...@gmail.com wrote:
  I am new to Drools and am trying to get the sample program to work.
  This
  sample is given in the drools documentation
 
 http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/index.html#d0e9542
 .
  This drool rule is expected to sort integers. I just changed the
  numbers
  from what are given in the sample and they do not get sorted as
  expected.
  Tried using drools version 5.5.0, 5.5.1 and the master 6.0.0, but got
  the
  same wrong results.
 
  Following is the main code:
  package com.sample;
 
  public class Example2 {
public static void main(String[] args) throws Exception {
  Number[] numbers = new Number[] { wrap(5), wrap(6), wrap(4),
  wrap(1), wrap(2) };
  new RuleRunner().runRules(new String[] { Example3.drl },
  numbers);
}
 
private static Integer wrap(int i) {
  return new Integer(i);
}
  }
 
   The RuleRunner class is the same as given in the example and I do not
  think
  I should give that here, since it will clutter the question. It simply
  creates the KnowledgeBase, stateful session, inserts the facts as
 given
  in
  the 'numbers' array above and then calls fireAllRules method on the
  session.
 
  The rule file (Example3.drl) is:
 
 
   rule Rule 04
   dialect mvel
 when
   $number : Number()
   not Number(intValue  $number.intValue)
 then
   System.out.println(Number found with value:  +
  $number.intValue());
   retract($number);
   end
 
 
  The output I get is as follows:
  Loading file: Example3.drl
  Inserting fact: 5
  Inserting fact: 6
  Inserting fact: 4
  Inserting fact: 1
  Inserting fact: 2
  Number found with value: 1
  Number found with value: 4
  Number found with value: 2
  Number found with value: 5
  Number found with value: 6
 
  Not the correct expected ascending sorted order.
 
  What might I be doing wrong? I cannot imagine that the drools rule
  engine
  would be broken at this basic level.
 
 
 
  --
  View this message in context:
 
 http://drools.46999.n3.nabble.com/Drools-Expert-does-not-sort-integers-correctly-tp4021606.html
  Sent from the Drools: User forum mailing list archive at Nabble.com.
  ___
  rules-users mailing list
  rules-users@lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
 
 
 
 
 ___
 

Re: [rules-users] Best Webserver to put in front of Drools Planner?

2013-01-21 Thread Steven Núñez
Michael,

We have extensive experience in planner and offer paid support. Send me a note 
with you requirements. We are supporting many major Australian corporations 
already.

Regards,

Steve

Managing Director
Illation Pty Ltd

On 21/01/2013, at 20:13, Michiel Vermandel 
mverm...@yahoo.commailto:mverm...@yahoo.com wrote:

@Geoffrey: is there a possibility to get payed support on Drools Planner?

Thanks,

Michiel Vermandel


-
http://www.codessentials.com - Your essential software, for free!
Follow us at http://twitter.com/#!/Codessentials

From: Geoffrey De Smet ge0ffrey.s...@gmail.commailto:ge0ffrey.s...@gmail.com
To: Michiel Vermandel mverm...@yahoo.commailto:mverm...@yahoo.com; Rules 
Users List rules-users@lists.jboss.orgmailto:rules-users@lists.jboss.org
Sent: Monday, January 21, 2013 9:50 AM
Subject: Re: Best Webserver to put in front of Drools Planner?


Op 21-01-13 07:47, Michiel Vermandel schreef:
Hi,

I need to make the planning engine to be accessible through a SOAP webservice.
A SOAP message with planning entity/variable data needs to be sent, which 
starts a planning threat.

What is the best approach here?
Camel + JBoss AS 7 :)

Like drools-camel, one day we 'll build drools-planner-camel (direct 
integration to expose drools-planner as a SOAP/REST webservice through camel) 
that will work on any servlet container, but not any day soon.

Just take a Tomcat server and a custom SOAP Webapp?

Thanks,

Michiel


-
http://www.codessentials.com - Your essential software, for free!
Follow us at http://twitter.com/#!/Codessentials



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




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


Re: [rules-users] can't copy files to guvnor using webdav

2013-01-21 Thread Stephen Masters
Thanks Jervis,

In that case, it sounds like the issue might be with the use of the default 
JAAS authenticator. In which case, does using a custom authenticator fix the 
issue?

For instance, I knocked this one up to support single sign-on to Guvnor on RHEL 
from users on Windows 7 (Active Directory):
https://gist.github.com/4545962

I have only tested it on 5.3 though, so I can't be sure whether it resolves the 
5.4 issue.

Steve


On 21 Jan 2013, at 01:10, Jervis Liu j...@redhat.com wrote:

 On 2013/1/17 18:46, Stephen Masters wrote:
 Hi folks,
 
 Just curious, but do you have a link to the Jira relating to this 
 authentication issue? I'm keen to find the details.
 https://issues.jboss.org/browse/GUVNOR-1986
 
 
 Thanks,
 
 Steve
 
 
 On 17 Jan 2013, at 07:01, Jervis Liu j...@redhat.com wrote:
 
 On 2013/1/16 12:28, Yuri wrote:
 Hmm - I may try that.  So you think I would install 5.3, import one of my 
 5.5 repositories, merge in packages from the other 5.5 repository, and 
 then export that repository to be re-imported in 5.5? 
 Yes, it should be doable.
 
 
 On Tue, Jan 15, 2013 at 9:28 PM, Jervis Liu j...@redhat.com wrote:
 On 2013/1/16 11:12, Yuri wrote:
 Thanks for the quick reply, Jervis.  We are basically in 
 discovery/presentation mode with our BRMS, and we have several different 
 people doing different things with their own instances of guvnor (not how 
 it's going to be in the end). We're trying to merge the work ppl have 
 been doing into a central guvnor repository, so copying packages from one 
 to the other w/o blowing away the whole repository is the only way we've 
 thought of doing this so far.  Do you have any ideas for a work-around?
 Given the fact the authentication problem has not been fixed yet in Guvnor 
 5.4 and 5.5 (but will be very soon), the only workaround I can think of 
 right now is using Guvnor 5.3. You can merge assets under 5.3. Then 
 upgrade guvnor with the merged repository to 5.4 or 5.5. 
 
 Jervis
 
 Thanks,
 Yuri
 
 
 On Tue, Jan 15, 2013 at 8:50 PM, Jervis Liu j...@redhat.com wrote:
 On 2013/1/16 2:52, Yuri wrote:
 Hi Everyone,
 I am having to move assets from one repository to another, and if WebDav 
 would work for me, I believe that it would be the easiest solution.  
 I have the default security setup that comes with guvnor 5.5.0 and JBoss 
 AS 7, and I absolutely could not figure out any way to connect from 
 Windows 7.  
 Guvnor 5.4 and 5.5 has a known authentication problem which affects 
 WebDav access. If you just want to move assets from one repo to another, 
 you can try exporting guvnor repository as xml file then importing again, 
 will this approach work for you?
 
 I was finally able to connect to webDav with BitKinex, however, I cannot 
 upload anything - I can download files just fine, but when I try to 
 upload, I get the following error on my server.  Am I missing something?
 Thanks,
 Yuri
 
 Error:
 12:08:00,344 ERROR [org.drools.repository.RulesRepository] 
 (http--127.0.0.1-8080-7) Unable to load a module. : 
 javax.jcr.PathNotFoundException: MyNewAsset.txt
 
 at 
 org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2135) 
 [jackrabbit-core-2.2.8.jar:2.2.8]
 
 at 
 org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2129) 
 [jackrabbit-core-2.2.8.jar:2.2.8]
 
 at 
 org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200)[jackrabbit-core-2.2.8.jar:2.2.8]
 
 at 
 org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) 
 [jackrabbit-core-2.2.8.jar:2.2.8]
 
 at 
 org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2129) 
 [jackrabbit-core-2.2.8.jar:2.2.8]
 
 at 
 org.drools.repository.RulesRepository.loadModule(RulesRepository.java:435)[guvnor-repository-5.5.0.Final.jar:5.5.0.Final]
 
 at 
 org.drools.repository.RulesRepository$Proxy$_$$_WeldClientProxy.loadModule(RulesRepository$Proxy$_$$_WeldClientProxy.java)[guvnor-repository-5.5.0.Final.jar:5.5.0.Final]
 
 at 
 org.drools.guvnor.server.files.WebDAVImpl.loadPackageFromRepository(WebDAVImpl.java:912)[guvnor-webapp-core-5.5.0.Final.jar:5.5.0.Final]
 
 at 
 org.drools.guvnor.server.files.WebDAVImpl.getStoredObjectForReadOnlyPackages(WebDAVImpl.java:473)[guvnor-webapp-core-5.5.0.Final.jar:5.5.0.Final]
 
 at 
 org.drools.guvnor.server.files.WebDAVImpl.getStoredObject(WebDAVImpl.java:409)[guvnor-webapp-core-5.5.0.Final.jar:5.5.0.Final]
 
 at 
 

Re: [rules-users] Drools 5.4.0.FINAL and OSGI. Unable to instantiate service for Class 'org.drools.concurrent.ExecutorProvider'

2013-01-21 Thread ikbhal
Hi,

Hi
I am using drools 
I am getting this error after i run the rule after 10 times.
Can you please suggest me is there any i can do 
i tried to chagne version of drools-core,api,compiler , but it does not
work.
my pom.xml is
dependency
groupIdorg.drools/groupId
artifactIddrools-core/artifactId
version5.1.1/version
/dependency
dependency
groupIdorg.drools/groupId
artifactIddrools-compiler/artifactId
version5.1.1/version
/dependency
dependency
groupIdorg.drools/groupId
artifactIddrools-api/artifactId
version5.1.1/version
/dependency
dependency
groupIdorg.drools/groupId
artifactIddrools-templates/artifactId
version5.1.1/version
/dependency
dependency
groupIdcom.thoughtworks.xstream/groupId
artifactIdxstream/artifactId
version1.3.1/version
/dependency

this is the code
public T T runRule(String ruleName, Object facts[], T result, String
resultName)
throws ERPServiceException {

if(ksession == null || ruleMap == null || ruleMap.size() == 0){
throw new 
ERPServiceException(ERPErrorCodes.ERR_NO_DATA_TO_PROCESS);
}
LOGGER.info(inside run rule);

ListFactHandle factHandleList = new ArrayListFactHandle();
FactHandle factHandle = null;
for(Object fact: facts) {
LOGGER.info(rule fact: + facts);
factHandle = ksession.insert(fact);
factHandleList.add(factHandle);
}
ksession.setGlobal(resultName, result);  
/* 
 * ksession.addEventListener(kbaseRefresher);
 *ksession.addEventListener(kbaseRefresher);
 */ 
String ruleFullName = null;
RuleEntry ruleEntry = ruleMap.get(ruleName);

if(ruleEntry != null){
Long ruleMetaDataId = ruleEntry.getRuleMetaDataId();
RuleMetaDataEntry metaDataEntry =
ruleMetaDataMap.get(ruleMetaDataId);
if(metaDataEntry != null 
metaDataEntry.getRuleMetaDataParameterEntries() != null 
 
metaDataEntry.getRuleMetaDataParameterEntries().size()1) {
ruleFullName = metaDataEntry.getName();
}else{
ruleFullName = RULE_NAME_PREFIX + ruleName;
}
LOGGER.info(running rule:   + ruleFullName);
ksession.fireAllRules(new
RuleNameMatchesAgendaFilter(ruleFullName));
for(FactHandle fhandle: factHandleList){
ksession.retract(fhandle);
}
}
return result;
}


Caused by: java.lang.ExceptionInInitializerError
at
org.drools.concurrent.ExecutorProviderFactory.getExecutorProvider(ExecutorProviderFactory.java:12)
at
org.drools.rule.constraint.MvelConstraint$ExecutorHolder.clinit(MvelConstraint.java:259)
at
org.drools.rule.constraint.MvelConstraint.jitEvaluator(MvelConstraint.java:232)
at
org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:197)
at
org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:157)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
at 
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
at
com.myntra.commons.utils.RuleEngineCache.runRule(RuleEngineCache.java:152)
at
com.myntra.lms.manager.impl.CourierServiceabilityManagerImpl.getCouriers(CourierServiceabilityManagerImpl.java:221)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at

Re: [rules-users] Implementation example

2013-01-21 Thread André Fróes
ops, just found it:

http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/index.html#d0e9542


2013/1/21 André Fróes arfmor...@gmail.com

 Hello everyone. Is there anywhere I can get a full example of simplest
 planner implementation, such as nqueens? (apart of example folder)

 Thanks

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


Re: [rules-users] Implementation example

2013-01-21 Thread André Fróes
nvm, it was for expert, not planner o.O


2013/1/21 André Fróes arfmor...@gmail.com

 ops, just found it:


 http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/index.html#d0e9542


 2013/1/21 André Fróes arfmor...@gmail.com

 Hello everyone. Is there anywhere I can get a full example of simplest
 planner implementation, such as nqueens? (apart of example folder)

 Thanks



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


Re: [rules-users] Implementation example

2013-01-21 Thread Jeremy Ary
Have you tried looking here for something similar or planner-based?

https://github.com/droolsjbpm/drools-planner/tree/master/drools-planner-examples

https://github.com/droolsjbpm/drools-planner/tree/master/drools-planner-webexamples

https://github.com/droolsjbpm/drools/tree/master/drools-examples/src/main/java/org/drools/examples

- J




On Mon, Jan 21, 2013 at 7:09 AM, André Fróes arfmor...@gmail.com wrote:

 nvm, it was for expert, not planner o.O


 2013/1/21 André Fróes arfmor...@gmail.com

 ops, just found it:


 http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/index.html#d0e9542


 2013/1/21 André Fróes arfmor...@gmail.com

 Hello everyone. Is there anywhere I can get a full example of simplest
 planner implementation, such as nqueens? (apart of example folder)

 Thanks




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


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


Re: [rules-users] Drools 5.4.0.FINAL and OSGI. Unable to instantiate service for Class 'org.drools.concurrent.ExecutorProvider'

2013-01-21 Thread ikbhal
Thanks Per Sterner, i tried to your suggestion,
I removed drools-api dependency from pom.xml
its working.




--
View this message in context: 
http://drools.46999.n3.nabble.com/rules-users-Drools-5-4-0-FINAL-and-OSGI-Unable-to-instantiate-service-for-Class-org-drools-concurren-tp4017660p4021691.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] can't copy files to guvnor using webdav

2013-01-21 Thread Jervis Liu

On 2013/1/21 18:38, Stephen Masters wrote:

Thanks Jervis,

In that case, it sounds like the issue might be with the use of the 
default JAAS authenticator. In which case, does using a custom 
authenticator fix the issue?


For instance, I knocked this one up to support single sign-on to 
Guvnor on RHEL from users on Windows 7 (Active Directory):

https://gist.github.com/4545962

I have only tested it on 5.3 though, so I can't be sure whether it 
resolves the 5.4 issue.
It is likely that a custom authenticator wont work. This is because the 
user and password does not get passed into the authenticator correctly, 
which is caused by a Seam 3 security bug: 
https://issues.jboss.org/browse/SEAMSECURITY-98


Cheers,
Jervis


Steve


On 21 Jan 2013, at 01:10, Jervis Liu j...@redhat.com 
mailto:j...@redhat.com wrote:



On 2013/1/17 18:46, Stephen Masters wrote:

Hi folks,

Just curious, but do you have a link to the Jira relating to this 
authentication issue? I'm keen to find the details.

https://issues.jboss.org/browse/GUVNOR-1986



Thanks,

Steve


On 17 Jan 2013, at 07:01, Jervis Liu j...@redhat.com 
mailto:j...@redhat.com wrote:



On 2013/1/16 12:28, Yuri wrote:
Hmm - I may try that.  So you think I would install 5.3, import 
one of my 5.5 repositories, merge in packages from the other 5.5 
repository, and then export that repository to be re-imported in 5.5?

Yes, it should be doable.



On Tue, Jan 15, 2013 at 9:28 PM, Jervis Liu j...@redhat.com 
mailto:j...@redhat.com wrote:


On 2013/1/16 11:12, Yuri wrote:

Thanks for the quick reply, Jervis.  We are basically in
discovery/presentation mode with our BRMS, and we have
several different people doing different things with their
own instances of guvnor (not how it's going to be in the
end). We're trying to merge the work ppl have been doing into
a central guvnor repository, so copying packages from one to
the other w/o blowing away the whole repository is the only
way we've thought of doing this so far.  Do you have any
ideas for a work-around?

Given the fact the authentication problem has not been fixed
yet in Guvnor 5.4 and 5.5 (but will be very soon), the only
workaround I can think of right now is using Guvnor 5.3. You
can merge assets under 5.3. Then upgrade guvnor with the
merged repository to 5.4 or 5.5.

Jervis


Thanks,
Yuri


On Tue, Jan 15, 2013 at 8:50 PM, Jervis Liu j...@redhat.com
mailto:j...@redhat.com wrote:

On 2013/1/16 2:52, Yuri wrote:

Hi Everyone,
I am having to move assets from one repository to
another, and if WebDav would work for me, I believe that
it would be the easiest solution.
I have the default security setup that comes with guvnor
5.5.0 and JBoss AS 7, and I absolutely could not figure
out any way to connect from Windows 7.

Guvnor 5.4 and 5.5 has a known authentication problem
which affects WebDav access. If you just want to move
assets from one repo to another, you can try exporting
guvnor repository as xml file then importing again, will
this approach work for you?


I was finally able to connect to webDav with BitKinex,
however, I cannot upload anything - I can download files
just fine, but when I try to upload, I get the following
error on my server.  Am I missing something?
Thanks,
Yuri

Error:
12:08:00,344 ERROR
[org.drools.repository.RulesRepository]
(http--127.0.0.1-8080-7) Unable to load a module. :
javax.jcr.PathNotFoundException: *MyNewAsset.txt*
at
org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2135)
[jackrabbit-core-2.2.8.jar:2.2.8]
at
org.apache.jackrabbit.core.NodeImpl$8.perform(NodeImpl.java:2129)
[jackrabbit-core-2.2.8.jar:2.2.8]
at

org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200)[jackrabbit-core-2.2.8.jar:2.2.8]
at
org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
[jackrabbit-core-2.2.8.jar:2.2.8]
at
org.apache.jackrabbit.core.NodeImpl.getNode(NodeImpl.java:2129)
[jackrabbit-core-2.2.8.jar:2.2.8]
at

org.drools.repository.RulesRepository.loadModule(RulesRepository.java:435)[guvnor-repository-5.5.0.Final.jar:5.5.0.Final]
at

org.drools.repository.RulesRepository$Proxy$_$$_WeldClientProxy.loadModule(RulesRepository$Proxy$_$$_WeldClientProxy.java)[guvnor-repository-5.5.0.Final.jar:5.5.0.Final]
at

org.drools.guvnor.server.files.WebDAVImpl.loadPackageFromRepository(WebDAVImpl.java:912)[guvnor-webapp-core-5.5.0.Final.jar:5.5.0.Final]
at

org.drools.guvnor.server.files.WebDAVImpl.getStoredObjectForReadOnlyPackages(WebDAVImpl.java:473)[guvnor-webapp-core-5.5.0.Final.jar:5.5.0.Final]
at


Re: [rules-users] detecting score traps

2013-01-21 Thread Geoffrey De Smet



Op 19-01-13 19:18, Michiel Vermandel schreef:

Hi,

Is there any deterministic way for detecting a score trap in Drools 
Planner?
I have read about the hill-climbing issue and the ways to reduce the 
possibility of this but I think it is still possible to encounter, right?
So it would be great to have some red-light flashing when it happens 
after all :-)

Yes, but they are hard to detect automatically.
One red-light flashing is by using 
problemStatisticTypeBEST_SOLUTION_CHANGED/problemStatisticType

http://docs.jboss.org/drools/release/5.5.0.Final/drools-planner-docs/html_single/index.html#d0e7101
I 'd like to automate detection of it:
  https://issues.jboss.org/browse/PLANNER-120

If you see this, you probably have a score trap:
https://issues.jboss.org/secure/attachment/12359971/badBecauseScoreTrap.png
Then run the solver again, but terminate it in the middle of that first 
flat line and write the solution.

Then examine that solution for score traps.

Just pushed a new image and some docs explaining score traps better, as 
several users might have encountered it:

https://github.com/droolsjbpm/drools-planner/commit/e9034f4ac60e7a4bd65f7223c5a3dd47e0d7b903

Thanks,

Michiel

-
http://www.codessentials.com - Your essential software, for free!
Follow us at http://twitter.com/#!/Codessentials


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


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


Re: [rules-users] solution equals and hashcode are never called.

2013-01-21 Thread Geoffrey De Smet

  
  

Op 19-01-13 21:08, Michiel Vermandel
  schreef:


  
Hi,

  
I am still struggling
to find why my simple unit test cannot be solved to a zero
score solution.
It is easily to see
the solution on sight and if I feed it with the prepared
solution (in a custom solver phase) it "finds" the optimal
solution right away.
  

If you can easily see the solution on sight, you should also be able
to easily see which move it should do to reach that optimal
solution.
What does logging with level TRACE print? Can you find the move it
should do in that log? What score does the log say that move has?

  
I'm trying everything
and try to review everything I have written.
It is during that
review that I noticed that the equals and hashcode methods
of my solution implementation class are never called.
Obviously the
solutionEquals and solutionHashCode methods of my planning
entity are never called either.
  

solutionEquals/HashCode is only called with
solutionTabuSize, which is worthless when scaling out
(unlike entityTabuSize).
A solution's equals/hashCode is never called.

entityTabuSize should be calling the planning entity's
equals/hashcode, at least in Planner 5.5-.
For Planner 6.0 I am looking into stop relying on the entity's
equals/hashcode, in case users have overwritten the default
java.lang.Object behavior in a way that's incompatible for Planner.

  

  
What should I conclude
out of that?
Is this a crucial
issue? If so, what should I check/change?
  

  
I am running Drools
Planner 5.5.0.Final on java 1.7.0 on a Windows 7 64bit
machine.

  
Thanks,

  
Michiel Vermandel

-
  http://www.codessentials.com - Your essential software, for
  free!
  Follow us at http://twitter.com/#!/Codessentials
  
  
  
  
  ___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



  

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


[rules-users] ETA on drools 6?

2013-01-21 Thread kurrent93
Hi

I'm curious, when will drools 6 be released?

Also, about Guvnor-NG. I understand this will be written in Errai. Will it
be possible to host/embed elements as can be done now with Guvnor?

I also understand you will use Git. Will Guvnor also support databases, eg,
postgresql?

Is there any developer documentation for the next Guvnor?

Thanks and regards,
Anton





--
View this message in context: 
http://drools.46999.n3.nabble.com/ETA-on-drools-6-tp4021695.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] ETA on drools 6?

2013-01-21 Thread Mark Proctor

On 21 Jan 2013, at 15:49, kurrent93 kurren...@gmail.com wrote:

 Hi
 
 I'm curious, when will drools 6 be released?
some time in march.
 
 Also, about Guvnor-NG. I understand this will be written in Errai. Will it
 be possible to host/embed elements as can be done now with Guvnor?
 
 I also understand you will use Git. Will Guvnor also support databases, eg,
 postgresql?
no, git will be the only backend. Although DB's will be used for searching, via 
lucene.
 
 Is there any developer documentation for the next Guvnor?
not yet, we are trying to get an alpha together, over next week or so.

As soon as anything is out, it will be on the blog.
 
 Thanks and regards,
 Anton
 
 
 
 
 
 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/ETA-on-drools-6-tp4021695.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


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


Re: [rules-users] ETA on drools 6?

2013-01-21 Thread kurrent93
Thanks Mark

Your work and effort is greatly appreciated.




On Mon, Jan 21, 2013 at 6:50 PM, Mark Proctor [via Drools] 
ml-node+s46999n4021698...@n3.nabble.com wrote:


 On 21 Jan 2013, at 15:49, kurrent93 [hidden 
 email]http://user/SendEmail.jtp?type=nodenode=4021698i=0
 wrote:

  Hi
 
  I'm curious, when will drools 6 be released?
 some time in march.
 
  Also, about Guvnor-NG. I understand this will be written in Errai. Will
 it
  be possible to host/embed elements as can be done now with Guvnor?
 
  I also understand you will use Git. Will Guvnor also support databases,
 eg,
  postgresql?
 no, git will be the only backend. Although DB's will be used for
 searching, via lucene.
 
  Is there any developer documentation for the next Guvnor?
 not yet, we are trying to get an alpha together, over next week or so.

 As soon as anything is out, it will be on the blog.

 
  Thanks and regards,
  Anton
 
 
 
 
 
  --
  View this message in context:
 http://drools.46999.n3.nabble.com/ETA-on-drools-6-tp4021695.html
  Sent from the Drools: User forum mailing list archive at Nabble.com.
  ___
  rules-users mailing list
  [hidden email] http://user/SendEmail.jtp?type=nodenode=4021698i=1
  https://lists.jboss.org/mailman/listinfo/rules-users


 ___
 rules-users mailing list
 [hidden email] http://user/SendEmail.jtp?type=nodenode=4021698i=2
 https://lists.jboss.org/mailman/listinfo/rules-users


 --
  If you reply to this email, your message will be added to the discussion
 below:
 http://drools.46999.n3.nabble.com/ETA-on-drools-6-tp4021695p4021698.html
  To unsubscribe from ETA on drools 6?, click 
 herehttp://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4021695code=a3VycmVudDkzQGdtYWlsLmNvbXw0MDIxNjk1fC0zMzQ3MDA3NTI=
 .
 NAMLhttp://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml





--
View this message in context: 
http://drools.46999.n3.nabble.com/ETA-on-drools-6-tp4021695p4021699.html
Sent from the Drools: User forum mailing list archive at Nabble.com.___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Best Webserver to put in front of Drools Planner?

2013-01-21 Thread Geoffrey De Smet

  
  

Op 21-01-13 10:13, Michiel Vermandel
  schreef:


  @Geoffrey: is there a
possibility to get payed support on Drools Planner?
  

Hi Michiel,

Red Hat sells support subscriptions on the product releases of a
subset of its community projects, such as Drools.
We're now preparing to offer a tech-preview subscription on Drools
Planner later this year, as part of the product BRMS.
If you're interested in such a subscription, please contact your
local sales office.
 http://www.redhat.com/contact/sales.html

As Products of Interest select "JBoss Enterprise BRMS".

  
Thanks,

Michiel Vermandel

  

-
  http://www.codessentials.com - Your essential software, for
  free!
  Follow us at http://twitter.com/#!/Codessentials


  
 
 From:
Geoffrey De Smet ge0ffrey.s...@gmail.com
To:
Michiel Vermandel mverm...@yahoo.com; Rules
Users List rules-users@lists.jboss.org 
Sent:
Monday, January 21, 2013 9:50 AM
Subject:
Re: Best Webserver to put in front of Drools Planner?
   


   
Op 21-01-13
  07:47, Michiel Vermandel schreef:


  Hi,

I need to make the planning engine to be accessible
through a SOAP webservice.
A SOAP message with planning entity/variable data
needs to be sent, which starts a planning threat.

What is the best approach here?

Camel + JBoss AS 7 :)

Like drools-camel, one day we 'll build
drools-planner-camel (direct integration to expose
drools-planner as a SOAP/REST webservice through camel)
that will work on any servlet container, but not any day
soon.


   Just take a
Tomcat server and a custom SOAP Webapp?

Thanks,

Michiel

  

-
  http://www.codessentials.com - Your essential
  software, for free!
  Follow us at http://twitter.com/#!/Codessentials
  
  
  
  
  ___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



  



  

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



  

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


[rules-users] multi-tier decision application in drools server

2013-01-21 Thread Yuri
Hi Everyone,
I am trying to use drools 5.5.0 to provide approval/denial for a case.  The
best way to represent our business logic is through a workflow where the
user-inserted facts get processed in a particular step, and the RHS of the
rules in that step insert new facts for the next step in the flow, until,
at the end, a decision fact is generated.  Looking at the Drools Expert
tutorial, this is very similar to the driver license application, except
that mine has a jbpm flow.  As such, I have been using a stateless session
to get my rules to work.
Until recently, I have been working on this problem as a local drools
expert solution, referencing the rules engine and the rules package
directly.  However, the final step was going to be to move this solution to
drools server so that the business logic could be accessed through a
RESTful interface.  I assumed that the main functionality available in the
drools rules engine would remain in drools server. However, when I saw the
following post, I became concerned that perhaps the functionality I took
for granted in Drools Expert does not exist in Drools Server.  The post was
recent and has not gotten a response, but if the response is indeed that
stateless sessions do not work with rule flows in drools server, I was
wondering if anyone had a suggestion for how I would tackle my workflow
problem.  Is there another way in drools server (other than salience) to
get different sets of rules to execute in a particular order and come up
with an answer at the end of the work flow?

http://drools.46999.n3.nabble.com/Ruleflow-not-working-with-stateless-session-in-drools-server-5-5-0-Final-td4021624.html

Best,
Yuri

PS. I have been able to reproduce the scenario described by the user in the
post above.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Planner - NurseRostering: MaxWorkingWeekendsInFourWeeks

2013-01-21 Thread John Poole
The parameters for MaxWorkingWeekendsInFourWeeks is in some of the
input files for the NurseRostering example, but it doesn't seem to be
the rules(drl) file.
Is it implemented elsewhere? I've tried doing is like this, but it
doesn't work as a HARD constraint. I'm running it as SOFT now, but  it
would nice to compare it to a better version.

//Rules for workingweekends
rule insertWorkingWeekends
when
MinMaxContractLine(contractLineType ==
ContractLineType.TOTAL_WORKING_WEEKENDS_IN_FOUR_WEEKS, enabled ==
true,
$contract : contract)
$employee : Employee(contract == $contract)
ShiftAssignment(employee == $employee, $shiftDateDayIndex :
shiftDate.dayIndex, weekend == true)
then
insertLogical(new WorkingWeekend($employee, $shiftDateDayIndex/7));
end

// Maximum working weekends in four weeks
rule insertWorkingWeekendsInFourWeeks
   // salience 1 // Do these rules first (optional, for performance)
when
MinMaxContractLine(contractLineType ==
ContractLineType.TOTAL_WORKING_WEEKENDS_IN_FOUR_WEEKS, enabled ==
true,
$contract : contract)
$employee : Employee(contract == $contract)
WorkingWeekend(employee == $employee, $week: week)
$workingWeekendTotal : Number() from accumulate(
$workingWeekend : WorkingWeekend(employee == $employee,
week = $week, week-$week  3 ),
count($workingWeekend)
)
then
insertLogical(new WorkingWeekendTotalFourWeeks($employee,
$workingWeekendTotal.intValue(), $week));
end


// Maximum working weekends in four weeks
rule maxWorkingWeekendsInFourWeeks
when
$contractLine : MinMaxContractLine(
contractLineType ==
ContractLineType.TOTAL_WORKING_WEEKENDS_IN_FOUR_WEEKS, maximumEnabled
== true,
$contract : contract, $maximumValue : maximumValue
)
$employee : Employee(contract == $contract)
WorkingWeekendTotalFourWeeks(employeeContract == $contract,
total  $maximumValue,
 employee==$employee, $total : total, $week : week)
then
insertLogical(new
IntConstraintOccurrence(maxWorkingWeekendsInFourWeeks,
ConstraintType.NEGATIVE_SOFT,
($total - $maximumValue) * $contractLine.getMaximumWeight(),
$employee, $week));
end
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] hot deployment behavior

2013-01-21 Thread William Guinn
Would someone be so kind to describe exactly what happens when we hot deploy a 
rule change to a stateful session. It looks like the old version of the rule is 
deleted, in turn forcing a retraction of any RHS that was logically inserted 
(all our inserts are logical) as a consequence of this rule (and any cascading 
effects) that has no other LHS to support its existence. Then the new rule is 
inserted, the agenda is rebuilt based on the current working memory contents, 
and the rule is automatically fired (in our case recreating everything it just 
deleted)

Do I have this right?

Is there a way to change the behavior to be less invasive? This rebuild can 
take minutes, and I am not running at high volume yet.

For example what if the updated rule logically has no impact on existing 
working memory contents, let's say it's a maintenance change for future facts 
or new conditions? If the operation did not delete and rebuild everything, 
rather if it determined the impact of the change, and only replaced 
retracted/deleted what is affected by the logic change, would this be faster?

Bottom line it would be highly desirable for this to be minimally invasive.

thanks

[cid:image001.gif@01CDF7F0.4B5CB130]
Bill Guinn   |  Sr. Vice President, and CTO
SUMMUS Software, Inc.
3179 Skyway Court, Fremont, CA 94539
510.780.3895 office  |  916.715.6433 mobile
@summussoftware twitter
william.gu...@summussoftware.commailto:k...@summussoftware.com

[cid:image002.png@01CDF7F0.4B5CB130]  [cid:image003.jpg@01CDF7F0.4B5CB130] 
http://www.summussoftware.com/pdfs/EMA_NGITM-Q4-2012_Radar_Summus-Profile.pdf




NOTICE TO RECIPIENT: THIS E-MAIL (INCLUDING ANY ATTACHMENTS) IS MEANT FOR ONLY 
THE INTENDED RECIPIENT OF THE TRANSMISSION, MAY CONTAIN CONFIDENTIAL 
INFORMATION, AND IS PROTECTED BY LAW. IF YOU RECEIVED THIS E-MAIL IN ERROR, 
PLEASE IMMEDIATELY NOTIFY THE SENDER OF THE ERROR BY RETURN E-MAIL, DELETE THIS 
COMMUNICATION AND SHRED ANY ATTACHMENTS. UNAUTHORIZED REVIEW, USE, 
DISSEMINATION, DISTRIBUTION, COPYING OR TAKING OF ANY ACTION BASED ON THIS 
COMMUNICATION IS STRICTLY PROHIBITED.
inline: image001.gifinline: image002.pnginline: image003.jpg___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] hot deployment behavior

2013-01-21 Thread Mark Proctor
You have it right.

If any rule is modified, it's effective removed and added.  Removal of a rule, 
remove's all it's matches, activations and logical inserts.

There is no way to preserve this information for a rule that modified.

It would be very hard to determine what information is or is not safe to 
preserve.

If the rule is a very minor change then add a new rule instead, it will re-use 
all the available sharing (matched information). It can build up a second set 
of justifiers for the logical insertions. Then you can remove the old role.

Mark
On 21 Jan 2013, at 23:59, William Guinn william.gu...@summussoftware.com 
wrote:

 Would someone be so kind to describe exactly what happens when we hot deploy 
 a rule change to a stateful session. It looks like the old version of the 
 rule is deleted, in turn forcing a retraction of any RHS that was logically 
 inserted (all our inserts are logical) as a consequence of this rule (and any 
 cascading effects) that has no other LHS to support its existence. Then the 
 new rule is inserted, the agenda is rebuilt based on the current working 
 memory contents, and the rule is automatically fired (in our case recreating 
 everything it just deleted) 
 
 Do I have this right? 
 
 Is there a way to change the behavior to be less invasive? This rebuild can 
 take minutes, and I am not running at high volume yet. 
 
 For example what if the updated rule logically has no impact on existing 
 working memory contents, let’s say it’s a maintenance change for future facts 
 or new conditions? If the operation did not delete and rebuild everything, 
 rather if it determined the impact of the change, and only replaced 
 retracted/deleted what is affected by the logic change, would this be faster? 
 
 Bottom line it would be highly desirable for this to be minimally invasive. 
 
 thanks
  
 image001.gif
 Bill Guinn   |  Sr. Vice President, and CTO 
 SUMMUS Software, Inc.
 3179 Skyway Court, Fremont, CA 94539
 510.780.3895 office  |  916.715.6433 mobile
 @summussoftware twitter
 william.gu...@summussoftware.com
  
 image002.png  image003.jpg
  
  
 
 NOTICE TO RECIPIENT: THIS E-MAIL (INCLUDING ANY ATTACHMENTS) IS MEANT FOR 
 ONLY THE INTENDED RECIPIENT OF THE TRANSMISSION, MAY CONTAIN CONFIDENTIAL 
 INFORMATION, AND IS PROTECTED BY LAW. IF YOU RECEIVED THIS E-MAIL IN ERROR, 
 PLEASE IMMEDIATELY NOTIFY THE SENDER OF THE ERROR BY RETURN E-MAIL, DELETE 
 THIS COMMUNICATION AND SHRED ANY ATTACHMENTS. UNAUTHORIZED REVIEW, USE, 
 DISSEMINATION, DISTRIBUTION, COPYING OR TAKING OF ANY ACTION BASED ON THIS 
 COMMUNICATION IS STRICTLY PROHIBITED.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

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


[rules-users] Implementing Refraction with Drools

2013-01-21 Thread magaram
I believe we can inject in Refraction capabilities into Drools Rule Engine
using a simple Agenda Filter. I have tested this with test cases against
JRules and Drools and get similar results. Without the Refraction Agenda
Filter it loops infinitely as expected. 

Please try it out and tell me what you think. I believe refraction is a much
needed feature of a forward chaining rule engine for commercial purposes.
Any feedback is deeply appreciated.

Here is what the code looks like

-Agenda Filter---


package test;

import java.util.ArrayList;
import java.util.List;

import org.drools.runtime.rule.Activation;
import org.drools.runtime.rule.AgendaFilter;

/**
* This custom agenda filter injects refraction behavior into the rule engine
* @author Mukundan Agaram
*
*/
public class RefractionAgendaFilter implements AgendaFilter {
private List encounteredActivations = new ArrayList();

@Override
public boolean accept(Activation act) 
{
//Check for a Refraction
if (encounteredActivations.contains(act))
{
//Remove from encountered activations for future firing
encounteredActivations.remove(act);
//return false so the rule is not selected as part of the refraction
return false;
}
//Otherwise add the rule to check for potential refractions in the future
encounteredActivations.add(act);
//select the rule to be part of the agenda
return true;
}

}

-DRL
//created on: Jan 15, 2013
package test
dialect mvel

rule testFooBar1
salience 100
when
$foo : Foo()
$bar : Bar(y  0)
then
$foo.setX(($foo.getX() + $bar.getY()));
System.out.println(Fired +drools.getRule().getName())
update($foo);
end

rule testFooBar2
salience 150
when
$foo : Foo(x = 6)
then
System.out.println(Fired +drools.getRule().getName())
end

rule testFooBar3
salience 50
when
$foo : Foo(x = 7)
then
System.out.println(Fired +drools.getRule().getName())
end

Runtime execution code--

package test;

import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;

public class TestFooBarMain {

private static void test()
{
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();

kbuilder.add( ResourceFactory.newClassPathResource( TestFooBar.drl,
TestFooBarMain.class ),

ResourceType.DRL );

if ( kbuilder.hasErrors() ) {

System.out.println( kbuilder.getErrors().toString() );

}
else
{
System.out.println(DRL parsing - success!);
}


KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); 
kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );

StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

Foo foo1 = new Foo();
foo1.setX(6);

Bar bar1 = new Bar();
bar1.setY(3);

ksession.insert(foo1);
ksession.insert(bar1);

ksession.fireAllRules(new RefractionAgendaFilter());
}



/**
* @param args
*/
public static void main(String[] args) {
test();

}

}

Facts-
package test;

public class Foo {

private int x;
private int y;

public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}

package test;

public class Bar {

public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}

private int x;
private int y;
}



Thanks,
Mukundan Agaram




--
View this message in context: 
http://drools.46999.n3.nabble.com/Implementing-Refraction-with-Drools-tp4021705.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Implementing Refraction with Drools

2013-01-21 Thread Davide Sottara
Recently, Esteban covered the topic quite extensively, you can start from
there:

http://ilesteban.wordpress.com/2012/11/16/about-drools-and-infinite-execution-loops/

Best
Davide

Unfortunately, I'm afraid your proposal doesn't scale as well as impacting
performance and
expected behavior negatively



--
View this message in context: 
http://drools.46999.n3.nabble.com/Implementing-Refraction-with-Drools-tp4021705p4021706.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users