<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Evaluate juel expression outside of activiti engine in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49922#M28858</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a way to evaluate a juel expression with the value of variables of currently running process outside of the activiti engine?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example, if I deploy a workflow that internally uses a variable called 'username' and then start an instance of it with the value of username = "hery".&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there an API in the engine that I can use to evaluate the expression "Hello ${username}" to give me the string "Hello hery" separately from the engine?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From the user guide, I can only see that the way to evaluate a juel expression in the engine is to define the expression needed somewhere in the bpmn20 xml (either for service task, execution listener, task listener or conditional sequence flow).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hery&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Jun 2011 01:58:42 GMT</pubDate>
    <dc:creator>hery1</dc:creator>
    <dc:date>2011-06-06T01:58:42Z</dc:date>
    <item>
      <title>Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49922#M28858</link>
      <description>Hi,Is there a way to evaluate a juel expression with the value of variables of currently running process outside of the activiti engine?For example, if I deploy a workflow that internally uses a variable called 'username' and then start an instance of it with the value of username = "hery".Is there</description>
      <pubDate>Mon, 06 Jun 2011 01:58:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49922#M28858</guid>
      <dc:creator>hery1</dc:creator>
      <dc:date>2011-06-06T01:58:42Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49923#M28859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can just use JUEL itself for this. You can either use the JUEL in activiti (org.activiti….juel…) or JUEL jar itself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using the ExpressionFactory, you can create javax.el.ValueExpression object which you can evaluate agains any context (including non-activiti) by using an ELResolver. When using Juel, the ExpressionFactory will return JUEL for creating expressions (it's an SPI thingy).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 07:14:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49923#M28859</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2011-06-06T07:14:18Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49924#M28860</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I tried what you said (hope I did it right), but I got the exception: lazy loading outside command context.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the stack trace:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;org.activiti.engine.ActivitiException: lazy loading outside command context&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.runtime.VariableScopeImpl.ensureVariableInstancesInitialized(VariableScopeImpl.java:56)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.runtime.VariableScopeImpl.hasVariableLocal(VariableScopeImpl.java:141)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.runtime.VariableScopeImpl.hasVariable(VariableScopeImpl.java:130)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.el.VariableScopeElResolver.getValue(VariableScopeElResolver.java:55)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:81)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.juel.AstEval.eval(AstEval.java:50)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.juel.AstComposite.eval(AstComposite.java:34)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.juel.AstNode.getValue(AstNode.java:26)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.activiti.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)&lt;BR /&gt;&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;And here is my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExecutionEntity exe = (ExecutionEntity) processInstance;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionFactory ef = new ExpressionFactoryImpl();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VariableScopeElResolver varResolver = new VariableScopeElResolver(exe);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELContext elcont = new ActivitiElContext(varResolver);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ValueExpression ex = ef.createValueExpression(elcont, expressionString, Object.class);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String result = (String) ex.getValue(elcont); // the exception is from this line&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;BR /&gt;&lt;/CODE&gt;&lt;SPAN&gt;"processInstance" variable is just an org.activiti.engine.runtime.ProcessInstance object.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;"expressionString" is the expression I want evaluated ("Hello ${username}" in this example).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Edit: I am using Activiti Engine v5.4&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 07:58:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49924#M28860</guid>
      <dc:creator>hery1</dc:creator>
      <dc:date>2011-06-06T07:58:20Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49925#M28861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;No I get it. You want to evaluate expressions outside activiti but WITH activiti objects. This is not possible out of the box. The resolving (using our ELResolver) expects a running activiti-context to get the variables from and store them in.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When running outside of the context, you should write your own ELResolver that use the activiti API to get the variables for the execution. I think that is quite easy to do, but you shouldn't use our expressionManager but the javax.el's ExpressionFactory.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 08:53:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49925#M28861</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2011-06-06T08:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49926#M28862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the help. I have implemented my own ELResolver that takes in a variable map in the constructor and delegate all the method calls to a MapELResolver after setting the base to refer to the variable map.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 11:10:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49926#M28862</guid>
      <dc:creator>hery1</dc:creator>
      <dc:date>2011-06-06T11:10:39Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49927#M28863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;nice!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 11:25:48 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49927#M28863</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2011-06-06T11:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: Evaluate juel expression outside of activiti engine</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49928#M28864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey hery, could you show the code for your own custom ELResolver? I got problems implementing it..&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Sep 2015 08:44:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/evaluate-juel-expression-outside-of-activiti-engine/m-p/49928#M28864</guid>
      <dc:creator>saimon</dc:creator>
      <dc:date>2015-09-01T08:44:21Z</dc:date>
    </item>
  </channel>
</rss>

