示例#1
0
 public void extractObject1Test()
 {
     //TreeMap<string, CarOptions> tree_;
     //tree_ = new TreeMap<string, CarOptions>();
     //tree_.put("hello", CarOptions.FogLights);
     Assert.AreEqual("FogLights", FormatHtml.extractObject("ToString()", CarOptions.FogLights));
 }
示例#2
0
        public void processHtml1Test()
        {
            String locale_              = "LOCALE";
            String folder_              = "messages";
            String relative_            = "sample/file";
            String content_             = "one=Description one\ntwo=Description two\nthree=desc &lt;{0}&gt;";
            String html_                = "<html><body><ul><c.for var=\"s\" list=\"composite.strings\"><li>{s;}</li></c.for></ul></body></html>";
            Map <String, String> files_ = new Map <String, String>();

            files_.put(folder_ + "/" + locale_ + "/" + relative_ + ".properties", content_);
            BeanOne bean_ = new BeanOne();

            bean_.getComposite().getStrings().Add("FIRST");
            bean_.getComposite().getStrings().Add("SECOND");
            bean_.getComposite().setInteger(5);
            Configuration conf_ = new Configuration();

            conf_.setBeans(new Map <String, Bean>());
            conf_.getBeans().put("bean_one", bean_);
            conf_.setMessagesFolder(folder_);
            conf_.setProperties(new Map <String, String>());
            conf_.getProperties().put("msg_example", relative_);
            conf_.setTranslators(new Map <String, Translator>());
            conf_.getTranslators().put("trans", new MyTranslator());
            XmlDocument doc_    = XmlParser.parseSaxHtml(html_);
            String      render_ = FormatHtml.processHtml(doc_.DocumentElement, conf_, files_, bean_);

            Assert.AreEqual("<html><body><ul><c.tmp><li>FIRST</li></c.tmp><c.tmp><li>SECOND</li></c.tmp></ul></body></html>", render_);
        }
示例#3
0
        public void processHtml18Test()
        {
            String locale_              = "LOCALE";
            String folder_              = "messages";
            String relative_            = "sample/file";
            String content_             = "one=Description one\ntwo=Description two\nthree=desc &lt;{0}&gt;";
            String html_                = "<html><body><c.select map=\"translations\"/></body></html>";
            Map <String, String> files_ = new Map <String, String>();

            files_.put(folder_ + "/" + locale_ + "/" + relative_ + ".properties", content_);
            BeanOne bean_ = new BeanOne();

            bean_.getComposite().getStrings().Add("FIRST");
            bean_.getComposite().getStrings().Add("SECOND");
            bean_.getComposite().setInteger(5);
            Configuration conf_ = new Configuration();

            conf_.setBeans(new Map <String, Bean>());
            conf_.getBeans().put("bean_one", bean_);
            conf_.setMessagesFolder(folder_);
            conf_.setProperties(new Map <String, String>());
            conf_.getProperties().put("msg_example", relative_);
            conf_.setTranslators(new Map <String, Translator>());
            conf_.getTranslators().put("trans", new MyTranslator());
            XmlDocument doc_    = XmlParser.parseSaxHtml(html_);
            String      render_ = FormatHtml.processHtml(doc_.DocumentElement, conf_, files_, bean_);

            Assert.AreEqual("<html><body><select name=\"\" className=\"\"><option value=\"ONE\">1</option><option value=\"TWO\">2</option><option value=\"THREE\">3</option><option value=\"FOUR\">4</option><option value=\"FIVE\">5</option><option value=\"SIX\">6</option></select></body></html>", render_);
        }
示例#4
0
        public void extractObject3Test()
        {
            Pair <int, string> p_ = new Pair <int, string>();

            p_.setFirst(0);
            p_.setSecond("str");
            Assert.AreEqual("str", FormatHtml.extractObject("Util^Util^Pair^2^second", p_));
        }
示例#5
0
        public void setObject1Test()
        {
            BeanOne             b_ = new BeanOne();
            MyList <EnumNumber> l_ = new MyList <EnumNumber>();

            l_.Add(EnumNumber.ONE);
            FormatHtml.setObject(b_, "", "setCombobox", l_, "", "Util.Util.MyList`1[[FormatHtmlTests.EnumNumber, FormatHtmlTests]]", new MyList <long>());
            MyList <EnumNumber> c_ = b_.getCombobox();

            Assert.AreEqual(1, c_.size());
            Assert.AreEqual(EnumNumber.ONE, c_.get(0));
        }
