<?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 Re: VariableScope#getVariables in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42325#M22775</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;VariableScopeImpl, line 77:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;protected Map&amp;lt;String, Object&amp;gt; collectVariables(HashMap&amp;lt;String, Object&amp;gt; variables) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ensureVariableInstancesInitialized();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (VariableInstanceEntity variableInstance: variableInstances.values()) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; variables.put(variableInstance.getName(), variableInstance.getValue());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VariableScopeImpl parentScope = getParentVariableScope();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentScope!=null) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return parentScope.collectVariables(variables);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return variables;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And that's part of my confusion: getVariable() will return a local variable first, even in case of a name clash, but getVariables() will have non-local variables "win" in case of a name clash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards, Etienne&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 11 Jul 2011 10:27:17 GMT</pubDate>
    <dc:creator>etienne</dc:creator>
    <dc:date>2011-07-11T10:27:17Z</dc:date>
    <item>
      <title>VariableScope#getVariables</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42323#M22773</link>
      <description>HiI've gone through the implementation of org.activiti.engine.delegate.VariableScope#getVariables and the following question came up: if the same name is used for a variable on different scopes in the scope hierarchy, why does the variable furthest up the tree have precedence? Intuitively, I would h</description>
      <pubDate>Mon, 11 Jul 2011 09:05:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42323#M22773</guid>
      <dc:creator>etienne</dc:creator>
      <dc:date>2011-07-11T09:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: VariableScope#getVariables</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42324#M22774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;When I look at the getVariable(String) code, it is clear that the closest in the tree is returned (see first if). Only when the variableInstance is null, the tree is searched upwards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;CODE&gt; public Object getVariable(String variableName) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ensureVariableInstancesInitialized();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VariableInstanceEntity variableInstance = variableInstances.get(variableName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (variableInstance!=null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return variableInstance.getValue();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VariableScope parentScope = getParentVariableScope();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentScope!=null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return parentScope.getVariable(variableName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR /&gt;&amp;nbsp; }&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;Where is the code you pasted coming from?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jul 2011 09:53:40 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42324#M22774</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2011-07-11T09:53:40Z</dc:date>
    </item>
    <item>
      <title>Re: VariableScope#getVariables</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42325#M22775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;VariableScopeImpl, line 77:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;protected Map&amp;lt;String, Object&amp;gt; collectVariables(HashMap&amp;lt;String, Object&amp;gt; variables) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ensureVariableInstancesInitialized();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (VariableInstanceEntity variableInstance: variableInstances.values()) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; variables.put(variableInstance.getName(), variableInstance.getValue());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VariableScopeImpl parentScope = getParentVariableScope();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentScope!=null) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return parentScope.collectVariables(variables);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return variables;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And that's part of my confusion: getVariable() will return a local variable first, even in case of a name clash, but getVariables() will have non-local variables "win" in case of a name clash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards, Etienne&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jul 2011 10:27:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42325#M22775</guid>
      <dc:creator>etienne</dc:creator>
      <dc:date>2011-07-11T10:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: VariableScope#getVariables</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42326#M22776</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;I've committed a fix for this (in two iterations).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At first I couldn't find a test case where it went wrong. But then I stumbled upon the GetExecutionVariablesCmd, which only used the variable names out of the collectVariables method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So that's the reason it still executed without any errors. I refactored the GetExecutionVariablesCmd command so that it also uses the variable values and then the order of the local and parent variable retrieval does matter.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jul 2011 12:15:02 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42326#M22776</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2011-07-14T12:15:02Z</dc:date>
    </item>
    <item>
      <title>Re: VariableScope#getVariables</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42327#M22777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Tijs&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cool. Thank you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards, Etienne&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jul 2011 12:47:41 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/variablescope-getvariables/m-p/42327#M22777</guid>
      <dc:creator>etienne</dc:creator>
      <dc:date>2011-07-14T12:47:41Z</dc:date>
    </item>
  </channel>
</rss>

