public InheritanceStorage(KindOfStorage kind, RealStorageContext realStorageContext)
     : base(realStorageContext.MainStorageContext.Logger)
 {
     _kind = kind;
     _realStorageContext = realStorageContext;
     _inheritancePublicFactsReplicator = realStorageContext.InheritancePublicFactsReplicator;
 }
 public FuzzyLogicStorage(KindOfStorage kind, RealStorageContext realStorageContext)
     : base(realStorageContext.MainStorageContext.Logger)
 {
     _kind = kind;
     _realStorageContext = realStorageContext;
     _commonNamesStorage = realStorageContext.MainStorageContext.CommonNamesStorage;
 }
        public StorageComponent(IMainStorageContext context, IStandaloneStorage parentStorage, KindOfStorage kindGlobalOfStorage)
            : base(context.Logger)
        {
            _context = context;
            _logicQueryParseAndCache = context.LogicQueryParseAndCache;

#if DEBUG
            //Log($"_logicQueryParseAndCache == null = {_logicQueryParseAndCache == null}");
#endif

            _parentStorage       = parentStorage;
            _kindGlobalOfStorage = kindGlobalOfStorage;
        }
        //private static ILogger _gbcLogger = LogManager.GetCurrentClassLogger();
#endif

        public LogicalStorage(KindOfStorage kind, RealStorageContext realStorageContext)
            : base(realStorageContext.MainStorageContext.Logger)
        {
            _kind = kind;
            _realStorageContext        = realStorageContext;
            _mainStorageContext        = realStorageContext.MainStorageContext;
            _parentLogicalStoragesList = realStorageContext.Parents.Select(p => p.LogicalStorage).ToList();

            _ruleInstancesList               = new List <RuleInstance>();
            _ruleInstancesDict               = new Dictionary <StrongIdentifierValue, RuleInstance>();
            _ruleInstancesDictByHashCode     = new Dictionary <ulong, RuleInstance>();
            _ruleInstancesDictById           = new Dictionary <string, RuleInstance>();
            _commonPersistIndexedLogicalData = new CommonPersistIndexedLogicalData(realStorageContext.MainStorageContext.Logger);

            foreach (var parentStorage in _parentLogicalStoragesList)
            {
                parentStorage.OnChangedWithKeys += LogicalStorage_OnChangedWithKeys;
            }

            realStorageContext.OnAddParentStorage    += RealStorageContext_OnAddParentStorage;
            realStorageContext.OnRemoveParentStorage += RealStorageContext_OnRemoveParentStorage;
        }
Example #5
0
        public RealStorage(KindOfStorage kind, RealStorageSettings settings)
            : base(settings.MainStorageContext.Logger)
        {
#if DEBUG
            //Log($"kind = {kind}");
            //Log($"settings = {settings}");
#endif

            _kind = kind;
            _realStorageContext                    = new RealStorageContext();
            _realStorageContext.Storage            = this;
            _realStorageContext.MainStorageContext = settings.MainStorageContext;
            _realStorageContext.InheritancePublicFactsReplicator = settings.InheritancePublicFactsReplicator;

            DefaultSettingsOfCodeEntity = settings.DefaultSettingsOfCodeEntity;

            var parents = settings.ParentsStorages;

            if (parents == null)
            {
                _realStorageContext.Parents = new List <IStorage>();
            }
            else
            {
                _realStorageContext.Parents = parents;
            }

            _realStorageContext.LogicalStorage     = new LogicalStorage.LogicalStorage(_kind, _realStorageContext);
            _realStorageContext.MethodsStorage     = new MethodsStorage.MethodsStorage(_kind, _realStorageContext);
            _realStorageContext.TriggersStorage    = new TriggersStorage.TriggersStorage(_kind, _realStorageContext);
            _realStorageContext.InheritanceStorage = new InheritanceStorage.InheritanceStorage(_kind, _realStorageContext);
            _realStorageContext.SynonymsStorage    = new SynonymsStorage.SynonymsStorage(_kind, _realStorageContext);
            _realStorageContext.OperatorsStorage   = new OperatorsStorage.OperatorsStorage(_kind, _realStorageContext);
            _realStorageContext.ChannelsStorage    = new ChannelsStorage.ChannelsStorage(_kind, _realStorageContext);
            _realStorageContext.MetadataStorage    = new MetadataStorage.MetadataStorage(_kind, _realStorageContext);
            _realStorageContext.VarStorage         = new VarStorage.VarStorage(_kind, _realStorageContext);
            _realStorageContext.FuzzyLogicStorage  = new FuzzyLogicStorage(_kind, _realStorageContext);
        }
Example #6
0
 public VarStorage(KindOfStorage kind, RealStorageContext realStorageContext)
     : base(realStorageContext.MainStorageContext.Logger)
 {
     _kind = kind;
     _realStorageContext = realStorageContext;
 }
Example #7
0
        public static void BaseInitMainStorageContext(MainStorageContext context, BaseStorageSettings settings, KindOfStorage kindGlobalOfStorage)
        {
            BaseInitBaseCoreContext(context, settings);

            context.Id      = settings.Id;
            context.AppFile = settings.AppFile;

            context.LogicQueryParseAndCache = settings.LogicQueryParseAndCache;

            context.Storage              = new StorageComponent(context, settings.ParentStorage, kindGlobalOfStorage);
            context.Parser               = new Parser(context);
            context.Compiler             = new Compiler(context);
            context.CommonNamesStorage   = new CommonNamesStorage(context);
            context.DataResolversFactory = new DataResolversFactory(context);
        }