public SettingsRepository(
     IDbContext context,
     TaxonomyTree taxonomyTree,
     RelationService relationService,
     ILog log)
     : base(context, log, relationService)
 {
     settingsRelation     = taxonomyTree.GetOrCreatePath(SETTINGS_PATH, "SettingsRepository relations");
     this.relationService = relationService;
 }
 public string getMenu()
 {
     lock (getMenuLocker)
     {
         if (getMenuResult == null)
         {
             var rootnode = _tree.FindOne(_uiMenu_path);
             if (rootnode != null)
             {
                 rootnode.Remove(true);
             }
             rootnode = _tree.GetOrCreatePath(_uiMenu_path, "UI menu root");
             foreach (var mitem in Dependencies.SelectMany(x => x.MenuItems))
             {
                 _tree.GetOrCreatePath(_uiMenu_path + "/" + mitem.Path, JsonConvert.SerializeObject(mitem.Action));
             }
             getMenuResult = JsonConvert.SerializeObject(GetMenuItems(rootnode));
         }
         return(getMenuResult);
     }
 }
Ejemplo n.º 3
0
        public StateRepository(
            IDbContext context,
            TaxonomyTree taxonomyTree,
            RelationService relationService,
            ILog log)
            : base(context, log, relationService)
        {
            triggerRelation = taxonomyTree.GetOrCreatePath(TRIGGER_PATH, "StateRepository trigger relations");

            this.taxonomyTree    = taxonomyTree;
            this.relationService = relationService;
        }