示例#6
0
        public void processImports5Test()
        {
            String locale_              = "LOCALE";
            String folder_              = "messages";
            String relative_            = "sample/file";
            String content_             = "one=Description one\ntwo=Description <a href=\"\">two</a>\nthree=desc &lt;{0}&gt;\nfour=''asp''";
            String html_                = "<html bean=\"bean_one\"><body><c.import page=\"page2.html\"><a/><c.package name=\"FormatHtmlTests\"><a/><c.class name=\"BeanTwo\"><a/><c.field name=\"typedString\" value=\"message\"><a/></c.field></c.class></c.package></c.import></body></html>";
            String htmlTwo_             = "<html bean=\"bean_two\"><body><a href=\"DELETE\" command=\"go\">{typedString}</a></body></html>";
            Map <String, String> files_ = new Map <String, String>();

            files_.put(folder_ + "/" + locale_ + "/" + relative_ + ".properties", content_);
            files_.put("page1.html", html_);
            files_.put("page2.html", htmlTwo_);
            BeanOne bean_ = new BeanOne();

            bean_.getComposite().getStrings().Add("FIRST");
            bean_.getComposite().getStrings().Add("SECOND");
            bean_.getComposite().setInteger(5);
            bean_.getTree().put("ONE", 1);
            bean_.getTree().put("TWO", 2);
            bean_.setForms(new Map <String, Object>());
            bean_.getForms().put("key", "sample_value");
            BeanTwo beanTwo_ = new BeanTwo();

            beanTwo_.setTypedString("TITLE");
            beanTwo_.setForms(new Map <String, Object>());
            Configuration conf_ = new Configuration();

            conf_.setAssembly("FormatHtmlTests");
            conf_.setBeans(new Map <String, Bean>());
            conf_.getBeans().put("bean_one", bean_);
            conf_.getBeans().put("bean_two", beanTwo_);
            conf_.setMessagesFolder(folder_);
            conf_.setProperties(new Map <String, String>());
            conf_.getProperties().put("msg_example", relative_);
            conf_.setTranslators(new Map <String, Translator>());
            conf_.getTranslators().put("trans", new MyTranslator());
            String render_ = FormatHtml.processImports(html_, conf_, locale_, files_);

            Assert.AreEqual("<html><body><a href=\"\" command=\"go\">Test {0}2</a></body></html>", render_);

            Assert.AreEqual(1, beanTwo_.getForms().size());
            Assert.AreEqual("key", beanTwo_.getForms().getKeys().get(0));
            Assert.AreEqual("sample_value", beanTwo_.getForms().values().get(0));
        }
示例#7
0
        public void renameElement1Test()
        {
            XmlDocument doc_ = new XmlDocument();
            XmlElement  elt_ = doc_.CreateElement("main");

            doc_.AppendChild(elt_);
            XmlElement main_ = elt_;

            elt_ = doc_.CreateElement("hello");
            main_.AppendChild(elt_);
            elt_ = doc_.CreateElement("world");
            main_.AppendChild(elt_);
            Console.WriteLine(XmlParser.toXml(doc_));
            XmlElement other_ = FormatHtml.renameElement(elt_, "word");

            Console.WriteLine(XmlParser.toXml(doc_));
            Console.WriteLine(other_ == elt_);
        }
示例#8
0
        public void initializeSession()
        {
            foreach (String b in session.getBeans().getKeys())
            {
                Bean bean_ = newBean(session.getBeans().getVal(b));
                bean_.setForms(new Map <String, Object>());
                bean_.setDataBase(dataBase);
                bean_.setLanguage(language);
                //bean_.setNavigation(this);
                session.getBeans().put(b, bean_);
            }
            String currentUrl_      = session.getFirstUrl();
            String text_            = FormatHtml.loadPage(assembly, files, currentUrl_, resourcesFolder);
            String currentBeanName_ = FormatHtml.getCurrentBean(text_);

            htmlText = FormatHtml.processImports(text_, session, language, files, resourcesFolder);
            //For title
            currentBeanName = currentBeanName_;
            currentUrl      = currentUrl_;
            setupText(htmlText);
        }
