private PropertyValue parsePropertyValue(String name) throws RepositoryException { if (readIf(".")) { return factory.propertyValue(name, readName()); } else { return factory.propertyValue(getOnlySelectorName(name), name); } }
private PropertyValue parsePropertyValue(String name) throws RepositoryException { if (readIf(".")) { return factory.propertyValue(name, readName()); } else { return factory.propertyValue(getOnlySelectorName(name), name); } }
private PropertyValue parsePropertyValue(String name) throws RepositoryException { if (readIf(".")) { return factory.propertyValue(name, readName()); } else { return factory.propertyValue(getOnlySelectorName(name), name); } }
private Map<String, PropertyValue> getColumnMap(String selector, NodeType type) throws RepositoryException { Map<String, PropertyValue> map = new LinkedHashMap<String, PropertyValue>(); for (PropertyDefinition definition : type.getPropertyDefinitions()) { String name = definition.getName(); if (!definition.isMultiple() && !"*".equals(name)) { // TODO: Add proper quoting map.put(selector + "." + name, qomFactory.propertyValue(selector, name)); } } return map; }
public void testUpperLowerCase() throws RepositoryException { // first upper case, then lower case again checkQueries(qf.upperCase(qf.propertyValue("s", propertyName1)), false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, PropertyType.STRING, new boolean[]{true, false, false, false, false}); }
public void testUpperCaseTwice() throws RepositoryException { // upper case twice checkQueries(qf.upperCase(qf.propertyValue("s", propertyName1)), true, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, PropertyType.STRING, new boolean[]{false, false, false, false, true}); }
public void testLowerCaseTwice() throws RepositoryException { // lower case twice checkQueries(qf.lowerCase(qf.propertyValue("s", propertyName1)), false, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, new String[]{"abc", "Abc", "aBc", "abC", "ABC"}, PropertyType.STRING, new boolean[]{true, false, false, false, false}); }
/** * Test case for {@link QueryObjectModelFactory#lowerCase(DynamicOperand)} */ public void testLowerCase() throws RepositoryException { PropertyValue propValue = qf.propertyValue(SELECTOR_NAME1, propertyName1); LowerCase lower = qf.lowerCase(propValue); assertTrue("Not a property value operand", lower.getOperand() instanceof PropertyValue); }
/** * Test case for {@link QueryObjectModelFactory#length(PropertyValue)} */ public void testLength() throws RepositoryException { PropertyValue propValue = qf.propertyValue(SELECTOR_NAME1, propertyName1); Length len = qf.length(propValue); assertNotNull("Property value must not be null", len.getPropertyValue()); }
/** * Test case for {@link QueryObjectModelFactory#upperCase(DynamicOperand)} */ public void testUpperCase() throws RepositoryException { PropertyValue propValue = qf.propertyValue(SELECTOR_NAME1, propertyName1); UpperCase upper = qf.upperCase(propValue); assertTrue("Not a property value operand", upper.getOperand() instanceof PropertyValue); } }
/** * Test case for {@link QueryObjectModelFactory#propertyValue(String, String)} */ public void testPropertyValue() throws RepositoryException { PropertyValue propVal = qf.propertyValue(SELECTOR_NAME1, propertyName1); assertEquals("Wrong selector name", SELECTOR_NAME1, propVal.getSelectorName()); assertEquals("Wrong property name", propertyName1, propVal.getPropertyName()); }
@Test public void propertyValue() throws RepositoryException { PropertyValue pv = f.propertyValue("selectorName", "propertyName"); assertEquals("selectorName", pv.getSelectorName()); assertEquals("propertyName", pv.getPropertyName()); assertEquals("[selectorName].[propertyName]", pv.toString()); assertEquals("*", f.propertyValue(null, null).toString()); assertEquals("[s].*", f.propertyValue("s", null).toString()); assertEquals("[p]", f.propertyValue(null, "p").toString()); assertEquals("[s].[p]", f.propertyValue("s", "p").toString()); }
/** * Test case for {@link QueryObjectModelFactory#descending(DynamicOperand)} */ public void testOrderingDescending() throws RepositoryException { PropertyValue op = qf.propertyValue(SELECTOR_NAME1, propertyName1); Ordering desc = qf.descending(op); assertEquals("Ordering.getOrder() must return QueryObjectModelConstants.ORDER_DESCENDING", QueryObjectModelConstants.JCR_ORDER_DESCENDING, desc.getOrder()); assertTrue("Not a PropertyValue operand", desc.getOperand() instanceof PropertyValue); }
@Test public void escapedName() throws RepositoryException { assertEquals("[[n]]]", f.selector("[n]", null).toString()); assertEquals("[[s]]].[[p]]]", f.propertyValue("[s]", "[p]").toString()); assertEquals("ISSAMENODE([[s1]]], [[s2]]], [[p]]])", f.sameNodeJoinCondition("[s1]", "[s2]", "[p]").toString()); assertEquals("ISSAMENODE([[s]]], [[p]]])", f.sameNode("[s]", "[p]").toString()); } }
@Test public void lowerCase() throws RepositoryException { PropertyValue p = f.propertyValue("selectorName", "propertyName"); Length length = f.length(p); LowerCase l = f.lowerCase(length); assertEquals(length, l.getOperand()); assertEquals("LOWER(LENGTH([selectorName].[propertyName]))", l.toString()); }
@Test public void upperCase() throws RepositoryException { PropertyValue p = f.propertyValue("selectorName", "propertyName"); Length length = f.length(p); UpperCase u = f.upperCase(length); assertEquals(length, u.getOperand()); assertEquals("UPPER(LENGTH([selectorName].[propertyName]))", u.toString()); }
@Test public void descending() throws RepositoryException { PropertyValue p = f.propertyValue("selectorName", "propertyName"); Ordering o = f.descending(p); assertEquals(p, o.getOperand()); assertEquals(QueryObjectModelConstants.JCR_ORDER_DESCENDING, o.getOrder()); assertEquals("[selectorName].[propertyName] DESC", o.toString()); }
public void testCreateQueryFromSourceWithConstraintAndOrdering() throws RepositoryException { Source selector = qf.selector(testNodeType, SELECTOR_NAME1); PropertyExistence propExist = qf.propertyExistence(SELECTOR_NAME1, propertyName1); PropertyValue propValue = qf.propertyValue(SELECTOR_NAME1, propertyName1); Ordering ordering = qf.ascending(propValue); QueryObjectModel qom = qf.createQuery(selector, propExist, new Ordering[]{ordering}, null); assertTrue("Not a selector source", qom.getSource() instanceof Selector); assertTrue("Not a property existence constraint", qom.getConstraint() instanceof PropertyExistence); assertEquals("Wrong size of orderings", 1, qom.getOrderings().length); assertEquals("Wrong size of columns", 0, qom.getColumns().length); }
public void testCreateQueryWithConstraintAndOrdering() throws RepositoryException { Selector selector = qf.selector(testNodeType, SELECTOR_NAME1); PropertyExistence propExist = qf.propertyExistence(SELECTOR_NAME1, propertyName1); PropertyValue propValue = qf.propertyValue(SELECTOR_NAME1, propertyName1); Ordering ordering = qf.ascending(propValue); QueryObjectModel qom = qf.createQuery(selector, propExist, new Ordering[]{ordering}, null); assertTrue("Not a selector source", qom.getSource() instanceof Selector); assertTrue("Not a property existence constraint", qom.getConstraint() instanceof PropertyExistence); assertEquals("Wrong size of orderings", 1, qom.getOrderings().length); assertEquals("Wrong size of columns", 0, qom.getColumns().length); }
@Test public void comparison() throws RepositoryException { PropertyValue p = f.propertyValue("selectorName", "propertyName"); Literal l = f.literal(vf.createValue(1)); Comparison c = f.comparison(p, QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, l); assertEquals(p, c.getOperand1()); assertEquals(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, c.getOperator()); assertEquals(l, c.getOperand2()); assertEquals("[selectorName].[propertyName] = 1", c.toString()); }