@Test public void testPostDocumentWithoutFormat() throws SAXException, IOException { StringHandle stringHandle = new StringHandle("<search xmlns=\"http://marklogic.com/appservices/search\"><qtext>true</qtext></search>"); DOMHandle answer = ruleManager.match(stringHandle, new DOMHandle()); Document doc = answer.get(); NodeList nl = doc.getElementsByTagNameNS( "http://marklogic.com/rest-api", "name"); assertEquals(2, nl.getLength()); }
@Test public void testMatchPostQuery() throws SAXException, IOException { StructuredQueryBuilder qb = new StructuredQueryBuilder(); StructuredQueryDefinition structuredQuery; structuredQuery = qb.rangeConstraint("favorited", Operator.EQ, "true"); DOMHandle answer = ruleManager.match(structuredQuery, new DOMHandle()); Document doc = answer.get(); NodeList nl = doc.getElementsByTagNameNS( "http://marklogic.com/rest-api", "name"); assertEquals(2, nl.getLength()); answer = ruleManager.match(structuredQuery, 1, QueryManager.DEFAULT_PAGE_LENGTH, new String[] { "favorites" }, new DOMHandle()); doc = answer.get(); nl = doc.getElementsByTagNameNS("http://marklogic.com/rest-api", "name"); assertEquals(1, nl.getLength()); }
@Test public void testRuleMatchTransform() { StructuredQueryBuilder qb = new StructuredQueryBuilder(); StructuredQueryDefinition structuredQuery; structuredQuery = qb.rangeConstraint("favorited", Operator.EQ, "true"); ServerTransform transform = new ServerTransform("ruleTransform"); DOMHandle answer = ruleManager.match(structuredQuery, 0L, QueryManager.DEFAULT_PAGE_LENGTH, new String[] {}, new DOMHandle(), transform); Document doc = answer.get(); NodeList nl = doc.getElementsByTagNameNS( "", "transformed-name"); assertEquals(2, nl.getLength()); }
@Test public void testMatchGetQuery() { StringQueryDefinition qtext = queryManager .newStringDefinition("alerts"); qtext.setCriteria("favorited:true"); RuleDefinitionList answer = ruleManager.match(qtext, new RuleDefinitionList()); assertEquals("One answer", 1, answer.size()); qtext.setCriteria("favorited:false"); answer = ruleManager.match(qtext, 1L, 10L, new String[] { "favorites", "notfavorited" }, answer); assertEquals("One answer", answer.size(), 1); assertEquals("Right answer", "notfavorited", answer.iterator().next() .getName()); answer = ruleManager.match(qtext, 1L, 0L, new String[] { "favorites", "notfavorited" }, answer); assertEquals("Zero answers (pageLength 0)", answer.size(), 0); answer = ruleManager.match(qtext, 3L, QueryManager.DEFAULT_PAGE_LENGTH, new String[] { "favorites", "notfavorited" }, answer); assertEquals("Zero answers (default pageLength, but start beyond result size)", answer.size(), 0); }
@Test public void testMatchGetDocumentUri() { String[] docs = new String[] { "/alert/second.xml" }; String[] candidates = new String[] { "notfavorited" }; RuleDefinitionList answer = ruleManager.match(docs, new RuleDefinitionList()); assertEquals( "One answer for first match scenario, favorite against all rules", 1, answer.size()); RuleDefinition ruleMatch = answer.iterator().next(); assertEquals("favorites", ruleMatch.getName()); answer = ruleManager.match(docs, candidates, answer, null); assertEquals( "Zero answers for second match scenario, favorites against false rule ", 0, answer.size()); docs = new String[] { "/alert/first.xml", "/alert/third.xml" }; answer = ruleManager.match(docs, answer); assertEquals("One answer for first match scenario", 1, answer.size()); RuleDefinition match = answer.iterator().next(); assertEquals("notfavorited", match.getName()); }
@Test public void testMatchPostDocument() { String docToMatch1 = "<favorited>true</favorited>"; String docToMatch2 = "<favorited>false</favorited>"; RuleDefinitionList ans1 = ruleManager.match(new StringHandle( docToMatch1).withFormat(Format.XML), new RuleDefinitionList()); assertEquals("doc match 1 count", 1, ans1.size()); assertEquals("doc match 1", "favorites", ans1.iterator().next() .getName()); RuleDefinitionList ans2 = ruleManager.match(new StringHandle( docToMatch2).withFormat(Format.XML), new RuleDefinitionList()); assertEquals("doc match 2 count", 1, ans2.size()); assertEquals("doc match 2", "notfavorited", ans2.iterator().next() .getName()); }
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(handle, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(docUris, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(termQuery1, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, 1, 2, candidateRules, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(termQuery1, 0L, QueryManager.DEFAULT_PAGE_LENGTH, new String[] {}, new RuleDefinitionList(), transform);
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, new RuleDefinitionList());
RuleDefinitionList matchedRules = ruleMatchMgr.match(querydef, 1, 2, candidateRules, new RuleDefinitionList());