Guvnor Integration with Eclipse Issue !!
by abhinay_agarwal
hey der !
m currently using GUVNOR v5.3.0
i made some DRLs in my Eclipse loaded them to Guvnor repository and after
loads of changes..i was finally able to build my kbase using the repositoy..
my change set is as foolows :
*<?xml version="1.0" encoding="UTF-8"?>
<change-set xmlns='http://drools.org/drools-5.0/change-set'
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/...'
>
<add>
<resource source='
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...'
type='DRL' />
</add>
</change-set>*
My package name was Individual and it mainly contained technical rule
assests and one function, as shown in the image below :
http://drools.46999.n3.nabble.com/file/n4018919/drools1.png
now i had a few changes in my POJO model so i updated the model and few
rules directly in the technical rule assest of guvnor, after which i built
the package created a new snapshot and tried running it, but got some error,
as :
1. Unable to Analyse Expression @Modify with($a){setExempt("Exempt
Account"),setQueueName("Auto Classified Accounts")};
2. KnowledgeAgent exception while trying to deserialize
KnowledgeDefinitionsPackage
After going through all the available post, nothing proved to be of any help
!!
Then i thought might be changing the "technical assest" directly from guvnor
is a bad idea...
So, i created a new package named "Individual_New", uploaded the new POJO
model and uploaded just one rule from ECLIPSE(just to check if my kbase
builds or not)..
I uploaded just 1 rule in it, build the package and created a snapshot with
name LATEST, changed the change set as below:
*<?xml version="1.0" encoding="UTF-8"?>
<change-set xmlns='http://drools.org/drools-5.0/change-set'
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/...'
>
<add>
<resource source='
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...'
type='DRL' />
</add>
</change-set>*
n now when i tried running it, it threw me the following error :
java.lang.RuntimeException: java.io.IOException: Server returned HTTP
response code: 500 for URL:
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:592)
at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:701)
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:679)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:979)
at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:774)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:646)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:174)
at
com.infy.fcs.drools.DroolsAdapter.readKnowledgeBase(DroolsAdapter.java:241)
at com.infy.fcs.drools.DroolsAdapter.main(DroolsAdapter.java:256)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for
URL:
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at org.drools.io.impl.UrlResource.grabStream(UrlResource.java:210)
at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:146)
at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:311)
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:495)
... 10 more
DEBUG [main] (DroolsAdapter.java:246) - java.io.IOException: Server returned
HTTP response code: 500 for URL:
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...
java.lang.RuntimeException: java.io.IOException: Server returned HTTP
response code: 500 for URL:
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:592)
at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:701)
at
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:679)
at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:979)
at
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:774)
at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:646)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:174)
at
com.infy.fcs.drools.DroolsAdapter.readKnowledgeBase(DroolsAdapter.java:241)
at com.infy.fcs.drools.DroolsAdapter.main(DroolsAdapter.java:256)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for
URL:
http://localhost:8089/drools-guvnor/org.drools.guvnor.Guvnor/package/Indi...
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at org.drools.io.impl.UrlResource.grabStream(UrlResource.java:210)
at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:146)
at
org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:311)
at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:495)
... 10 more
Any help would be appreciated !!
Thanks,
Abhinay
--
View this message in context: http://drools.46999.n3.nabble.com/Guvnor-Integration-with-Eclipse-Issue-t...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 8 months
Guvnor 5.4.0.Final and JBoss AS 7.1.1.Final
by Michael Anstis
Hi,
There have been a few messages recently suggesting there are problems
running Guvnor 5.4.0.Final on JBoss AS 7.1.1.Final.
I had a check and this is what I found:-
1) Downloaded guvnor-5.4.0-Final.zip from Drools website
2) Unzip
3) Deploy guvnor-5.4.0.Final-jboss-as-7.0.war to JBoss AS 7.1.1.Final
"Brontes"
4) Browsed to http://localhost:8080/guvnor-5.4.0.Final-jboss-as-7.0
5) Success.
The only WELD error I encountered was when trying to simultaneously deploy
5.4.0-Final and 5.5.0-SNAPSHOT side-by-side (any two enabled and running
instances would cause the same problem).
Whichever was deployed (and enabled second) barfed with:-
11:11:21,066 ERROR [org.drools.guvnor.server.RepositoryServiceServlet]
(http--127.0.0.1-8080-5) Service method 'public abstract
org.drools.guvnor.client.rpc.Module[]
org.drools.guvnor.client.rpc.ModuleService.listModules()' threw an
unexpected exception: org.jboss.weld.exceptions.WeldException: WELD-000049
Unable to invoke [method] @PostConstruct public
org.drools.guvnor.server.repository.RulesRepositoryManager.createRulesRepository()
on org.drools.guvnor.server.repository.RulesRepositoryManager@d2b7d8:
org.jboss.weld.exceptions.WeldException: WELD-000049 Unable to invoke
[method] @PostConstruct public
org.drools.guvnor.server.repository.RulesRepositoryManager.createRulesRepository()
on org.drools.guvnor.server.repository.RulesRepositoryManager@d2b7d8
at
org.jboss.weld.bean.AbstractClassBean.defaultPostConstruct(AbstractClassBean.java:518)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.postConstruct(ManagedBean.java:174)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:291)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:107)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:616)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.AbstractReceiverBean.getReceiver(AbstractReceiverBean.java:73)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ProducerMethod$1.produce(ProducerMethod.java:131)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:299)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:61)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:616)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:681)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:118)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:703)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:712)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:161)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:157)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:131)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:153)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:290)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:107)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.drools.guvnor.server.RepositoryModuleService$Proxy$_$$_WeldClientProxy.listModules(RepositoryModuleService$Proxy$_$$_WeldClientProxy.java)
[guvnor-webapp-core-5.4.0.Final.jar:5.4.0.Final]
at
org.drools.guvnor.server.RepositoryServiceServlet.listModules(RepositoryServiceServlet.java:171)
[guvnor-webapp-core-5.4.0.Final.jar:5.4.0.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[rt.jar:1.6.0_23]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[rt.jar:1.6.0_23]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
[gwt-user-2.3.0.jar:]
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
[gwt-user-2.3.0.jar:]
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
[gwt-user-2.3.0.jar:]
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
[gwt-user-2.3.0.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.13.Final.jar:]
at
org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.13.Final.jar:]
at
org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
[solder-impl-3.1.1.Final.jar:3.1.1.Final]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.13.Final.jar:]
at
org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)
[solder-impl-3.1.1.Final.jar:3.1.1.Final]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
[jbossweb-7.0.13.Final.jar:]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
[jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
[jbossweb-7.0.13.Final.jar:]
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
[jbossweb-7.0.13.Final.jar:]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_23]
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[rt.jar:1.6.0_23]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[rt.jar:1.6.0_23]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at
org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.introspector.jlr.WeldMethodImpl.invoke(WeldMethodImpl.java:174)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
at
org.jboss.weld.bean.AbstractClassBean.defaultPostConstruct(AbstractClassBean.java:516)
[weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
... 56 more
This was caused by the prior running instance creating JCR's "repository"
folder and "repository.xml" configuration file in the same place as
required by the second installation.
The error was simply remedied by ensuring I only had one instance of Guvnor
enabled and running at a time.
With kind regards,
Mike
13 years, 8 months
Remove rule but timer still fires
by Ladd
I have a rule which runs every 2 seconds using
*timer( int: 0ms 2s )*
When I either disable
*rule.setEnabled( new EnabledBoolean( false ) );*
or remove the rule
*pkg.removeRule( rule );*
the timer continues to fire every 2 seconds.
This is with version 5.4.
I haven't been able to find the API for cancelling or stopping a timer. Can
anyone point me in the right direction?
Thanks for the help!!
- Ladd
--
View this message in context: http://drools.46999.n3.nabble.com/Remove-rule-but-timer-still-fires-tp401...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 8 months
Guvnor search for rules based on fact attributes
by Stephen Masters
Hi folks,
I have been asked by my current client to evaluate search functionality which could in essence search for rules which are affected by a particular fact value.
For example, if we have a number of rules similar to the following format:
when
$req : TradeRequest(account = 10, buyCurrency = 'EUR', buyAmount > 5000000)
then
TradeValidationResponse response = new TradeValidationResponse();
response.setPermitted(false);
response.setMessage("Account 10 is not permitted to trade more than 5000000 EUR");
insert(response);
end
What the client is interested in is being able to search for all rules which have been defined for account 10.
I was thinking to mess around with a rather quick and dirty solution to grab the package source via the REST interface and pattern match rules in a very hard-coded way for this specific use-case. However, that does look like a rather fragile way of achieving this.
So I was wondering whether anybody had looked at this sort of idea previously and might have thoughts on a 'better' or more generic solution, which wouldn't be massively complicated. I was thinking that it might be nice to extend the search mechanism in Guvnor so that I could pick a fact from the model and do a search for all rules which are based on the value of an attribute. However, every time I think about how that could be achieved, it seems I come up with new ways in which it would become really difficult to pull off.
Any thoughts?
Cheers,
Steve
13 years, 8 months
Slow compilation (4h) for a single rule
by fx242
Hi,
Recently I was trying to optimize the rule compilation time for my KB (~4K
rules).
I do a full KB compilation every night, as most of the rules are dynamic
generated/converted and managed by the business operators.
The compile time was not very good (around 3 hours on a 8 core Xeon CPU),
but is was acceptable.
On the other night I was alarmed that the compile time was doubled overnight
without an obvious explanation or any relevant rule count increase. After
some debuging I've traced the problem and was shocked to find that most of
the rules KB (4K rules) compile under 5 minutes, except one. This single
rule was taking all the 4h to compile!
I'm using DROOLS 5.2 Final.
The rule example below samples the problem (don't mind the nonsense Number()
conditions):
rule "CONFIG_1-3UCO07"
salience -90
when
Number(rel_4226982244: intValue)
Number(rel_7521194: intValue)
Number(rel_787633980: intValue)
Number(qty_1331544548: intValue)
Number(rel_1425187049: intValue)
Number(rel_1180441096: intValue)
Number(rel_3132221704: intValue)
Number(rel_1663554156: intValue)
Number(rel_1940612775: intValue)
Number(rel_1735126416: intValue)
Number(rel_3962361266: intValue)
Number(rel_882187: intValue)
Number(rel_1169008280: intValue)
Number(rel_3495503197: intValue)
Number(rel_70290066: intValue)
Number(rel_1333860961: intValue)
Number(rel_2793542368: intValue)
Number(rel_952404632: intValue)
Number(rel_2712335119: intValue)
Number(qty_4276673135: intValue)
Number(qty_3950051097: intValue)
Number(rel_3391032645: intValue)
Number(rel_2738029181: intValue)
Number(qty_4125201080: intValue)
Number(rel_663254919: intValue)
Number(rel_3059142355: intValue)
not((eval(qty_1331544548 == 1) or eval(rel_1425187049 == 1) or
eval(rel_1180441096 == 1) or eval(rel_787633980 >= 1) or eval(rel_7521194 >=
1) or eval(rel_4226982244 >= 1) or eval(rel_2712335119 == 1) or
eval(qty_3950051097 == 1) or eval(qty_4276673135 == 1) or
eval(rel_1940612775 == 1) or eval(rel_3132221704 == 1) or eval(rel_882187 ==
1) or eval(rel_1663554156 == 1) or eval(rel_1735126416 == 1) or
eval(rel_3962361266 == 1) or eval(rel_1169008280 == 1) or
eval(rel_2793542368 == 1) or eval(rel_3495503197 == 1) or
eval(qty_4125201080 == 1) or eval(rel_70290066 == 1) or eval(rel_3391032645
== 1) or eval(rel_1333860961 == 1) or eval(rel_2738029181 == 1) or
eval(rel_663254919 == 1) or eval(rel_952404632 == 1) or eval(rel_3059142355
== 1)))
then
vh.error(kcontext, "Error ...");
end
I've noticed that the last "not(...)" is the problematic condition. Is there
a limit using eval() and or-clauses, or a known problem?
Regards,
Tiago Lopes
--
View this message in context: http://drools.46999.n3.nabble.com/Slow-compilation-4h-for-a-single-rule-t...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 8 months
Moving comment in DSLR file causes issue under 5.3
by drdaveg
This is an odd one. I was testing some DSL and have been tracing back an
error in the translation. The line marked in the code below, even as a
comment, causes multiple "cannot be resolved" errors when moved. Any
thoughts on what could cause this other than a bug?
Note that almsot all of the code is commented and as it appears now
generates the errors. If I move the line to the LHS the "cannot be
resolved" errors go away. The only interesting thing shown in the DRL
viewer is that some of the comments appear duplicated.
rule "Compute"
when
# Fare(fareBasisCode == fp1)
# ts1 : TrainSegment(fl1 : fareList)
# ts2 : TrainSegment(fl2 : fareList)
# mySol : Solution()
> Fare(fp1 : fareBasisCode, thruFare == true)
> x : FQ3()
# eval(fl1.get(fp1 )!=null)
# eval(fl2.get(fp1 )!=null)
# eval(mySol .nthSegment(ts1)==(mySol .nthSegment(ts2)+1))
then
# > //int n = fq.nthSegment(fp1) ****** moving this line can cause a
syntax error
# > FQ3 test = new FQ3(); test = fq;
> System.out.println(fp1);
> x.setPassengerString("T"); // x.getPassengerString()+
end
--
View this message in context: http://drools.46999.n3.nabble.com/Moving-comment-in-DSLR-file-causes-issu...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 8 months
java.lang.NullPointerException at org.drools.reteoo.ReteooFactHandleFactory.newFactHandle(ReteooFactHandleFactory.java:56)
by Carolina Pellecchia
*Hi everyone! *
*I'm loading from Guvnor5.3.0 the pkg below ** into my application. *
*package* org.dfms.model;
*import* org.dfms.model.observation.ACObservation;
*import* org.dfms.model.situation.AccessControlEvent;
*import* org.dfms.model.situation.SituationManager;
*import* org.dfms.model.situation.Event;
*import* org.dfms.model.mapfeature.AccessControlPoint;
*import* java.util.HashSet;
*import* java.util.ArrayList;
*declare* ACObservation
@role(event)
*end*
*declare* AccessControlEvent
@role(event)
*end*
*rule* "AccessControl"
*no-loop*
*when*
$obs : ACObservation( $sensorid : sensorId, $location :
location ) over window:length(1) *from* entry-point access_control
*then*
*insert*( SituationManager.createAccessControlEvent( $obs, "Access
Control Detection", Event.THREAT_NO, $location, $sensorid ));
*end*
*When the rule is executed the application get this exception:*
[*java*] ERROR [2012-07-20 14:32:17,422] [Thread-19] (*
ExpertSystemManager.java:162*) - *java.lang.NullPointerException*
[*java*] *java.lang.NullPointerException*
[*java*] at
org.drools.reteoo.ReteooFactHandleFactory.newFactHandle(*
ReteooFactHandleFactory.java:56*)
[*java*] at
org.drools.common.AbstractFactHandleFactory.newFactHandle(*
AbstractFactHandleFactory.java:80*)
[*java*] at
org.drools.common.AbstractFactHandleFactory.newFactHandle(*
AbstractFactHandleFactory.java:65*)
[*java*] at org.drools.common.NamedEntryPoint.createHandle(*
NamedEntryPoint.java:720*)
[*java*] at org.drools.common.NamedEntryPoint.insert(*
NamedEntryPoint.java:280*)
[*java*] at org.drools.common.NamedEntryPoint.insert(*
NamedEntryPoint.java:116*)
[*java*] at org.drools.common.NamedEntryPoint.insert(*
NamedEntryPoint.java:48*)
[*java*] at org.tass.utils.ExpertSystemManager.insertObservation(
*ExpertSystemManager.java:156*)
[*java*] at org.tass.vsensor.ExpertVS.dataAvailable(*
ExpertVS.java:59*)
[*java*] at gsn.beans.InputStream.executeQuery(*
InputStream.java:277*)
[*java*] at gsn.beans.StreamSource.windowSlided(*
StreamSource.java:325*)
[*java*] at
gsn.beans.windowing.SQLViewQueryRewriter.dataAvailable(*
SQLViewQueryRewriter.java:83*)
[*java*] at
gsn.beans.windowing.TupleBasedSlidingHandler.dataAvailable(*
TupleBasedSlidingHandler.java:56*)
[*java*] at gsn.wrappers.AbstractWrapper.postStreamElement(*
AbstractWrapper.java:222*)
[*java*] at
gsn.http.rest.LocalDeliveryWrapper.writeStreamElement(*
LocalDeliveryWrapper.java:147*)
[*java*] at
gsn.http.rest.DefaultDistributionRequest.deliverStreamElement(*
DefaultDistributionRequest.java:57*)
[*java*] at gsn.DataDistributer.flushStreamElement(*
DataDistributer.java:165*)
[*java*] at gsn.DataDistributer.run(*DataDistributer.java:220*)
[*java*] at java.lang.Thread.run(*Thread.java:662*)
*How can I solve this issue?*
*
Thank you in advance,
Carolina Pellecchia*
13 years, 8 months