Example #1
0
        /// <summary>
        /// Creates an <see cref="IFilterControl"/> using the <see cref="IControlFactory"/> and creates all the filter controls
        /// defined by the <see cref="FilterDef"/> given.
        /// </summary>
        /// <param name="filterDef">The <see cref="FilterDef"/> to use in creation.</param>
        /// <returns>The created <see cref="IFilterControl"/></returns>
        public IFilterControl BuildFilterControl(FilterDef filterDef)
        {
            IFilterControl filterControl = _controlFactory.CreateFilterControl();

            BuildFilterControl(filterDef, filterControl);
            return(filterControl);
        }
        public void Test_ResizeControl_ShouldPlaceTextBoxInCorrectPosition()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder = new FilterControlBuilder(GetControlFactory());
            string         propName      = TestUtil.GetRandomString();
            FilterDef      filterDef     = CreateFilterDef_1Property(propName);
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);
            //---------------Assert Precondition----------------
            IPanel filterPanel = filterControl.FilterPanel;

            Assert.AreEqual(2, filterPanel.Controls.Count);
            IControlHabanero label = filterControl.FilterPanel.Controls[0];

            Assert.IsInstanceOf(typeof(ILabel), label);
            Assert.GreaterOrEqual(label.Width, 0);
            Assert.GreaterOrEqual(label.Height, 0);
            Assert.GreaterOrEqual(label.Left, 0);
            Assert.IsTrue(label.Visible);
            IControlHabanero textBox = filterControl.FilterPanel.Controls[1];

            Assert.IsInstanceOf(typeof(ITextBox), textBox);
            Assert.LessOrEqual(textBox.Left, label.Left + label.Width);

            //---------------Execute Test ----------------------
            filterControl.Size  = new Size(999, 800);
            filterControl.Width = 1000;
            //---------------Test Result -----------------------

            Assert.GreaterOrEqual(textBox.Left, label.Left + label.Width);
        }
        public void Test_BuildFilterControl_Simple()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder = new FilterControlBuilder(GetControlFactory());
            string    propName           = TestUtil.GetRandomString();
            FilterDef filterDef          = CreateFilterDef_1Property(propName);
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            filterControl.Size = new Size(1000, 800);
            //---------------Test Result -----------------------
            Assert.IsNotNull(filterControl);
            Assert.AreEqual(1, filterControl.Controls.Count, "Always has GroupBox");
            Assert.AreEqual(FilterModes.Filter, filterControl.FilterMode);
            Assert.AreEqual(1, filterControl.FilterControls.Count);
            Assert.IsNotNull(filterControl.GetChildControl(propName));
            Assert.IsInstanceOf(typeof(StringTextBoxFilter), filterControl.FilterControls[0]);
            IPanel filterPanel = filterControl.FilterPanel;

            Assert.AreEqual(2, filterPanel.Controls.Count);
            IControlHabanero label = filterControl.FilterPanel.Controls[0];

            Assert.IsInstanceOf(typeof(ILabel), label);
            Assert.Greater(label.Width, 0);
            Assert.Greater(label.Height, 0);
            Assert.Greater(label.Left, 0);
            Assert.IsTrue(label.Visible);
            IControlHabanero textBox = filterControl.FilterPanel.Controls[1];

            Assert.IsInstanceOf(typeof(ITextBox), textBox);
            //Assert.AreEqual(label.Top, textBox.Top);
            //Assert.GreaterOrEqual(textBox.Left, label.Left + label.Width);
        }
