From do-not-reply at jboss.com Fri Mar 30 20:44:36 2007 Content-Type: multipart/mixed; boundary="===============2017000335198467812==" MIME-Version: 1.0 From: shea.phillips To: jboss-user at lists.jboss.org Subject: [jboss-user] [JBoss Seam] - can't access non-Seam variables from jPDL decision condition Date: Fri, 30 Mar 2007 20:44:36 -0400 Message-ID: <15694439.1175301876724.JavaMail.jboss@colo-br-02.atl.jboss.com> --===============2017000335198467812== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hello, After significant amount of troubleshooting, I have discovered that the or= g.jboss.seam.jbpm.SeamVariableResolver is used when resolving variables in = a expression inside jBPM jPDL when the process is started inside of Seam. This is fine and very useful in many cases, however, in my scenario, I am d= oing the following: - starting the process from Seam with a single BUSINESS_PROCESS scope Strin= g var - invoking Seam components from embedded jPDL scripts, which set process c= ontext variables (non-Seam), that are subsequently referenced in condition = expressions - the condition expression evaluation uses the SeamVariableResolver and, as= a result does not see the variable I exposed from my script, although oth= er scripts do (apparently they use some different variable resolution strat= egy) Here is my jPDL snippet: | | | | | | = | = | = = | | #{interpretationName =3D=3D null} | | | | = The specific behaviour here is that the expression #{interpretationName =3D= =3D null} always evaluates to null, so the associated transition is always = taken, regardless of the value of the interpretationName process context va= riable (as set in the script) I tried to outject a value with BUSINESS_PROCESS scope from my component in= voked in the script, but this also was not visible by the expression. My design goal is to keep the process and the components loosely coupled (t= he current bsh notwithstanding :P ) such that either can potentially be reu= sed, which is why I am wanting to hold some minimal state in the process c= ontext. Does anyone have any suggestions about how I might work around this? I hav= e an idea how I might modify the SeamVariableResolver to look in the jBPM c= ontexts as well as its own scopes, but this seems like a big hammer. thanks, shea. View the original post : http://www.jboss.com/index.html?module=3Dbb&op=3Dv= iewtopic&p=3D4033401#4033401 Reply to the post : http://www.jboss.com/index.html?module=3Dbb&op=3Dpostin= g&mode=3Dreply&p=3D4033401 --===============2017000335198467812==--