[jboss-jira] [JBoss JIRA] Updated: (JBRULES-1702) BRMS: uploading a decision table breaks the package

Jaroslaw Kijanowski (JIRA) jira-events at lists.jboss.org
Fri Aug 1 04:56:26 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBRULES-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jaroslaw Kijanowski updated JBRULES-1702:
-----------------------------------------

    Attachment: facts.jar
                facts-src.jar


There was no more stack trace.

I'm attaching the model jar (bin and src).
An easier way to reproduce: create a category, upload the facts and then upload the xls file and validate it, you'll get that NPE. That worked fine before.
Now I'm on rev #21320

And I get this stack trace when I click on view source:

10:52:01,568 INFO  [STDOUT] ERROR 01-08 10:52:01,567 (GWTToSeamAdapter.java:callWebRemoteMethod:81)      Error invoking a service
java.lang.NullPointerException
        at org.drools.template.model.Package.renderDRL(Package.java:84)
        at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:93)
        at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:54)
        at org.drools.guvnor.server.contenthandler.DecisionTableXLSHandler.assembleDRL(DecisionTableXLSHandler.java:55)
        at org.drools.guvnor.server.ServiceImplementation.buildAssetSource(ServiceImplementation.java:1273)
        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:22)
        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:118)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
        at org.drools.guvnor.server.ServiceImplementation_$$_javassist_4.buildAssetSource(ServiceImplementation_$$_javassist_4.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:76)
        at org.jboss.seam.remoting.gwt.GWTRemoteServiceServlet.processCall(GWTRemoteServiceServlet.java:291)
        at org.jboss.seam.remoting.gwt.GWTRemoteServiceServlet.doPost(GWTRemoteServiceServlet.java:173)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
        at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
        at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:595)


> BRMS: uploading a decision table breaks the package
> ---------------------------------------------------
>
>                 Key: JBRULES-1702
>                 URL: https://jira.jboss.org/jira/browse/JBRULES-1702
>             Project: JBoss Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-brms
>    Affects Versions: 5.0.0.M1
>            Reporter: Jaroslaw Kijanowski
>            Assignee: Michael Neale
>             Fix For:  5.0.0.M2
>
>         Attachments: facts-src.jar, facts.jar, Sample.xls
>
>
> I create a rule, then upload a decision table (see attached) and:
> - if I compile the package it looks good, however it isn't, I cannot run a test scenario for example, because I will get missing imports of facts from the first rule;
> - if I create another rule, I won't be able to compile the package due to missing imports;
> I guess the reason for this is that the decision table adds its own import and package statements in the middle of the rule file.
> Here's the source of the package with one "regular" rule and one rule coming from the decision table:
> package myNewPAckage
> import com.model.Person
> import com.model.Alarm
> import com.model.Message
> rule "first"
> 	dialect "mvel"
> 	when
> 		Alarm( )
> 	then
> 		Person fact0 = new Person();
> 		fact0.setAge( 18 );
> 		insert( fact0 );
> end
> package XLSRules;
> #generated from Decision Table
> import com.model.Message;
> #From row number: 11
> rule "HelloWorld_11"
> 	
> 	when
> 		m:Message(status == Message.HELLO)
> 	then
> 		System.out.println(m.getMessage());
> 		m.setMessage("Goodbye cruel world");update(m);
> 		m.setStatus(Message.GOODBYE);update(m);
> end
> #From row number: 12
> rule "HelloWorld_12"
> 	
> 	when
> 		m:Message(status == Message.GOODBYE)
> 	then
> 		System.out.println(m.getMessage());
> end

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list