Example #4
0
        /// <exception cref="System.Exception"/>
        protected internal virtual void StartTomcat()
        {
            tomcat = new Tomcat();
            FilePath  @base = new FilePath(Runtime.GetProperty("java.io.tmpdir"));
            Context   ctx   = tomcat.AddContext("/foo", @base.GetAbsolutePath());
            FilterDef fd    = new FilterDef();

            fd.SetFilterClass(typeof(AuthenticatorTestCase.TestFilter).FullName);
            fd.SetFilterName("TestFilter");
            FilterMap fm = new FilterMap();

            fm.SetFilterName("TestFilter");
            fm.AddURLPattern("/*");
            fm.AddServletName("/bar");
            ctx.AddFilterDef(fd);
            ctx.AddFilterMap(fm);
            Tomcat.AddServlet(ctx, "/bar", typeof(AuthenticatorTestCase.TestServlet).FullName
                              );
            ctx.AddServletMapping("/bar", "/bar");
            host = "localhost";
            port = GetLocalPort();
            tomcat.SetHostname(host);
            tomcat.SetPort(port);
            tomcat.Start();
        }
 public override string ToString()
 {
     var noColumnFilter = new FilterDef(null);
     this["bUseColVis"] = _vm.ColVis;
     this["aoColumns"] = _vm.Columns
         //.Where(c => c.Visible || c.Filter["sSelector"] != null)
         .Select(c => c.Searchable?c.Filter:noColumnFilter).ToArray();
     return new JavaScriptSerializer().Serialize(this);
 }
        public override string ToString()
        {
            var noColumnFilter = new FilterDef(null);

            this["bUseColVis"] = _vm.ColVis;
            this["aoColumns"]  = _vm.Columns
                                 //.Where(c => c.Visible || c.Filter["sSelector"] != null)
                                 .Select(c => c.Searchable?c.Filter:noColumnFilter).ToArray();
            return(new JavaScriptSerializer().Serialize(this));
        }
Example #7
0
        public void Test_Constructor_WithNoParameters()
        {
            //---------------Set up test pack-------------------
            //---------------Assert PreConditions---------------
            //---------------Execute Test ----------------------
            FilterDef filterDef = new FilterDef();

            //---------------Test Result -----------------------
            Assert.IsNotNull(filterDef.FilterPropertyDefs);
            Assert.AreEqual(FilterModes.Filter, filterDef.FilterMode);
        }
Example #8
0
        public void Test_Constructor_WithListParameter()
        {
            //---------------Set up test pack-------------------
            IList <IFilterPropertyDef> filterPropertyDefs = MockRepository.GenerateStub <IList <IFilterPropertyDef> >();
            //---------------Assert PreConditions---------------
            //---------------Execute Test ----------------------
            FilterDef filterDef = new FilterDef(filterPropertyDefs);

            //---------------Test Result -----------------------
            Assert.AreSame(filterPropertyDefs, filterDef.FilterPropertyDefs);
            Assert.AreEqual(FilterModes.Filter, filterDef.FilterMode);
        }
        public void Test_BuildFilterControl_FilterMode_FilterIsDefault()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder   = new FilterControlBuilder(GetControlFactory());
            FilterDef            filterDef = CreateFilterDef_1Property();

            //---------------Execute Test ----------------------
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            //---------------Test Result -----------------------
            Assert.AreEqual(FilterModes.Filter, filterControl.FilterMode);
        }
        public void Test_BuildFilterControl_Layout_0Columns_UsesFlowLayout()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder   = new FilterControlBuilder(GetControlFactory());
            FilterDef            filterDef = CreateFilterDef_1Property();

            //---------------Execute Test ----------------------
            filterDef.Columns = 0;
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            //---------------Test Result -----------------------
            Assert.IsInstanceOf(typeof(FlowLayoutManager), filterControl.LayoutManager);
        }
Example #11
0
        private FilterDef CreateFilterDefinition(FullTextFilterDefAttribute att)
        {
            try
            {
                Activator.CreateInstance(att.Impl);
            }
            catch (Exception ex)
            {
                throw new SearchException("Unable to create Filter class: " + att.Impl.FullName, ex);
            }

            var filterDefinition = new FilterDef
            {
                Name  = att.Name,
                Cache = att.Cache,
                Impl  = att.Impl
            };

            foreach (var method in filterDefinition.Impl.GetMethods())
            {
                if (AttributeUtil.HasAttribute <FactoryAttribute>(method))
                {
                    if (filterDefinition.FactoryMethod != null)
                    {
                        throw new SearchException("Multiple Factory methods found " + filterDefinition.Name + ":" +
                                                  filterDefinition.Impl.FullName + "." + method.Name);
                    }
                    filterDefinition.FactoryMethod = method;
                }

                if (AttributeUtil.HasAttribute <KeyAttribute>(method))
                {
                    if (filterDefinition.KeyMethod != null)
                    {
                        throw new SearchException("Multiple Key methods found " + filterDefinition.Name + ":" +
                                                  filterDefinition.Impl.FullName + "." + method.Name);
                    }
                    filterDefinition.KeyMethod = method;
                }
            }

            foreach (var prop in filterDefinition.Impl.GetProperties())
            {
                if (AttributeUtil.HasAttribute <FilterParameterAttribute>(prop))
                {
                    filterDefinition.Setters[prop.Name] = prop;
                }
            }

            return(filterDefinition);
        }
