Exemplo n.º 1
0
        /// <summary>Print configuration options that can be changed.</summary>
        private void PrintConf(PrintWriter @out, Reconfigurable reconf)
        {
            Configuration oldConf = reconf.GetConf();
            Configuration newConf = new Configuration();
            ICollection <ReconfigurationUtil.PropertyChange> changes = ReconfigurationUtil.GetChangedProperties
                                                                           (newConf, oldConf);
            bool changeOK = true;

            @out.WriteLine("<form action=\"\" method=\"post\">");
            @out.WriteLine("<table border=\"1\">");
            @out.WriteLine("<tr><th>Property</th><th>Old value</th>");
            @out.WriteLine("<th>New value </th><th></th></tr>");
            foreach (ReconfigurationUtil.PropertyChange c in changes)
            {
                @out.Write("<tr><td>");
                if (!reconf.IsPropertyReconfigurable(c.prop))
                {
                    @out.Write("<font color=\"red\">" + StringEscapeUtils.EscapeHtml(c.prop) + "</font>"
                               );
                    changeOK = false;
                }
                else
                {
                    @out.Write(StringEscapeUtils.EscapeHtml(c.prop));
                    @out.Write("<input type=\"hidden\" name=\"" + StringEscapeUtils.EscapeHtml(c.prop
                                                                                               ) + "\" value=\"" + StringEscapeUtils.EscapeHtml(c.newVal) + "\"/>");
                }
                @out.Write("</td><td>" + (c.oldVal == null ? "<it>default</it>" : StringEscapeUtils
                                          .EscapeHtml(c.oldVal)) + "</td><td>" + (c.newVal == null ? "<it>default</it>" :
                                                                                  StringEscapeUtils.EscapeHtml(c.newVal)) + "</td>");
                @out.Write("</tr>\n");
            }
            @out.WriteLine("</table>");
            if (!changeOK)
            {
                @out.WriteLine("<p><font color=\"red\">WARNING: properties marked red" + " will not be changed until the next restart.</font></p>"
                               );
            }
            @out.WriteLine("<input type=\"submit\" value=\"Apply\" />");
            @out.WriteLine("</form>");
        }
Exemplo n.º 2
0
        public virtual void TestGetChangedProperties()
        {
            ICollection <ReconfigurationUtil.PropertyChange> changes = ReconfigurationUtil.GetChangedProperties
                                                                           (conf2, conf1);

            Assert.True("expected 3 changed properties but got " + changes.
                        Count, changes.Count == 3);
            bool changeFound = false;
            bool unsetFound  = false;
            bool setFound    = false;

            foreach (ReconfigurationUtil.PropertyChange c in changes)
            {
                if (c.prop.Equals(Prop2) && c.oldVal != null && c.oldVal.Equals(Val1) && c.newVal
                    != null && c.newVal.Equals(Val2))
                {
                    changeFound = true;
                }
                else
                {
                    if (c.prop.Equals(Prop3) && c.oldVal != null && c.oldVal.Equals(Val1) && c.newVal
                        == null)
                    {
                        unsetFound = true;
                    }
                    else
                    {
                        if (c.prop.Equals(Prop4) && c.oldVal == null && c.newVal != null && c.newVal.Equals
                                (Val1))
                        {
                            setFound = true;
                        }
                    }
                }
            }
            Assert.True("not all changes have been applied", changeFound &&
                        unsetFound && setFound);
        }
Exemplo n.º 3
0
 public virtual void SetReconfigurationUtil(ReconfigurationUtil ru)
 {
     reconfigurationUtil = Preconditions.CheckNotNull(ru);
 }