<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:tahoma,new york,times,serif;font-size:10pt"><div>Thanks for the response. I have tried that actually. Left it out of the code snippet by accident. I have tired both:<br><br>import org.jboss.seam.log.Log<br><br>global Log log<br></div><div style="font-family: tahoma,new york,times,serif; font-size: 10pt;"><br>as well as:<br><br>global import org.jboss.seam.log.Log log<br><br>and neither made a difference. <br><br>Earnie!<br><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;">----- Original Message ----<br>From: Ingomar Otter <iotter@mac.com><br>To: Rules Users List <rules-users@lists.jboss.org><br>Sent: Thursday, September 11, 2008 12:42:43 PM<br>Subject: Re: [rules-users] Problem with setting a Global<br><br>
You have to declare the global in the rule package.<br> <br>global foo.bar.Logger logger;<br><br>--Ingomar<br>Am 11.09.2008 um 18:24 schrieb Earnest Dyke:<br><br>> Greetings all,<br>><br>> I have the following Java code and rule. When executed I get an <br>> "Unexpected Global" exception (see below). What am I doing wrong?<br>><br>> ....<br>> @In WorkingMemory wm<br>><br>> @Logger Log log;<br>><br>> public void calculate() {<br>> wm.setGlobal("logger",log);<br>> wm.insert(calcResult);<br>> wm.fireAllRules();<br>> }<br>><br>><br>> rule "Calc"<br>> when<br>> $c : CalcResult();<br>> then<br>> log(drools.getRule().getName(),log);<br>> // Do calculation<br>> end<br>><br>> function
void log(String msg, Log log) {<br>> log.debug(msg,new Object[]{});<br>> }<br>><br>> When the calculate method is executed I get the following exception:<br>><br>><br>> java.lang.RuntimeException: Unexpected global [logger]<br>> at <br>> org <br>> .drools <br>> .common.AbstractWorkingMemory.setGlobal(AbstractWorkingMemory.java: <br>> 367)<br>> at <br>> org.ebsinc.ia.action.AnalysisAction.createData(AnalysisAction.java:93)<br>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>> at <br>> sun <br>> .reflect <br>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>> at <br>> sun <br>> .reflect <br>> .DelegatingMethodAccessorImpl <br>> .invoke(DelegatingMethodAccessorImpl.java:25)<br>> at
java.lang.reflect.Method.invoke(Method.java:585)<br>> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.RootInvocationContext.proceed(RootInvocationContext.java: <br>> 31)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java: <br>> 56)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java: <br>> 68)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .persistence <br>> .ManagedEntityIdentityInterceptor <br>>
.aroundInvoke(ManagedEntityIdentityInterceptor.java:48)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java: <br>> 68)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .transaction <br>> .RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java: <br>> 68)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .core <br>> .MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java: <br>> 42)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java: <br>> 68)<br>> at
<br>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: <br>> 106)<br>> at <br>> org <br>> .jboss <br>> .seam <br>> .intercept <br>> .JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)<br>> at <br>> org <br>> .jboss <br>> .seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java: <br>> 91)<br>> at org.ebsinc.ia.action.AnalysisAction_$ <br>> $_javassist_9.createData(AnalysisAction_$$_javassist_9.java)<br>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>> at <br>> sun <br>> .reflect <br>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>> at <br>> sun <br>> .reflect <br>> .DelegatingMethodAccessorImpl <br>>
.invoke(DelegatingMethodAccessorImpl.java:25)<br>> at java.lang.reflect.Method.invoke(Method.java:585)<br>> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)<br>> at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java: <br>> 125)<br>> at org.jboss.seam.Component.callComponentMethod(Component.java:2074)<br>> at org.jboss.seam.Component.callCreateMethod(Component.java:1997)<br>> at org.jboss.seam.Component.newInstance(Component.java:1968)<br>> at org.jboss.seam.Component.getInstance(Component.java:1865)<br>> at org.jboss.seam.Component.getInstance(Component.java:1832)<br>> at org.jboss.seam.Component.getInstanceFromFactory(Component.java: <br>> 1911)<br>> at
org.jboss.seam.Component.getInstance(Component.java:1855)<br>> at org.jboss.seam.Component.getInstance(Component.java:1832)<br>> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)<br>> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)<br>> at org.jboss.seam.Namespace.get(Namespace.java:28)<br>> at <br>> org <br>> .jboss.seam.el.SeamELResolver.resolveInNamespace(SeamELResolver.java: <br>> 197)<br>> at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:57)<br>> at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)<br>> at <br>> com <br>> .sun <br>> .faces <br>> .el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java: <br>> 64)<br>> at <br>> org
<br>> .jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)<br>> at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)<br>> at <br>> org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java: <br>> 186)<br>> at <br>> com <br>> .sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java: <br>> 71)<br>> at <br>> javax <br>> .faces <br>> .component <br>> .ValueBindingValueExpressionAdapter <br>> .getValue(ValueBindingValueExpressionAdapter.java:102)<br>> at com.sun.facelets.component.UIRepeat.getValue(UIRepeat.java:143)<br>> at com.sun.facelets.component.UIRepeat.getDataModel(UIRepeat.java: <br>> 121)<br>> at com.sun.facelets.component.UIRepeat.setIndex(UIRepeat.java:305)<br>> at
com.sun.facelets.component.UIRepeat.process(UIRepeat.java:333)<br>> at com.sun.facelets.component.UIRepeat.encodeChildren(UIRepeat.java: <br>> 617)<br>> at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java: <br>> 248)<br>> at <br>> org <br>> .jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java: <br>> 213)<br>> at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java: <br>> 248)<br>> at <br>> org <br>> .jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java: <br>> 213)<br>> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)<br>> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)<br>> at <br>> com <br>>
.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java: <br>> 592)<br>> at <br>> org <br>> .ajax4jsf <br>> .application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java: <br>> 108)<br>> at <br>> org <br>> .ajax4jsf <br>> .application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)<br>> at <br>> com <br>> .sun <br>> .faces <br>> .lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)<br>> at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java: <br>> 251)<br>> at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: <br>> 144)<br>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)<br>> at sun.reflect.GeneratedMethodAccessor621.invoke(Unknown Source)<br>>
at <br>> sun <br>> .reflect <br>> .DelegatingMethodAccessorImpl <br>> .invoke(DelegatingMethodAccessorImpl.java:25)<br>> at java.lang.reflect.Method.invoke(Method.java:585)<br>> at org.apache.catalina.security.SecurityUtil <br>> $1.run(SecurityUtil.java:244)<br>> at java.security.AccessController.doPrivileged(Native Method)<br>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)<br>> at <br>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java: <br>> 276)<br>> at <br>> org <br>> .apache <br>> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .core <br>>
.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: <br>> 283)<br>> at org.apache.catalina.core.ApplicationFilterChain.access <br>> $000(ApplicationFilterChain.java:56)<br>> at org.apache.catalina.core.ApplicationFilterChain <br>> $1.run(ApplicationFilterChain.java:189)<br>> at java.security.AccessController.doPrivileged(Native Method)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:83)<br>> at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java: <br>> 85)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:69)<br>>
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java: <br>> 64)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:69)<br>> at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:69)<br>> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: <br>> 154)<br>> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)<br>> at <br>> org <br>> .ajax4jsf <br>> .webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)<br>> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)<br>> at
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:69)<br>> at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)<br>> at org.jboss.seam.servlet.SeamFilter <br>> $FilterChainImpl.doFilter(SeamFilter.java:69)<br>> at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)<br>> at sun.reflect.GeneratedMethodAccessor1504.invoke(Unknown Source)<br>> at <br>> sun <br>> .reflect <br>> .DelegatingMethodAccessorImpl <br>> .invoke(DelegatingMethodAccessorImpl.java:25)<br>> at java.lang.reflect.Method.invoke(Method.java:585)<br>> at org.apache.catalina.security.SecurityUtil <br>> $1.run(SecurityUtil.java:244)<br>> at
java.security.AccessController.doPrivileged(Native Method)<br>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)<br>> at <br>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java: <br>> 276)<br>> at <br>> org <br>> .apache <br>> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .core <br>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: <br>> 230)<br>> at org.apache.catalina.core.ApplicationFilterChain.access <br>> $000(ApplicationFilterChain.java:56)<br>> at org.apache.catalina.core.ApplicationFilterChain <br>> $1.run(ApplicationFilterChain.java:189)<br>> at java.security.AccessController.doPrivileged(Native
Method)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)<br>> at <br>> org <br>> .jboss <br>> .web <br>> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)<br>> at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source)<br>> at <br>> sun <br>> .reflect <br>> .DelegatingMethodAccessorImpl <br>> .invoke(DelegatingMethodAccessorImpl.java:25)<br>> at java.lang.reflect.Method.invoke(Method.java:585)<br>> at org.apache.catalina.security.SecurityUtil <br>> $1.run(SecurityUtil.java:244)<br>> at java.security.AccessController.doPrivileged(Native Method)<br>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)<br>>
at <br>> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java: <br>> 276)<br>> at <br>> org <br>> .apache <br>> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .core <br>> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: <br>> 230)<br>> at org.apache.catalina.core.ApplicationFilterChain.access <br>> $000(ApplicationFilterChain.java:56)<br>> at org.apache.catalina.core.ApplicationFilterChain <br>> $1.run(ApplicationFilterChain.java:189)<br>> at java.security.AccessController.doPrivileged(Native Method)<br>> at <br>> org <br>> .apache <br>> .catalina <br>>
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)<br>> at <br>> org <br>> .apache <br>> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: <br>> 230)<br>> at <br>> org <br>> .apache <br>> .catalina.core.StandardContextValve.invoke(StandardContextValve.java: <br>> 175)<br>> at <br>> org <br>> .jboss <br>> .web <br>> .tomcat <br>> .security <br>> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)<br>> at <br>> org <br>> .apache <br>> .catalina <br>> .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)<br>> at <br>> org <br>> .jboss <br>> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)<br>> at <br>> org <br>> .apache <br>>
.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>> at <br>> org <br>> .apache <br>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>> at <br>> org <br>> .jboss <br>> .web <br>> .tomcat <br>> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java: <br>> 157)<br>> at <br>> org <br>> .apache <br>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: <br>> 109)<br>> at <br>> org <br>> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: <br>> 262)<br>> at <br>> org <br>> .apache.coyote.http11.Http11Processor.process(Http11Processor.java: <br>> 844)<br>> at org.apache.coyote.http11.Http11Protocol <br>>
$Http11ConnectionHandler.process(Http11Protocol.java:583)<br>> at <a target="_blank" href="http://org.apache.tomcat.util.net">org.apache.tomcat.util.net</a>.JIoEndpoint <br>> $Worker.run(JIoEndpoint.java:446)<br>> at java.lang.Thread.run(Thread.java: <br>> 595)_______________________________________________<br>> rules-users mailing list<br>> <a ymailto="mailto:rules-users@lists.jboss.org" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>> <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br>_______________________________________________<br>rules-users mailing list<br><a ymailto="mailto:rules-users@lists.jboss.org" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users"
target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br></div></div></div></body></html>