protected static <T> T unmarshallValueFromFile(File file, Class<T> clazz) throws IOException, JAXBException, SchemaException { return PrismTestUtil.parseAnyValue(file); }
protected static <T> T unmarshallValueFromFile(File file, Class<T> clazz) throws IOException, JAXBException, SchemaException { return PrismTestUtil.parseAnyValue(file); }
protected static <T> T unmarshallValueFromFile(String filePath, Class<T> clazz) throws IOException, JAXBException, SchemaException { return PrismTestUtil.parseAnyValue(new File(filePath)); }
protected static <T> T unmarshallValueFromFile(String filePath, Class<T> clazz) throws IOException, JAXBException, SchemaException { return PrismTestUtil.parseAnyValue(new File(filePath)); }
@Test public void testFilterNotFullText() throws Exception { displayTestTitle("testFilterNotFullText"); SearchFilterType filterType = PrismTestUtil.parseAnyValue(FILTER_NOT_FULL_TEXT); ObjectQuery query = toObjectQuery(UserType.class, filterType); displayQuery(query); assertNotNull(query); ObjectFilter filter = query.getFilter(); assertTrue("Filter is not of NOT type", filter instanceof NotFilter); ObjectFilter subFilter = ((NotFilter) filter).getFilter(); assertTrue("Subfilter is not of FULL_TEXT type", subFilter instanceof FullTextFilter); QueryType convertedQueryType = toQueryType(query); System.out.println("Re-converted query type"); System.out.println(convertedQueryType.debugDump()); Element filterClauseElement = convertedQueryType.getFilter().getFilterClauseAsElement(getPrismContext()); LOGGER.info(convertedQueryType.getFilter().getFilterClauseXNode().debugDump()); System.out.println("Serialized filter (JAXB->DOM)"); String filterAsString = DOMUtil.serializeDOMToString(filterClauseElement); System.out.println(filterAsString); LOGGER.info(filterAsString); DomAsserts.assertElementQName(filterClauseElement, new QName(PrismConstants.NS_QUERY, "not")); assertEquals("wrong # of fullText subfilters", 1, filterClauseElement.getElementsByTagNameNS(PrismConstants.NS_QUERY, "fullText").getLength()); assertEquals("wrong # of value subfilters", 2, filterClauseElement.getElementsByTagNameNS(PrismConstants.NS_QUERY, "value").getLength()); }
@Test public void testFilterNotInOid() throws Exception { displayTestTitle("testFilterNotInOid"); SearchFilterType filterType = PrismTestUtil.parseAnyValue(FILTER_NOT_IN_OID); ObjectQuery query = toObjectQuery(UserType.class, filterType); displayQuery(query); assertNotNull(query); ObjectFilter filter = query.getFilter(); assertTrue("Filter is not of NOT type", filter instanceof NotFilter); ObjectFilter subFilter = ((NotFilter) filter).getFilter(); assertTrue("Subfilter is not of IN_OID type", subFilter instanceof InOidFilter); QueryType convertedQueryType = toQueryType(query); System.out.println("Re-converted query type"); System.out.println(convertedQueryType.debugDump()); Element filterClauseElement = convertedQueryType.getFilter().getFilterClauseAsElement(getPrismContext()); LOGGER.info(convertedQueryType.getFilter().getFilterClauseXNode().debugDump()); System.out.println("Serialized filter (JAXB->DOM)"); String filterAsString = DOMUtil.serializeDOMToString(filterClauseElement); System.out.println(filterAsString); LOGGER.info(filterAsString); DomAsserts.assertElementQName(filterClauseElement, new QName(PrismConstants.NS_QUERY, "not")); assertEquals("wrong # of inOid subfilters", 1, filterClauseElement.getElementsByTagNameNS(PrismConstants.NS_QUERY, "inOid").getLength()); assertEquals("wrong # of value subfilters", 4, filterClauseElement.getElementsByTagNameNS(PrismConstants.NS_QUERY, "value").getLength()); }
@Test public void testFilterTypeUserNone() throws Exception { displayTestTitle("testFilterTypeUserNone"); SearchFilterType filterType = PrismTestUtil.parseAnyValue(FILTER_TYPE_USER_NONE); ObjectQuery query = toObjectQuery(UserType.class, filterType); displayQuery(query); assertNotNull(query); ObjectFilter filter = query.getFilter(); assertTrue("Filter is not of TYPE type", filter instanceof TypeFilter); ObjectFilter subFilter = ((TypeFilter) filter).getFilter(); assertTrue("Filter is not of NONE type", subFilter instanceof NoneFilter); QueryType convertedQueryType = toQueryType(query); System.out.println("Re-converted query type"); System.out.println(convertedQueryType.debugDump()); Element filterClauseElement = convertedQueryType.getFilter().getFilterClauseAsElement(getPrismContext()); LOGGER.info(convertedQueryType.getFilter().getFilterClauseXNode().debugDump()); System.out.println("Serialized filter (JAXB->DOM)"); String filterAsString = DOMUtil.serializeDOMToString(filterClauseElement); System.out.println(filterAsString); LOGGER.info(filterAsString); DomAsserts.assertElementQName(filterClauseElement, new QName(PrismConstants.NS_QUERY, "type")); }
@Test public void testFilterUserNameJaxb() throws Exception { displayTestTitle("testFilterUserNameJaxb"); SearchFilterType filterType = PrismTestUtil.parseAnyValue(FILTER_USER_NAME_FILE); ObjectQuery query = toObjectQuery(UserType.class, filterType); displayQuery(query); assertNotNull(query); ObjectFilter filter = query.getFilter(); PrismAsserts.assertEqualsFilter(filter, UserType.F_NAME, PolyStringType.COMPLEX_TYPE, ItemPath.create(new QName(null, UserType.F_NAME.getLocalPart()))); PrismAsserts.assertEqualsFilterValue((EqualFilter) filter, createPolyString("jack")); QueryType convertedQueryType = toQueryType(query); System.out.println("Re-converted query type"); System.out.println(convertedQueryType.debugDump()); Element filterClauseElement = convertedQueryType.getFilter().getFilterClauseAsElement(getPrismContext()); System.out.println("Serialized filter (JAXB->DOM)"); System.out.println(DOMUtil.serializeDOMToString(filterClauseElement)); DomAsserts.assertElementQName(filterClauseElement, EqualFilter.ELEMENT_NAME); DomAsserts.assertSubElements(filterClauseElement, 2); DomAsserts.assertSubElement(filterClauseElement, PrismConstants.Q_VALUE); Element valueElement = DOMUtil.getChildElement(filterClauseElement, PrismConstants.Q_VALUE); DomAsserts.assertTextContent(valueElement, "jack"); }
displayTestTitle("testFilterUserAndJaxb"); SearchFilterType filterType = PrismTestUtil.parseAnyValue(FILTER_USER_AND_FILE); ObjectQuery query = toObjectQuery(UserType.class, filterType); displayQuery(query);