@Override public List<String> getJobNames() { List<String> jobNames = new ArrayList<>(); QueryManager queryMgr = databaseClient.newQueryManager(); ValuesDefinition valuesDef = queryMgr.newValuesDefinition("jobName", SEARCH_OPTIONS_NAME); ValuesHandle results = queryMgr.values(valuesDef, new ValuesHandle()); for (CountedDistinctValue value : results.getValues()) { jobNames.add(value.get("xs:string", String.class)); } return jobNames; }
@Test public void testValuesHandle() throws IOException, ParserConfigurationException, SAXException { File f = new File("src/test/resources/values.xml"); MyValuesHandle v; try (FileInputStream is = new FileInputStream(f)) { v = new MyValuesHandle(); v.parseTestData(is); } assertTrue("Name should be 'size'", "size".equals(v.getName())); assertEquals("Type should be 'xs:unsignedLong'", "xs:unsignedLong", v.getType()); CountedDistinctValue dv[] = v.getValues(); assertEquals("There should be 8 values", 8, dv.length); assertEquals("Frequency should be 1", 1, dv[0].getCount()); assertEquals("Value should be 815", (long) 815, (long) dv[0].get(v.getType(), Long.class)); }
@Test public void testValuesPaging() throws IOException, ParserConfigurationException, SAXException { String optionsName = makeValuesOptions(); QueryManager queryMgr = Common.client.newQueryManager(); queryMgr.setPageLength(2); ValuesDefinition vdef = queryMgr.newValuesDefinition("double", optionsName); ValuesHandle v = queryMgr.values(vdef, new ValuesHandle(), 2); CountedDistinctValue dv[] = v.getValues(); assertNotNull("There should be values", dv); assertEquals("There should be 2 values", 2, dv.length); assertEquals("The first value should be '1.2'", dv[0].get("xs:double", Double.class).toString(), "1.2"); assertEquals("The second value should be '2.2'", dv[1].get("xs:double", Double.class).toString(), "2.2"); Common.adminClient.newServerConfigManager().newQueryOptionsManager().deleteOptions(optionsName); }