Hello,
Sorry to bother you again, I have narrowed down my previous issue to the
following:
My rule is as follows:
(defrule getConfigValue "loads a single configuration value as a fact"
(declare (auto-focus true))
(need-config(pid ?pid)(system ?system)(subSystem
?subSystem)(name ?name)(value ?value))
=>
(printout t "the getConfigValue rules fires" crlf)
(printout t "the system is "?system crlf)
(printout t "the sub-system is " ?subSystem crlf)
(printout t "the name is " ?name crlf)
(printout t "the value is " ?value crlf)
(bind ?configLocator (fetch configurationLocator))
(if(eq ?configLocator nil)
then
(printout t "the configuration locator is null" crlf)
else
(printout t "the configuration locator is not null"
crlf)
)
(try
(printout t "entering the try block of the rule getConfigValue"
crlf)
(bind ?result (call ?configLocator getConfigurationValue ?system
?subSystem ?name))
catch
(printout t "catching exception in getConfigValue" crlf)
(if(eq ?name upgradeRejectedTaskCardClosingRequirement)
then
(bind ?result "0")
else
(printout t "entering the exception message" crlf)
(bind ?exception (call ?ERROR getCause))
(printout t "error while looking up config value
" ?system ", " ?subSystem ", " ?name crlf )
(printout t "message: " (?exception
getMessage)crlf)
(printout t "cause: "(?exception
getCause)crlf)
(bind ?result BadConfig)
)
)
(printout t "asserting the fact" crlf)
(printout t "the result is " ?result crlf)
(assert(config(pid ?pid)(system ?system)(subSystem ?subSystem)(name
?name)(value ?result)))
(printout t "exiting configvalue rule" crlf)
)
During the firing of the above rule the following is the output:
[8/11/08 10:04:20:430 CDT] 00000045 SystemOut O the getConfigValue
rules fires
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O the system is
MaterialManagement
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O the sub-system is
MaterialManagement
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O the name is
routeTaskCardsMaterials
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O the value is nil
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O the configuration
locator is not null
[8/11/08 10:04:20:436 CDT] 00000045 SystemOut O entering the try
block of the rule getConfigValue
Also, I had the logging of the specific bean determine whether the
correct value was being sent and that displays as follows:
DEBUG 240038942 [WebContainer : 6]
(fleetcycle.util.LoggingUtility.SecurityAndConfigurationAccess)
2008-08-11 10:04:20,438 - Configuration query:
system=[MaterialManagement], subsystem=[MaterialManagement],
name=[routeTaskCardsMaterials], returning value java.lang.String#c420c42
([Task Cards and Materials].)
This is extremely puzzling to say the least as the code does not enter
any of the printouts after the line:
(bind ?result (call ?configLocator getConfigurationValue ?system
?subSystem ?name))
It is as if there is a blackhole in that call :) Anyhow, please let me
know how this could be possible
Thanks,
Hasan
Confidentiality Notice:
**********************************************
This E-mail and any attachments thereto, are intended only for use by the
addressee(s) named herein and may contain legally privileged and/or
confidential information. If you are not the intended recipient of this E-mail,
you are hereby notified any dissemination, distribution or copying of this
E-mail, and any attachments thereto, is strictly prohibited. If you receive
this E-mail in error, please immediately notify me by reply E-mail or telephone
at (218) 723-7887 and permanently delete the original and any copy of this
E-mail, and any printout thereof.
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------