Example #12
0
 public ColDef(string name, Type type)
 {
     Name            = name;
     Type            = type;
     Filter          = new FilterDef(Type);
     DisplayName     = name;
     Visible         = true;
     Sortable        = true;
     SortDirection   = SortDirection.None;
     MRenderFunction = (string)null;
     CssClass        = "";
     CssClassHeader  = "";
     this.Searchable = true;
 }
Example #13
0
        private FilterDef BuildFilterDef(FullTextFilterDefAttribute attribute)
        {
            var filterDef = new FilterDef
            {
                Name  = attribute.Name,
                Impl  = attribute.Impl,
                Cache = attribute.Cache
            };

            try {
                Activator.CreateInstance(filterDef.Impl);
            }
            catch (Exception e) {
                throw new SearchException("Unable to create Filter class: " + filterDef.Impl.FullName, e);
            }

            foreach (var method in filterDef.Impl.GetMethods())
            {
                if (AttributeUtil.HasAttribute <FactoryAttribute>(method))
                {
                    if (filterDef.FactoryMethod != null)
                    {
                        throw new SearchException("Multiple Factory methods found " + filterDef.Name + ":" +
                                                  filterDef.Impl.FullName + "." + method.Name);
                    }
                    filterDef.FactoryMethod = method;
                }

                if (AttributeUtil.HasAttribute <KeyAttribute>(method))
                {
                    if (filterDef.KeyMethod != null)
                    {
                        throw new SearchException("Multiple Key methods found " + filterDef.Name + ":" +
                                                  filterDef.Impl.FullName + "." + method.Name);
                    }
                    filterDef.KeyMethod = method;
                }
            }

            // Use properties rather than the Java setter logic idea
            foreach (PropertyInfo prop in filterDef.Impl.GetProperties())
            {
                if (AttributeUtil.HasAttribute <FilterParameterAttribute>(prop))
                {
                    filterDef.AddSetter(prop);
                }
            }

            return(filterDef);
        }
 protected internal ColDef(string name, Type type)
 {
     Name = name;
     Type = type;
     Filter = new FilterDef(Type);
     DisplayName = name;
     Visible = true;
     Sortable = true;
     SortDirection = SortDirection.None;
     MRenderFunction = (string) null;
     CssClass = "";
     CssClassHeader = "";
     this.Searchable = true;
 }
        public void Test_BuildFilterControl_PreviouslyBuiltFilterControl()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder   = new FilterControlBuilder(GetControlFactory());
            FilterDef            filterDef = CreateFilterDef_1Property();

            //---------------Execute Test ----------------------
            IFilterControl filterControl = GetControlFactory().CreateFilterControl();

            builder.BuildFilterControl(filterDef, filterControl);
            builder.BuildFilterControl(filterDef, filterControl);

            //---------------Test Result -----------------------
            Assert.AreEqual(1, filterControl.FilterControls.Count);
        }
        public void Test_BuildFilterControl_TwoProperties_DifferentTypes()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder   = new FilterControlBuilder(GetControlFactory());
            FilterDef            filterDef = CreateFilterDef_2PropertiesWithType("StringTextBoxFilter", "BoolCheckBoxFilter");

            //---------------Execute Test ----------------------
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            //---------------Test Result -----------------------
            Assert.AreEqual(2, filterControl.FilterControls.Count);
            Assert.IsInstanceOf(typeof(StringTextBoxFilter), filterControl.FilterControls[0]);
            Assert.IsInstanceOf(typeof(ITextBox), filterControl.FilterControls[0].Control);
            Assert.IsInstanceOf(typeof(BoolCheckBoxFilter), filterControl.FilterControls[1]);
            Assert.IsInstanceOf(typeof(ICheckBox), filterControl.FilterControls[1].Control);
        }
        public void Test_BuildFilterControl_Layout_1OrMoreColumns_UsesGridLayout_MoreThanOneRow()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder   = new FilterControlBuilder(GetControlFactory());
            FilterDef            filterDef = CreateFilterDef_3Properties();

            //---------------Execute Test ----------------------
            filterDef.Columns = 2;
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            //---------------Test Result -----------------------
            Assert.IsInstanceOf(typeof(GridLayoutManager), filterControl.LayoutManager);
            GridLayoutManager layoutManager = (GridLayoutManager)filterControl.LayoutManager;

            Assert.AreEqual(4, layoutManager.Columns.Count);
            Assert.AreEqual(2, layoutManager.Rows.Count);
        }
        public void Test_BuildFilterControl_AlreadyConstructedFilterControl()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder            = new FilterControlBuilder(GetControlFactory());
            const string         filterType         = "Habanero.Faces.Test.Base.FilterController.SimpleFilterStub";
            const string         filterTypeAssembly = "Habanero.Faces.Test.Base";
            FilterDef            filterDef          = CreateFilterDef_1PropertyWithTypeAndAssembly(filterType, filterTypeAssembly);

            //---------------Execute Test ----------------------
            IFilterControl filterControl = GetControlFactory().CreateFilterControl();

            builder.BuildFilterControl(filterDef, filterControl);

            //---------------Test Result -----------------------
            Assert.AreEqual(1, filterControl.FilterControls.Count);
            Assert.IsInstanceOf(typeof(SimpleFilterStub), filterControl.FilterControls[0]);
        }
        public void Test_BuildFilterControl_TwoProperties_CheckPropNames()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder = new FilterControlBuilder(GetControlFactory());
            string    testprop1          = TestUtil.GetRandomString();
            string    testprop2          = TestUtil.GetRandomString();
            FilterDef filterDef          = CreateFilterDef_2Properties(testprop1, testprop2);

            //---------------Execute Test ----------------------
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            //---------------Test Result -----------------------
            Assert.AreEqual(2, filterControl.FilterControls.Count);
            Assert.AreEqual(testprop1, filterControl.FilterControls[0].PropertyName);
            Assert.AreEqual(testprop2, filterControl.FilterControls[1].PropertyName);
            Assert.AreEqual(FilterClauseOperator.OpEquals, filterControl.FilterControls[0].FilterClauseOperator);
            Assert.AreEqual(FilterClauseOperator.OpLike, filterControl.FilterControls[1].FilterClauseOperator);
        }
        public void Test_BuildFilterControl_Simple_CheckLayout()
        {
            //---------------Set up test pack-------------------
            FilterControlBuilder builder = new FilterControlBuilder(GetControlFactory());
            string    propName           = TestUtil.GetRandomString();
            FilterDef filterDef          = CreateFilterDef_1Property(propName);
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            IFilterControl filterControl = builder.BuildFilterControl(filterDef);

            filterControl.Size = new Size(1000, 800);
            //---------------Test Result -----------------------
            IControlHabanero label   = filterControl.FilterPanel.Controls[0];
            IControlHabanero textBox = filterControl.FilterPanel.Controls[1];

            Assert.AreEqual(label.Top, textBox.Top);
            Assert.GreaterOrEqual(textBox.Left, label.Left + label.Width);
        }
        public IFullTextFilter EnableFullTextFilter(string name)
        {
            using (new SessionIdLoggingContext(Session.SessionId))
            {
                if (filterDefinitions.TryGetValue(name, out var filterDefinition))
                {
                    return(filterDefinition);
                }

                filterDefinition = new FullTextFilterImpl {
                    Name = name
                };
                FilterDef filterDef = SearchFactory.GetFilterDefinition(name);
                if (filterDef == null)
                {
                    throw new SearchException("Unknown FullTextFilter: " + name);
                }

                filterDefinitions[name] = filterDefinition;

                return(filterDefinition);
            }
        }
Example #22
0
 public override FilterDefinition <Movie> UpdateGetFilter(Guid id) => FilterDef.Eq(a => a.Id, id);
Example #23
0
 public override FilterDefinition <Movie> DeleteFilter(Guid id) => FilterDef.Eq(a => a.Id, id);
 public bool TryGetFilterDefinition(string name, out FilterDef filter)
 {
     return(filterDefinitions.TryGetValue(name, out filter));
 }
 public void AddFilterDefinition(string name, FilterDef filter)
 {
     filterDefinitions.Add(name, filter);
 }
Example #26
0
 public override FilterDefinition <Actor> GetFilter(Guid id) => FilterDef.Eq(a => a.Id, id);