示例#9
0
        public void processHtmlJava1Test()
        {
            String locale_              = "LOCALE";
            String folder_              = "messages";
            String relative_            = "sample/file";
            String content_             = "one=Description one\ntwo=Description <a href=\"\">two</a>\nthree=desc &lt;{0}&gt;\nfour=''asp''";
            String html_                = "<html bean=\"bean_two\"><body><c.a value=\"sample/file,three\" param0=\"$typedString\">Content</c.a></body></html>";
            Map <String, String> files_ = new Map <String, String>();

            files_.put(folder_ + "/" + locale_ + "/" + relative_ + ".properties", content_);
            BeanOne bean_ = new BeanOne();

            bean_.getComposite().getStrings().Add("FIRST");
            bean_.getComposite().getStrings().Add("SECOND");
            bean_.getComposite().setInteger(5);
            bean_.getTree().put("ONE", 1);
            bean_.getTree().put("TWO", 2);
            BeanTwo beanTwo_ = new BeanTwo();

            beanTwo_.setTypedString("TITLE");
            Configuration conf_ = new Configuration();

            conf_.setBeans(new Map <String, Bean>());
            conf_.getBeans().put("bean_one", bean_);
            conf_.getBeans().put("bean_two", beanTwo_);
            conf_.setMessagesFolder(folder_);
            conf_.setProperties(new Map <String, String>());
            conf_.getProperties().put("msg_example", relative_);
            conf_.setTranslators(new Map <String, Translator>());
            conf_.getTranslators().put("trans", new MyTranslator());
            String render_ = FormatHtml.processHtmlJava(html_, conf_, locale_, files_);

            Assert.AreEqual("<html><body><a value=\"sample/file,three\" param0=\"$typedString\" title=\"desc &amp;lt;TITLE2&amp;gt;\">Content</a></body></html>", render_);

            Assert.AreEqual("TITLE2", beanTwo_.getTypedString());
        }
示例#10
0
        public void processAnchorRequest(String _anchorRef)
        {
            String textToBeChanged_;
            Bean   bean_;
            Map <String, Object> forms_;
            String currentUrl_;
            String currentBeanName_;

            if (_anchorRef.Contains(CALL_METHOD))
            {
                Regex  pattern_    = new Regex(REG_EXP_ARGS);
                int    indexPoint_ = _anchorRef.IndexOf(DOT);
                String action_     = _anchorRef
                                     .Substring(indexPoint_ + 1);
                String key_        = action_.replaceAll(REG_EXP_INT, EMPTY_STRING);
                Match  match_      = pattern_.Match(action_);
                String argsString_ = EMPTY_STRING;
                if (match_.Success)
                {
                    argsString_ = match_.Groups[1].Value;
                    //argsString_ = match_.Value;
                }
                MyList <long> args_ = new MyList <long>();
                foreach (String l in StringList.splitStrings(argsString_, COMMA))
                {
                    if (l.isEmpty())
                    {
                        continue;
                    }
                    args_.Add(long.Parse(l));
                }
                String command_  = StringList.getFirstToken(action_, BEGIN_ARGS);
                int    begin_    = _anchorRef.IndexOf(CALL_METHOD) + 1;
                String beanName_ = _anchorRef
                                   .Substring(begin_, indexPoint_ - begin_);
                bean_ = session.getBeans().getVal(beanName_);
                Object return_ = FormatHtml.invokeMethodWithNumbers(
                    bean_, command_, args_.ToArray());
                forms_ = bean_.getForms();
                String urlDest_ = currentUrl;
                if (return_ != null)
                {
                    urlDest_ = session.getNavigation()
                               .getVal(beanName_ + DOT + key_)
                               .getVal(return_.ToString());
                    if (urlDest_ == null)
                    {
                        urlDest_ = currentUrl;
                    }
                }
                foreach (String b in session.getBeans().getKeys())
                {
                    if (!reinitBean(urlDest_, beanName_, b))
                    {
                        continue;
                    }
                    bean_ = session.getBeans().getVal(b);
                    bean_ = newBean(bean_);
                    bean_.setForms(forms_);
                    session.getBeans().put(b, bean_);
                }
                currentUrl_      = urlDest_;
                textToBeChanged_ = FormatHtml.loadPage(assembly, files, StringList.getFirstToken(urlDest_, REF_TAG), resourcesFolder);
                currentBeanName_ = FormatHtml
                                   .getCurrentBean(textToBeChanged_);
                bean_ = session.getBeans().getVal(currentBeanName_);
                bean_.setForms(forms_);
                textToBeChanged_ = FormatHtml.processImports(
                    textToBeChanged_, session, language, files, resourcesFolder);
                currentBeanName = currentBeanName_;
                currentUrl      = currentUrl_;
                setupText(textToBeChanged_);
                return;
            }
            if (_anchorRef.isEmpty())
            {
                return;
            }
            bean_  = session.getBeans().getVal(currentBeanName);
            forms_ = bean_.getForms();
            foreach (String b in session.getBeans().getKeys())
            {
                if (!reinitBean(_anchorRef, currentBeanName, b))
                {
                    continue;
                }
                bean_ = session.getBeans().getVal(b);
                bean_ = newBean(bean_);
                bean_.setForms(forms_);
                session.getBeans().put(b, bean_);
            }
            currentUrl_      = _anchorRef;
            textToBeChanged_ = FormatHtml.loadPage(assembly, files, StringList.getFirstToken(_anchorRef, REF_TAG), resourcesFolder);
            currentBeanName_ = FormatHtml
                               .getCurrentBean(textToBeChanged_);
            bean_ = session.getBeans().getVal(currentBeanName_);
            bean_.setForms(forms_);
            textToBeChanged_ = FormatHtml.processImports(
                textToBeChanged_, session, language, files, resourcesFolder);
            currentBeanName = currentBeanName_;
            currentUrl      = currentUrl_;
            setupText(textToBeChanged_);
        }
