<br> Igor, <br><br> Looks like a bug to me... can you please open a JIRA and attach a self contained test case showing the problem? This will speed up the resolution...<br> <br> Thanks<br> Edson<br><br><div><span class="gmail_quote">
2007/11/1, igor_b <<a href="mailto:igorbolic@gmail.com">igorbolic@gmail.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Hi Edson,<br><br>thanx for answering, i've tried 4.0.3, but i get the following error when i<br>try to refresh my rules:<br><br>java.lang.IllegalArgumentException: Cannot remove a sink, when the list of<br>sinks is null
<br> at org.drools.reteoo.ObjectSource.removeObjectSink(ObjectSource.java:116)<br> at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:192)<br> at<br>org.drools.reteoo.LeftInputAdapterNode.remove(LeftInputAdapterNode.java
:189)<br> at org.drools.reteoo.BetaNode.remove(BetaNode.java:173)<br> at org.drools.reteoo.RuleTerminalNode.remove(RuleTerminalNode.java:466)<br> at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java
:224)<br> at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:270)<br> at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:614)<br> at<br>org.drools.common.AbstractRuleBase.removePackage
(AbstractRuleBase.java:531)<br> ...<br><br><br>During refresh i do the following:<br> public void refresh() {<br> try {<br> ruleBase.removePackage("org.sample.mypackage
");<br><br> // reading drl files from direcotry and puting them<br>in the package<br><br> ...<br> for(int i = 0; i < size; i++ ) {<br>
builder.addPackageFromDrl( new<br>InputStreamReader(getClass().getResourceAsStream( "package" + i + ".drl" ) )<br>);;<br><br> }<br> if(ruleBase == null) {<br>
ruleBase = RuleBaseFactory.newRuleBase();<br> }<br> ruleBase.addPackage(builder.getPackage());<br><br><br> } catch(Exception e) {
<br> log.error("Error while refreshing rules: ", e);<br> }<br> }<br><br>and one of my .drl files (they all belong to the same package) looks<br>something like this:<br>
<br>package org.sample.mypackage<br><br>import org.sample.Orders;<br>import org.sample.OrderItem;<br>import org.sample.service.OrderService;<br><br>import java.util.ArrayList<br>import org.apache.log4j.Logger<br><br>global OrderService orderService
<br>global Logger log<br><br>rule "Apply Discount"<br> when<br> orders : Orders();<br> items : ArrayList() from collect (<br> OrderItem(value > 100)
<br> from order.items)<br> then<br> log.debug("Apply Discount");<br> orderService.applyDiscount(items);<br>end<br><br>were OrderService is a service class that i'm using to do some calculating.
<br><br>Do you have some idea about what could be causing this error?<br><br><br><br><br><br><br><br>Edson Tirelli-3 wrote:<br>><br>> Can you try 4.0.3? There was some fix for package management included<br>> in
<br>> 4.0.2 if I'm not mistaken...<br>><br>> []s<br>> Edson<br>><br>> 2007/10/31, igor_b <<a href="mailto:igorbolic@gmail.com">igorbolic@gmail.com</a>>:<br>>><br>>><br>>> Hi,
<br>>><br>>> I'm using drools 4.0.1. I'm first adding one package to my RuleBase<br>>> object,<br>>> and everything works just fine:<br>>><br>>> ...<br>>> builder.addPackageFromDrl
(new InputStreamReader(resource.getInputStream<br>>> ()));<br>>><br>>> if(ruleBase == null) {<br>>> ruleBase = RuleBaseFactory.newRuleBase();<br>>> }<br>>> ruleBase.addPackage(builder.getPackage
());<br>>><br>>><br>>> But after some time i need to refresh my rules, so i'm using following<br>>> code<br>>> to remove previous package:<br>>><br>>> ruleBase.removePackage("
org.sample.mypackage");<br>>><br>>> and i'm getting the following error:<br>>><br>>> java.lang.NullPointerException<br>>> at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java
<br>>> :222)<br>>> at<br>>> org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java<br>>> :272)<br>>> at<br>>> org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java
<br>>> :460)<br>>> at<br>>> com.diosphere.diomedia.common.drools.impl.RulesServiceImpl.refresh(<br>>> RulesServiceImpl.java:121)<br>>> at<br>>> com.diosphere.diomedia.service.impl.PromotionManagerImpl.refreshDRLs
(<br>>> PromotionManagerImpl.java:39)<br>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>>> at<br>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
<br>>> :39)<br>>> at<br>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(<br>>> DelegatingMethodAccessorImpl.java:25)<br>>> at java.lang.reflect.Method.invoke(Method.java:597)
<br>>> at<br>>> uk.ltd.getahead.dwr.impl.ExecuteQuery.execute(ExecuteQuery.java<br>>> :170)<br>>> at<br>>> uk.ltd.getahead.dwr.impl.DefaultProcessor.doExec(DefaultProcessor.java
<br>>> :552)<br>>> at<br>>> uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(DefaultProcessor.java:88)<br>>> at uk.ltd.getahead.dwr.DWRServlet.doPost(DWRServlet.java:178)<br>>> at
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)<br>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(<br>>> ApplicationFilterChain.java:290)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(<br>>> ApplicationFilterChain.java:206)<br>>> at<br>>> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage
(<br>>> PageFilter.java:118)<br>>> at<br>>> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(<br>>> PageFilter.java:52)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(<br>>> ApplicationFilterChain.java:235)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(<br>>> ApplicationFilterChain.java:206)<br>>> at<br>>> net.sf.acegisecurity.util.FilterChainProxy.doFilter
(FilterChainProxy.java<br>>> :167)<br>>> at<br>>> net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(<br>>> FilterToBeanProxy.java:120)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(<br>>> ApplicationFilterChain.java:235)<br>>> at<br>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(<br>>> ApplicationFilterChain.java:206)<br>>> at<br>>> org.apache.catalina.core.StandardWrapperValve.invoke
(<br>>> StandardWrapperValve.java:230)<br>>> at<br>>> org.apache.catalina.core.StandardContextValve.invoke(<br>>> StandardContextValve.java:175)<br>>> at<br>>> org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java<br>>> :128)<br>>> at<br>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java<br>>> :104)<br>>> at<br>>> org.apache.catalina.core.StandardEngineValve.invoke
(<br>>> StandardEngineValve.java:109)<br>>> at<br>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java<br>>> :261)<br>>> at<br>>> org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:844)<br>>> at<br>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(<br>>> Http11Protocol.java:581)<br>>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(<br>>> JIoEndpoint.java:447)<br>>> at java.lang.Thread.run(Thread.java:619)<br>>><br>>> Does anyone have a clue what might be the problem, and how to fix it?<br>>> Kind regards!<br>>> --
<br>>> View this message in context:<br>>> <a href="http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13516014">http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13516014
</a><br>>> Sent from the drools - user mailing list archive at <a href="http://Nabble.com">Nabble.com</a>.<br>>><br>>> _______________________________________________<br>>> rules-users mailing list
<br>>> <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>>> <a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
<br>>><br>><br>><br>><br>> --<br>> Edson Tirelli<br>> Software Engineer - JBoss Rules Core Developer<br>> Office: +55 11 3529-6000<br>> Mobile: +55 11 9287-5646<br>> JBoss, a division of Red Hat @
<a href="http://www.jboss.com">www.jboss.com</a><br>><br>> _______________________________________________<br>> rules-users mailing list<br>> <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org
</a><br>> <a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>><br>><br><br>--<br>View this message in context: <a href="http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13528214">
http://www.nabble.com/Problem-with-removePackage%28%29-tf4727072.html#a13528214</a><br>Sent from the drools - user mailing list archive at <a href="http://Nabble.com">Nabble.com</a>.<br><br>_______________________________________________
<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users
</a><br></blockquote></div><br><br clear="all"><br>-- <br> Edson Tirelli<br> Software Engineer - JBoss Rules Core Developer<br> Office: +55 11 3529-6000<br> Mobile: +55 11 9287-5646<br> JBoss, a division of Red Hat @
<a href="http://www.jboss.com">www.jboss.com</a>