GetQueryAsDOM() public method

public GetQueryAsDOM ( string>.IDictionary formProperties ) : XmlDocument
formProperties string>.IDictionary
return System.Xml.XmlDocument
Example #1
0
        public void TestFormTransforms()
        {
            //// Sun 1.5 suffers from http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6240963
            //if (Constants.JAVA_VENDOR.StartsWith("Sun") && Constants.JAVA_VERSION.StartsWith("1.5")) {
            //  String defLang = Locale.getDefault().getLanguage();
            //  assumeFalse("Sun JRE 1.5 suffers from http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6240963 under Turkish locale", defLang.equals("tr") || defLang.equals("az"));
            //}
            //Cache all the query templates we will be referring to.
            QueryTemplateManager qtm      = new QueryTemplateManager();
            Assembly             assembly = GetType().Assembly;

            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumBooleanQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumBooleanQuery", stream);
            }
            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumFilteredQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumFilteredQuery", stream);
            }
            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumLuceneClassicQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumLuceneClassicQuery", stream);
            }

            //Run all of our test queries
            foreach (String queryForm in queryForms)
            {
                IDictionary <string, string> queryFormProperties = getPropsFromString(queryForm);

                //Get the required query XSL template for this test
                //      Templates template=getTemplate(queryFormProperties.getProperty("template"));

                //Transform the queryFormProperties into a Lucene XML query
                XmlDocument doc = qtm.GetQueryAsDOM(queryFormProperties, queryFormProperties["template"]);

                //Parse the XML query using the XML parser
                Query q = builder.GetQuery(doc.DocumentElement);

                //Run the query
                int h = searcher.Search(q, null, 1000).TotalHits;

                //Check we have the expected number of results
                int expectedHits = int.Parse(queryFormProperties["expectedMatches"]);
                assertEquals("Number of results should match for query " + queryForm, expectedHits, h);
            }
        }
        public void TestFormTransforms()
        {
            //// Sun 1.5 suffers from http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6240963
            //if (Constants.JAVA_VENDOR.StartsWith("Sun") && Constants.JAVA_VERSION.StartsWith("1.5")) {
            //  String defLang = Locale.getDefault().getLanguage();
            //  assumeFalse("Sun JRE 1.5 suffers from http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6240963 under Turkish locale", defLang.equals("tr") || defLang.equals("az"));
            //}
            //Cache all the query templates we will be referring to.
            QueryTemplateManager qtm = new QueryTemplateManager();
            Assembly assembly = GetType().Assembly;
            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumBooleanQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumBooleanQuery", stream);
            }
            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumFilteredQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumFilteredQuery", stream);
            }
            using (var stream = assembly.GetManifestResourceStream(TestParser.RESOURCE_PATH + "albumLuceneClassicQuery.xsl"))
            {
                qtm.AddQueryTemplate("albumLuceneClassicQuery", stream);
            }

            //Run all of our test queries
            foreach (String queryForm in queryForms)
            {
                IDictionary<string, string> queryFormProperties = getPropsFromString(queryForm);

                //Get the required query XSL template for this test
                //      Templates template=getTemplate(queryFormProperties.getProperty("template"));

                //Transform the queryFormProperties into a Lucene XML query
                XmlDocument doc = qtm.GetQueryAsDOM(queryFormProperties, queryFormProperties["template"]);

                //Parse the XML query using the XML parser
                Query q = builder.GetQuery(doc.DocumentElement);

                //Run the query
                int h = searcher.Search(q, null, 1000).TotalHits;

                //Check we have the expected number of results
                int expectedHits = int.Parse(queryFormProperties["expectedMatches"]);
                assertEquals("Number of results should match for query " + queryForm, expectedHits, h);

            }
        }