Esempio n. 1
0
        public void BeforeMutate(IVault vault)
        {
            vault.AssertNotNull();
            (_lastVaultId == null || _lastVaultId == vault.Id).AssertTrue();
            _lastVaultId = vault.Id;

            _revisions.Add(vault.Revision);
            _dirs.Add(1);
        }
Esempio n. 2
0
        public void BeforeMutate(IVault vault)
        {
            vault.AssertNotNull();
            (_lastVaultId == null || _lastVaultId == vault.Id).AssertTrue();
            _lastVaultId = vault.Id;

            _revisions.Add(vault.Revision);
            _dirs.Add(1);
        }
Esempio n. 3
0
        public VirtualVault(IVault vault, VaultVisitor virtualizer, VaultVisitor materializer)
        {
            _vault        = vault.AssertNotNull();
            _virtualizer  = virtualizer.AssertNotNull();
            _materializer = materializer.AssertNotNull();

            _vaultExposition = _vault.ExposeReadOnly();
            _virtualizer.Visit(this, _vault);
        }
Esempio n. 4
0
        public VirtualVault(IVault vault, VaultVisitor virtualizer, VaultVisitor materializer)
        {
            _vault = vault.AssertNotNull();
            _virtualizer = virtualizer.AssertNotNull();
            _materializer = materializer.AssertNotNull();

            _vaultExposition = _vault.ExposeReadOnly();
            _virtualizer.Visit(this, _vault);
        }
Esempio n. 5
0
        public EvalSession(IVault vault, IVault repository)
        {
            Vault = vault.AssertNotNull();
            _expositions.Add(vault.ExposeReadOnly());

            Repository = repository;
            if (repository != null)
            {
                _expositions.Add(repository.ExposeReadOnly());
            }
        }
Esempio n. 6
0
		protected EvalSession(IVault vault, IVault repository)
		{
			AppDomain.CurrentDomain.Load("Esath.Data");

			_expositions.Add(vault.AssertNotNull().ExposeReadOnly());
			if (repository != null)
			{
				_expositions.Add(repository.AssertNotNull().ExposeReadOnly());
			}

			VM = new VirtualMachine();
			VM.Context.Add("vault", vault);
			VM.Context.Add("repository", repository);
			VM.Context.Add("designTime", repository == null);
			VM.Context.Add("evalCache", new Dictionary<VPath, Object>());
			VM.Context.Add("evalSession", this);
			VM.Context.Add("nodesInProgress", new HashSet<VPath>());
			VM.Context.Add("nodeInProgress", null);
		}
Esempio n. 7
0
        public EvalSession(IVaultCompiler compiler, IVault repository)
        {
            _expositions.Add(compiler.AssertNotNull().Vault.ExposeReadOnly());
            if (repository != null)
            {
                _expositions.Add(repository.AssertNotNull().ExposeReadOnly());
            }

            var cache = compiler.GetCompiledAsync();
            if (cache != null)
            {
                Scenario = cache.RequestInstance(repository);
                _evalExposition = Scenario.Expose();
            }
            else
            {
                // if cache returned is null, this means that the compiler is busy generating an assembly
                // however, we don't want to make user wait so let's just fall back to 5-10x times slower Eval2
                Eval2 = new Ver2.EvalSession(compiler.Vault, repository);
                _evalExposition = Eval2;
            }
        }
Esempio n. 8
0
 // runtime mode
 protected CompiledScenario(IVault scenario, IVault repository)
 {
     ValidateScenario(scenario);
     Scenario = new CachedVault(scenario.AssertNotNull());
     Repository = repository == null ? null : new CachedVault(repository);
 }
Esempio n. 9
0
 public VaultCompiler(IVault vault)
 {
     Vault = vault.AssertNotNull();
     Vault.Changed(SignificantChangeFilter, SignificantChangeProcessor);
     InitializeCompiler();
 }