示例#11
0
        private void processFormErrors(XmlDocument _doc, XmlElement _formElement, Map <String, String> _query,
                                       Map <String, String> _errors, Map <String, Object[]> _errorsArgs)
        {
            //begin deleting previous errors
            XmlNodeList spansForm_        = _formElement.GetElementsByTagName(TAG_SPAN);
            int         lengthSpansForom_ = spansForm_.Count;

            for (int j = List.FIRST_INDEX; j < lengthSpansForom_; j++)
            {
                XmlElement elt_ = (XmlElement)spansForm_.Item(j);
                if (!elt_.HasAttribute(ATTRIBUTE_FOR))
                {
                    continue;
                }
                XmlNodeList children_ = elt_.ChildNodes;
                int         ch_       = children_.Count;
                for (int i = List.FIRST_INDEX; i < ch_; i++)
                {
                    elt_.RemoveChild(children_.Item(i));
                }
                XmlText text_ = _doc.CreateTextNode(FormatHtml.SPACE);
                elt_.AppendChild(text_);
            }
            //end deleting previous errors
            foreach (String i in _errors.getKeys())
            {
                XmlNodeList spans_       = _formElement.GetElementsByTagName(TAG_SPAN);
                int         lengthSpans_ = spans_.Count;
                for (int j = List.FIRST_INDEX; j < lengthSpans_; j++)
                {
                    XmlElement elt_ = (XmlElement)spans_.Item(j);
                    if (!elt_.GetAttribute(ATTRIBUTE_FOR).Equals(i))
                    {
                        continue;
                    }
                    elt_.RemoveChild(elt_.ChildNodes.Item(0));
                    String error_ = _errors.getVal(i);
                    if (!elt_.GetAttribute(ATTRIBUTE_VALUE_MESSAGE).isEmpty())
                    {
                        error_ = FormatHtml.formatErrorMessage(session, elt_.GetAttribute(ATTRIBUTE_VALUE_MESSAGE), language, files, resourcesFolder, _errorsArgs.getVal(i));
                    }
                    XmlText text_ = _doc.CreateTextNode(error_);
                    elt_.AppendChild(text_);
                }
            }
            XmlNodeList inputs_       = _doc.GetElementsByTagName(TAG_INPUT);
            int         lengthInputs_ = inputs_.Count;

            for (int i = List.FIRST_INDEX; i < lengthInputs_; i++)
            {
                XmlElement elt_ = (XmlElement)inputs_.Item(i);
                foreach (String k in _query.getKeys())
                {
                    if (!elt_.GetAttribute(ATTRIBUTE_NAME).Equals(k))
                    {
                        continue;
                    }
                    if (elt_.GetAttribute(ATTRIBUTE_TYPE).Equals(TEXT))
                    {
                        elt_.SetAttribute(ATTRIBUTE_VALUE, _query.getVal(k));
                        continue;
                    }
                    if (elt_.GetAttribute(ATTRIBUTE_TYPE).Equals(NUMBER))
                    {
                        elt_.SetAttribute(ATTRIBUTE_VALUE, _query.getVal(k));
                        continue;
                    }
                    if (elt_.GetAttribute(ATTRIBUTE_TYPE).Equals(CHECKBOX))
                    {
                        if (_query.getVal(k).Equals(ON))
                        {
                            elt_.SetAttribute(CHECKED, CHECKED);
                        }
                        else
                        {
                            elt_.RemoveAttribute(CHECKED);
                        }
                        continue;
                    }
                }
            }
            inputs_       = _doc.GetElementsByTagName(TAG_SELECT);
            lengthInputs_ = inputs_.Count;
            for (int i = List.FIRST_INDEX; i < lengthInputs_; i++)
            {
                XmlElement elt_ = (XmlElement)inputs_.Item(i);
                foreach (String k in _query.getKeys())
                {
                    if (!elt_.GetAttribute(ATTRIBUTE_NAME).Equals(k))
                    {
                        continue;
                    }
                    XmlNodeList options_    = elt_.GetElementsByTagName(TAG_OPTION);
                    int         optionsLen_ = options_.Count;
                    for (int j = List.FIRST_INDEX; j < optionsLen_; j++)
                    {
                        XmlElement option_ = (XmlElement)options_.Item(j);
                        if (option_.GetAttribute(ATTRIBUTE_VALUE).Equals(_query.getVal(k)))
                        {
                            option_.SetAttribute(SELECTED, SELECTED);
                        }
                        else
                        {
                            option_.RemoveAttribute(SELECTED);
                        }
                    }
                }
            }
            setupText(XmlParser.toHtml(_doc));
        }
