String optionsName = valDef.getOptionsName(); if (optionsName != null && optionsName.length() > 0) { addEncodedParam(docParams, "options", optionsName); if (valDef.getAggregate() != null) { addEncodedParam(docParams, "aggregate", valDef.getAggregate()); if (valDef.getAggregatePath() != null) { addEncodedParam(docParams, "aggregatePath", valDef.getAggregatePath()); if (valDef.getView() != null) { docParams.add("view", valDef.getView()); if (valDef.getDirection() != null) { if (valDef.getDirection() == ValuesDefinition.Direction.ASCENDING) { docParams.add("direction", "ascending"); } else { if (valDef.getFrequency() != null) { if (valDef.getFrequency() == ValuesDefinition.Frequency.FRAGMENT) { docParams.add("frequency", "fragment"); } else { if (valDef.getQueryDefinition() != null) { ValueQueryDefinition queryDef = valDef.getQueryDefinition(); if (valDef.getName() != null) { uri += "/" + valDef.getName();
@Test public void testValuesAggregatesFiveOccurences() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testValuesAggregatesThreeOccurences"); String[] filenames = { "aggr1.xml", "aggr2.xml", "aggr3.xml", "aggr4.xml" }; String queryOptionName = "aggregatesOpt5Occ.xml"; DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType()); // write docs for (String filename : filenames) { writeDocumentUsingInputStreamHandle(client, filename, "/values-aggr/", "XML"); } setQueryOption(client, queryOptionName); QueryManager queryMgr = client.newQueryManager(); // create query def ValuesDefinition queryDef = queryMgr.newValuesDefinition("title", "aggregatesOpt5Occ.xml"); queryDef.setAggregate("count"); queryDef.setName("title-val"); // create handle ValuesHandle valuesHandle = new ValuesHandle(); queryMgr.values(queryDef, valuesHandle); AggregateResult[] agg = valuesHandle.getAggregates(); System.out.println(agg.length); System.out.println(agg[0].getValue()); // release client client.release(); }
@Test public void testAggregates() throws IOException, ParserConfigurationException, SAXException, ResourceNotFoundException, ForbiddenUserException, FailedRequestException, ResourceNotResendableException { QueryOptionsManager optionsMgr = Common.adminClient.newServerConfigManager().newQueryOptionsManager(); optionsMgr.writeOptions("valuesoptions2", new StringHandle(options)); logger.debug(options.toString()); QueryManager queryMgr = Common.client.newQueryManager(); ValuesDefinition vdef = queryMgr.newValuesDefinition("co", "valuesoptions2"); vdef.setAggregate("correlation", "covariance"); TuplesHandle t = queryMgr.tuples(vdef, new TuplesHandle()); AggregateResult[] agg = t.getAggregates(); assertEquals("Two aggregates are expected", 2, agg.length); double cov = t.getAggregate("covariance").get("xs:double", Double.class); assertTrue("The covariance is between 1.551 and 1.552", cov > 1.551 && cov < 1.552); Tuple[] tuples = t.getTuples(); assertEquals("Twelve tuples are expected", 12, tuples.length); assertEquals("The tuples are named 'co'", "co", t.getName()); ValuesMetrics metrics = t.getMetrics(); assertTrue("The values resolution time is >= 0", metrics.getValuesResolutionTime() >= 0); assertTrue("The aggregate resolution time is >= 0", metrics.getAggregateResolutionTime() >= 0); optionsMgr.deleteOptions("valuesoptions2"); }
queryDef.setAggregate("correlation", "covariance"); queryDef.setName("pop-rate-tups");
String optionsName = valDef.getOptionsName(); if (optionsName != null && optionsName.length() > 0) { docParams.add("options", optionsName); if (valDef.getAggregate() != null) { docParams.add("aggregate", valDef.getAggregate()); if (valDef.getAggregatePath() != null) { docParams.add("aggregatePath", valDef.getAggregatePath()); if (valDef.getView() != null) { docParams.add("view", valDef.getView()); if (valDef.getDirection() != null) { if (valDef.getDirection() == ValuesDefinition.Direction.ASCENDING) { docParams.add("direction", "ascending"); } else { if (valDef.getFrequency() != null) { if (valDef.getFrequency() == ValuesDefinition.Frequency.FRAGMENT) { docParams.add("frequency", "fragment"); } else { if (valDef.getQueryDefinition() != null) { ValueQueryDefinition queryDef = valDef.getQueryDefinition(); if (valDef.getName() != null) { uri += "/" + valDef.getName();
@Test public void testValuesAggregatesWithJson() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testValuesAggregatesWithJson"); String[] filenames = { "aggr1.xml", "aggr2.xml", "aggr3.xml", "aggr4.xml", "aggr5.xml" }; String queryOptionName = "aggregatesOpt.xml"; DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType()); // write docs for (String filename : filenames) { writeDocumentUsingInputStreamHandle(client, filename, "/values-aggr/", "XML"); } setQueryOption(client, queryOptionName); QueryManager queryMgr = client.newQueryManager(); // create query def ValuesDefinition queryDef = queryMgr.newValuesDefinition("popularity", "aggregatesOpt.xml"); queryDef.setAggregate("sum", "avg", "max", "min"); queryDef.setName("pop-aggr"); // create handle StringHandle resultHandle = new StringHandle().withFormat(Format.JSON); queryMgr.values(queryDef, resultHandle); String result = resultHandle.get(); System.out.println(result); assertEquals("{", result.substring(0, 1)); // release client client.release(); }
@Test public void testBug19144WithXml() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testBug19144WithXml"); String[] filenames = { "aggr1.xml", "aggr2.xml", "aggr3.xml", "aggr4.xml", "aggr5.xml" }; String queryOptionName = "aggregatesOpt.xml"; DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType()); // write docs for (String filename : filenames) { writeDocumentUsingInputStreamHandle(client, filename, "/bug19144/", "XML"); } setQueryOption(client, queryOptionName); QueryManager queryMgr = client.newQueryManager(); // create query def ValuesDefinition queryDef = queryMgr.newValuesDefinition("popularity", "aggregatesOpt.xml"); queryDef.setAggregate("correlation", "covariance"); queryDef.setName("pop-rate-tups"); // create handle StringHandle resultHandle = new StringHandle().withFormat(Format.XML); queryMgr.tuples(queryDef, resultHandle); String result = resultHandle.get(); System.out.println(result); assertEquals("<", result.substring(0, 1)); // release client client.release(); }
queryDef.setAggregate("count"); queryDef.setName("date-val"); queryDef1.setAggregate("correlation", "covariance"); queryDef1.setName("pop-rate-tups");
@Test public void testBug19144WithJson() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException, TransformerException { System.out.println("Running testBug19144WithJson"); String[] filenames = { "aggr1.xml", "aggr2.xml", "aggr3.xml", "aggr4.xml", "aggr5.xml" }; String queryOptionName = "aggregatesOpt.xml"; DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType()); // write docs for (String filename : filenames) { writeDocumentUsingInputStreamHandle(client, filename, "/bug19144/", "XML"); } setQueryOption(client, queryOptionName); QueryManager queryMgr = client.newQueryManager(); // create query def ValuesDefinition queryDef = queryMgr.newValuesDefinition("popularity", "aggregatesOpt.xml"); queryDef.setAggregate("correlation", "covariance"); queryDef.setName("pop-rate-tups"); // create handle StringHandle resultHandle = new StringHandle().withFormat(Format.JSON); queryMgr.tuples(queryDef, resultHandle); String result = resultHandle.get(); System.out.println(result); assertEquals("{", result.substring(0, 1)); // release client client.release(); }
queryDef.setAggregate("sum", "avg", "max", "min"); queryDef.setName("score-aggr");
@Test public void testAggregates() throws IOException, ParserConfigurationException, SAXException, ResourceNotFoundException, ForbiddenUserException, FailedRequestException, ResourceNotResendableException { String optionsName = makeValuesOptions(); QueryManager queryMgr = Common.client.newQueryManager(); ValuesDefinition vdef = queryMgr.newValuesDefinition("double", optionsName); vdef.setAggregate("sum", "avg"); vdef.setName("double"); //ValuesListDefinition vldef = queryMgr.newValuesListDefinition("valuesoptions"); //ValuesListHandle vlh = queryMgr.valuesList(vldef, new ValuesListHandle()); ValuesHandle v = queryMgr.values(vdef, new ValuesHandle()); AggregateResult[] agg = v.getAggregates(); assertEquals("There should be 2 aggregates", 2, agg.length); double first = agg[0].get("xs:double", Double.class); assertTrue("Aggregate 1 should be between 11.4 and 12", 11.4 < first && first < 12.0); double second = agg[1].get("xs:double", Double.class); logger.debug("" + second); assertTrue("Aggregate 2 should be between 1.43 and 1.44", 1.43 < second && second < 1.44); Common.adminClient.newServerConfigManager().newQueryOptionsManager().deleteOptions(optionsName); }
queryDef.setAggregate("sum", "avg", "max", "min"); queryDef.setName("pop-aggr"); queryDef1.setAggregate("sum", "avg", "max", "min"); queryDef1.setName("score-aggr");