Ejemplo n.º 1
0
        public void TestFilters()
        {
            using (var stream = File.OpenRead(@"C:\Users\dwn.GAIA2000\Dropbox\KNX Utveckling\Projekt\GAIA ver 7.0b.knxproj"))
            {
                var store = ProjectStore.Load(stream);
                var model = ObjectModelFactory.BuildModel(store);
                var filter = new Filter();
                filter.Filters = new List<FilterDefinition>();
                var fd = new FilterDefinition(FilterKinds.GroupAddressDescription, FilterTypes.EqualTo, FilterActions.Include, "Kontor");
                string toMatch = "Kon";
                var sugg = Filter.GetSuggestions(fd, model);
                Stopwatch sw = new Stopwatch();
                sw.Start();
                var t1 = LevenshteinDistance.SuggestMatches(toMatch, sugg, 20).ToList();
                sw.Stop();
                var e1 = sw.ElapsedMilliseconds;
                sw.Reset();
                toMatch = "Konto";
                sw.Start();
                var t2 = LevenshteinDistance.SuggestMatches(toMatch, sugg, 20).ToList();
                sw.Stop();
                var e2 = sw.ElapsedMilliseconds;

                var r1 = filter.GetFilterResult(model);
            }
        }
Ejemplo n.º 2
0
 public static IEnumerable<string> GetSuggestions(FilterDefinition filter, Model model)
 {
     return model.Project.Devices.SelectMany(row => row.ComObjectInstances)
         .SelectMany(row =>
             filter.Iterate(row)
                 .Where(r1 => !string.IsNullOrEmpty(r1)))
             .OrderBy(row => row)
             .Distinct();
 }
 public static IEnumerable<GroupAddressInstance> ApplyFilter(this IEnumerable<GroupAddressInstance> list, FilterDefinition filter)
 {
     return filter.ApplyFilter(list);
 }
 public static IEnumerable<ComObjectInstance> ApplyFilter(this IEnumerable<ComObjectInstance> list, FilterDefinition filter)
 {
     return filter.ApplyFilter(list);
 }
Ejemplo n.º 5
0
        public void TestPatterns()
        {
            using (var stream = File.OpenRead(@"C:\Users\dwn.GAIA2000\Dropbox\KNX Utveckling\Projekt\GAIA ver 7.0b.knxproj"))
            {
                var store = ProjectStore.Load(stream);
                var model = ObjectModelFactory.BuildModel(store);
                var filter = new Filter();
                filter.Filters = new List<FilterDefinition>();
                var fd = new FilterDefinition(FilterKinds.GroupAddressDescription, FilterTypes.EqualTo, FilterActions.Include, "Kontor");
                //filter.Filters.Add(fd);
                var toTest = filter.GetFilterResult(model);
                var result = PatternFinder.FindPatterns<GroupAddressInstance>(toTest.Select(row => row.GroupAddress), (row => row.Ref.Name)).ToList();

            }
        }