示例#12
0
        private void updateBean(Map <String, String> _inputClasses,
                                Map <String, String> _changing, Map <String, String> _query, Map <String, String> _varMethods)

        {
            Type strType_ = typeof(string);

            foreach (String k in _query.getKeys())
            {
                if (k.isEmpty())
                {
                    continue;
                }
                String simpleKey_ = k;
                String beanName_  = k.Substring(0, k.IndexOf(DOT));
                Bean   bean_      = session.getBeans().getVal(beanName_);
                String v_         = _query.getVal(k);
                String varMethod_ = _varMethods.getVal(k);
                simpleKey_ = k.Substring(k.IndexOf(DOT) + 1);
                Object        obj_     = FormatHtml.extractObject(simpleKey_, bean_);
                Match         m_       = new Regex(REG_EXP_POSITIVE_INT).Match(simpleKey_);
                MyList <long> indexes_ = new MyList <long>();
                if (m_.Success)
                {
                    int nb_ = m_.Groups.Count;
                    for (int i = 1; i <= nb_; i++)
                    {
                        indexes_.Add(long.Parse(m_.Groups[i].Value));
                    }
                }
                String changingValue_ = EMPTY_STRING;
                if (_changing.contains(k))
                {
                    String method_ = _changing.getVal(k);
                    try {
                        //checking for existence of method_ in the bean class
                        bean_.GetType().GetMethod(method_,
                                                  new Type[] { typeof(ValueChangeEvent) });
                        changingValue_ = method_;
                    } catch (Exception) {
                    }
                }
                String className_ = _inputClasses.getVal(k);
                if (className_.StartsWith("."))
                {
                    className_ = session.getAssembly() + className_;
                }
                className_ = className_.Replace(".]", session.getAssembly() + "]");
                if (obj_ == null)
                {
                    //case where it is better to test on class of the value
                    Type class_ = Constants.classForName(className_);
                    if (class_.IsEnum)
                    {
                        bool success_ = false;
                        //Enum
                        foreach (Enum o in class_.GetEnumValues())
                        {
                            if (o.name().Equals(v_))
                            {
                                //The field value is an enum value
                                FormatHtml.setObject(bean_, simpleKey_, varMethod_, o,
                                                     changingValue_, className_, indexes_);
                                success_ = true;
                                break;
                            }
                        }
                        if (!success_)
                        {
                            //throw new InexistingValueForEnum(v_, class_.Name);
                            throw new InexistingValueForEnum();
                        }
                        continue;
                    }

                    /*try {
                     *      bool success_ = false;
                     *      //Enum
                     *      for (Enum<?> o : class_.asSubclass(Enum.class).getEnumConstants()) {
                     *              if (o.name().equals(v_)) {
                     *                      //The field value is an enum value
                     *                      FormatHtml.setObject(bean_, simpleKey_, varMethod_, o,
                     *                                      changingValue_, className_, indexes_);
                     *                      success_ = true;
                     *                      break;
                     *              }
                     *      }
                     *      if (!success_) {
                     *              throw new InexistingValueForEnum(v_, class_.getName());
                     *      }
                     *      continue;
                     * } catch (ClassCastException e) {
                     * }*/
                    //Boolean
                    if (class_ == typeof(Boolean))
                    {
                        FormatHtml.setObject(bean_, simpleKey_, varMethod_,
                                             v_.Equals(ON), changingValue_,
                                             className_, indexes_);
                        continue;
                    }
                    //Number
                    if (class_.IsValueType)
                    {
                        MethodInfo methNb_ = Constants.getParseMethod(class_);
                        //ConstructorInfo c_ = class_.GetConstructor(new Type[] { strType_ });
                        object objNew_ = methNb_.Invoke(null, new object[] { v_ });
                        FormatHtml.setObject(bean_, simpleKey_, varMethod_, objNew_, changingValue_,
                                             className_, indexes_);
                        continue;
                    }
                    //Number

                    /*try {
                     *      class_.asSubclass(Number.class);
                     *      FormatHtml.setObject(bean_, simpleKey_, varMethod_, class_
                     * .getConstructor(String.class)
                     *                      .newInstance(v_), changingValue_,
                     *                      className_, indexes_);
                     *      continue;
                     * } catch (ClassCastException e) {
                     * }*/
                    //Primitivable
                    if (typeof(Primitivable).IsAssignableFrom(class_))
                    {
                        ConstructorInfo c_      = class_.GetConstructor(new Type[] { strType_ });
                        object          objNew_ = c_.Invoke(new object[] { v_ });
                        FormatHtml.setObject(bean_, simpleKey_, varMethod_, objNew_, changingValue_,
                                             className_, indexes_);
                        continue;
                    }

                    /*try {
                     *      class_.asSubclass(Primitivable.class);
                     *      FormatHtml.setObject(bean_, simpleKey_, varMethod_, class_
                     * .getConstructor(String.class)
                     *                      .newInstance(v_), changingValue_,
                     *                      className_, indexes_);
                     *      continue;
                     * } catch (ClassCastException e) {
                     * }*/
                    FormatHtml.setObject(bean_, simpleKey_, varMethod_, v_,
                                         changingValue_, className_, indexes_);
                    continue;
                }
                //Enum
                if (obj_ is Enum)
                {
                    bool success_ = false;
                    foreach (Enum o in obj_.GetType().GetEnumValues())
                    {
                        if (o.name().Equals(v_))
                        {
                            //The field value is an enum value
                            FormatHtml.setObject(bean_, simpleKey_, varMethod_, o,
                                                 changingValue_, className_, indexes_);
                            success_ = true;
                            break;
                        }
                    }

                    /*for (Enum<?> o : obj_.getClass().asSubclass(Enum.class)
                     *                              .getEnumConstants()) {
                     *                      if (o.name().equals(v_)) {
                     *                              FormatHtml.setObject(bean_, simpleKey_, varMethod_, o,
                     *                                              changingValue_, className_, indexes_);
                     *                              success_ = true;
                     *                              break;
                     *                      }
                     *              }*/
                    /*if (!success_) {
                     *      throw new InexistingValueForEnum(v_, obj_.getClass().getName());
                     * }*/
                    if (!success_)
                    {
                        //throw new InexistingValueForEnum(v_, class_.Name);
                        throw new InexistingValueForEnum();
                    }
                    continue;
                }
                //Boolean
                if (obj_ is Boolean)
                {
                    FormatHtml.setObject(bean_, simpleKey_, varMethod_, v_.Equals(ON),
                                         changingValue_, className_, indexes_);
                    continue;
                }
                //Number, Primitivable
                if (obj_.GetType().IsValueType)
                {
                    MethodInfo methNb_ = Constants.getParseMethod(obj_.GetType());
                    //ConstructorInfo c_ = obj_.GetType().GetConstructor(new Type[] { strType_ });
                    object objNew_ = methNb_.Invoke(null, new object[] { v_ });
                    FormatHtml.setObject(bean_, simpleKey_, varMethod_, objNew_, changingValue_,
                                         className_, indexes_);
                    continue;
                }
                if (obj_ is Primitivable)
                {
                    ConstructorInfo c_      = obj_.GetType().GetConstructor(new Type[] { strType_ });
                    object          objNew_ = c_.Invoke(new object[] { v_ });
                    FormatHtml.setObject(bean_, simpleKey_, varMethod_, objNew_, changingValue_,
                                         className_, indexes_);
                    continue;
                }
                FormatHtml.setObject(bean_, simpleKey_, varMethod_, v_, changingValue_,
                                     className_, indexes_);
            }
        }
示例#13
0
 public void extractObject4Test()
 {
     Assert.AreEqual("ONE", FormatHtml.extractObject("FormatHtmlTests^FormatHtmlTests^BeanOne^selectedString", new BeanOne()));
 }