Ejemplo n.º 4
0
        public MetricsService(
            MetricsRepository metricsRepo,
            MetricsEntryRepository metricsEntryRepo,
            RelationService relationService,
            TaxonomyTree taxonomyTree,
            ILog log)
        {
            this.metricsRepo = metricsRepo;
            this.metricsEntryRepo = metricsEntryRepo;
            this.relationService = relationService;
            this.log = log;

            relationNode = taxonomyTree.GetOrCreatePath(RELATIONS_PATH, "MetricsRepository relations");
        }
        public StatefullBrowsingSessionWrapper(
            StateService stateService,
            TaxonomyTree tree)
        {
            StoringFlags    = StateStoringFlags.Get;
            StateCaching    = StateCaching.LikeBrowser;
            StoringDuration = TimeSpan.FromHours(3); //default storing duration 3 hours //one day

            this.stateService = stateService;
            this.tree         = tree;

            RootBrowsingStateTriggers =
                tree.GetOrCreatePath(STATE_TRIGGER_PATH, "Trigger to flush all Browsing cache");
        }
        protected Tuple <TaxonomyNode, MetricsEntity> ResolveMetrics(string metrixName, string name)
        {
            var key = metrixName + name;

            if (!resolveMetrics.ContainsKey(key))
            {
                TaxonomyNode metricsNode =
                    tree.GetOrCreatePath(metrixName.StartsWith("/") ? metrixName : TAXON_HEALTH_ROOT + "/" + metrixName);
                resolveMetrics.Add(key,
                                   new Tuple <TaxonomyNode, MetricsEntity>(metricsNode,
                                                                           metrixSvc.GetOrCreateFor(metricsNode, name)));
            }
            return(resolveMetrics[key]);
        }
        public HttpProxyDecoratorBase(
            HttpProxyRepository repo,
            TaxonomyTree tree,
            StateService stateService,
            ILog log)
        {
            _repo         = repo;
            _tree         = tree;
            _stateService = stateService;
            _log          = log;

            StoringDuration = TimeSpan.FromHours(3); //default storing duration 3 hours //one day
            RootDescriminatorStateTriggers =
                tree.GetOrCreatePath(STATE_TRIGGER_PATH, "Trigger to flush all Browsing cache");
        }
        public HttpProxyDecoratorBase(
            HttpProxyRepository repo, 
            TaxonomyTree tree,
            StateService stateService, 
            ILog log)
        {
            _repo = repo;
            _tree = tree;
            _stateService = stateService;
            _log = log;

            StoringDuration = TimeSpan.FromHours(3); //default storing duration 3 hours //one day
            RootDescriminatorStateTriggers =
                tree.GetOrCreatePath(STATE_TRIGGER_PATH, "Trigger to flush all Browsing cache");
        }
        void CustomUnboxing(object e, object eMap)
        {
            //IList<Classifications>
            var classifiacationProp = eMap.GetType().GetProperty("Classifications");

            if (classifiacationProp != null && e is IClassifiable)
            {
                var ec = e as IClassifiable;
                var classifications = (IList <string>)classifiacationProp.GetValue(eMap, null);
                foreach (string classification in classifications)
                {
                    _tree.Classify(ec, _tree.GetOrCreatePath(classification));
                }
            }

            //Box<>
            var emapEntriesProp = eMap.GetType().GetProperty("Entries");

            if (emapEntriesProp != null && typeof(IBox).IsAssignableFrom(emapEntriesProp.PropertyType))
            {
                var eEntriesProp = e.GetType().GetProperty("Entries");
                if (eEntriesProp != null)
                {
                    var contverterType = typeof(NHibernateBoxConverter <,>)
                                         .MakeGenericType(
                        eEntriesProp.PropertyType.GetGenericArguments()[0],
                        emapEntriesProp.PropertyType.GetGenericArguments()[0]
                        );
                    var converter = Activator.CreateInstance(contverterType, _repoFinder);
                    var box       = contverterType.GetMethods().Where(m => m.Name == "ToEntity").Skip(1).First()
                                    .Invoke(converter, new[] { emapEntriesProp.GetValue(eMap, null) });
                    eEntriesProp.SetValue(e, box, null);

                    //var transformerType = typeof(NHibernateBoxTransformation<,>)
                    //    .MakeGenericType(
                    //        emapEntriesProp.PropertyType.GetGenericArguments()[0],
                    //        eEntriesProp.PropertyType.GetGenericArguments()[0]);
                    //var transformer = Activator.CreateInstance(transformerType, _context, _repoFinder, _log, _tree, BoxImporterStrategy.RewriteExisting);

                    //transformerType.GetMethod("Transform").Invoke(transformer, new[] { emapEntriesProp.GetValue(eMap, null) });
                    //eEntriesProp.SetValue(e, transformerType.GetProperty("Entries").GetValue(transformer, null), null);
                }
            }

            //SettingsBoxMap
            var settingsProp = eMap.GetType().GetProperty("Settings");

            if (settingsProp != null && e.GetType().GetProperty("Settings") == null && e is IClassifiable)
            {
                var sConverter  = CreateNestedTransformer <SettingsBoxMap, SettingsEntity>(BoxImporterStrategy.UpdateExisting);
                var settingsBox = (SettingsBoxMap)settingsProp.GetValue(eMap, null);
                sConverter.Transform(new Box <SettingsBoxMap>(settingsBox));
                var settings = sConverter.Entries.First();
                foreach (var entry in settings.Entries)
                {
                    entry.Settings = settings;
                }
                _repoFinder.SettingsService.SaveFor((e as IClassifiable), settings);
            }

            //IBox<MetricsBoxMap>
            var metricsProp = eMap.GetType().GetProperty("Metrics");

            if (metricsProp != null && e.GetType().GetProperty("Metrics") == null && e is IClassifiable)
            {
                var mConverter = CreateNestedTransformer <MetricsBoxMap, MetricsEntity>(BoxImporterStrategy.UpdateExisting);
                var metricsBox = ((IBox <MetricsBoxMap>)metricsProp.GetValue(eMap, null));
                mConverter.Transform(metricsBox);
                var metrics = mConverter.Entries;
                foreach (var m in metrics)
                {
                    foreach (var me in m.Entries)
                    {
                        me.Metrics = m;
                    }
                }
                mConverter.Entries.ToList().ForEach(m => _repoFinder.MetricsService.EnsureRelation((e as IClassifiable), m));
                _repoFinder.MetricsService.UpdateMetrics(mConverter.Entries.ToList());
            }
        }
 public MetricsHealthTrackingService(MetricsService metrixSvc, TaxonomyTree tree)
 {
     this.metrixSvc = metrixSvc;
     this.tree      = tree;
     tree.GetOrCreatePath(TAXON_HEALTH_ROOT, "Root for health metrices");
 }
 public MetricsHealthTrackingService(MetricsService metrixSvc, TaxonomyTree tree)
 {
     this.metrixSvc = metrixSvc;
     this.tree = tree;
     tree.GetOrCreatePath(TAXON_HEALTH_ROOT, "Root for health metrices");
 }