using OpenTap.Addin.Util;
|
using System.Collections.Concurrent;
|
|
namespace OpenTap.Addin
|
{
|
public class FileGlobalsContext
|
{
|
ConcurrentDictionary<string, RuntimeVariable> map = new ConcurrentDictionary<string, RuntimeVariable>();
|
|
public RuntimeVariable GetFileGlobals(TestPlan plan, TestPlanRun run)
|
{
|
string path = plan.VisualPath;
|
if (!map.ContainsKey(path))
|
{
|
var runtimeVariablePool = new ConcurrentDictionary<string, RuntimeVariable>();
|
foreach (var data in plan.Variables)
|
{
|
RuntimeVariable runTime = data.ToRuntime(run);
|
if (runTime is null) continue;
|
runtimeVariablePool[runTime.__name___] = runTime;
|
}
|
map[path] = new RuntimeVariable(run, ConstNames.FileGlobalsName, runtimeVariablePool);
|
}
|
return map[path];
|
}
|
}
|
}
|