@Override public JobExecution getJobExecution(Long executionId) { JobExecution jobExec = null; StructuredQueryBuilder qb = new StructuredQueryBuilder(SEARCH_OPTIONS_NAME); StructuredQueryDefinition querydef = qb.rangeConstraint("jobExecutionId", Operator.EQ, executionId.toString()); QueryManager queryMgr = databaseClient.newQueryManager(); SearchHandle results = queryMgr.search(querydef, new SearchHandle()); if (results.getTotalResults() > 0L) { MatchDocumentSummary[] summaries = results.getMatchResults(); JAXBHandle<MarkLogicJobInstance> handle = new JAXBHandle<>(jaxbContext()); MarkLogicJobInstance mji = summaries[0].getFirstSnippet(handle).get(); if (mji.getJobExecutions().size() >= 1) { for (JobExecution je : mji.getJobExecutions()) { if (je.getId().equals(executionId)) { jobExec = je; } } } } return jobExec; }
@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 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()); }
StructuredQueryDefinition queryFinal = qb.rangeConstraint("pop", Operator.EQ, "5");
t = qb.rangeConstraint("name", Operator.GE, "value1", "value2"); for (String q: new String[]{t.serialize(), qb.build(t).toString()}) { xml = new StringInputStream(q);
StructuredQueryDefinition queryFinal = qb.rangeConstraint("pop", StructuredQueryBuilder.Operator.EQ, "high");
StructuredQueryDefinition query2 = qb.not(qb.wordConstraint("intitle", "memex")); StructuredQueryDefinition query3 = qb.valueConstraint("id", "**11"); StructuredQueryDefinition query4 = qb.rangeConstraint("date", StructuredQueryBuilder.Operator.EQ, "2005-01-01"); StructuredQueryDefinition query5 = qb.and(qb.wordConstraint("para", "Bush"), qb.not(qb.wordConstraint("para", "memex"))); StructuredQueryDefinition query6 = qb.rangeConstraint("price", StructuredQueryBuilder.Operator.EQ, "low"); StructuredQueryDefinition query7 = qb.or(qb.rangeConstraint("pop", StructuredQueryBuilder.Operator.EQ, "high"), qb.rangeConstraint("pop", StructuredQueryBuilder.Operator.EQ, "medium")); StructuredQueryDefinition queryFinal = qb.and(query1, query2, query3, query4, query5, query6, query7);
StructuredQueryDefinition queryPathIndex = qb.rangeConstraint("pindex", Operator.EQ, "Aries"); StructuredQueryDefinition queryWord = qb.wordConstraint("lastname", "Yuwono"); StructuredQueryDefinition queryFinal = qb.and(queryPathIndex, queryWord); StructuredQueryDefinition queryPathIndex1 = qb.rangeConstraint("pop", Operator.EQ, "5"); StructuredQueryDefinition queryPathIndex2 = qb.rangeConstraint("amount", Operator.EQ, "0.1"); queryFinal = qb.and(queryPathIndex1, queryPathIndex2);