@Override public void visit( PropertyExistence existence ) { requireColumn(existence.selectorName(), existence.getPropertyName()); }
@Override public void visit( PropertyExistence prop ) { addColumnFor(prop.selectorName(), prop.getPropertyName()); }
@Override public void visit( PropertyExistence prop ) { addColumnFor(prop.selectorName(), prop.getPropertyName()); }
@Override public void visit( PropertyExistence obj ) { verify(obj.selectorName(), obj.getPropertyName(), this.validateColumnExistence); }
@Override public void visit( PropertyExistence prop ) { addColumnFor(prop.selectorName(), prop.getPropertyName()); }
@Override public void visit( PropertyExistence prop ) { addColumnFor(prop.selectorName(), prop.getPropertyName()); }
@Override public void visit( PropertyExistence obj ) { verify(obj.selectorName(), obj.getPropertyName(), this.validateColumnExistence); }
@Override public void visit( PropertyExistence existence ) { requireColumn(existence.selectorName(), existence.getPropertyName()); }
protected boolean indexAppliesTo( PropertyExistence constraint ) { // The selected node type must match or be a subtype of the indexed node type, and // one of the indexed columns must match the property ... return matchesSelectorName(constraint.getSelectorName()) && defn.appliesToProperty(constraint.getPropertyName()); }
protected boolean indexAppliesTo( PropertyExistence constraint ) { // The selected node type must match or be a subtype of the indexed node type, and // one of the indexed columns must match the property ... return matchesSelectorName(constraint.getSelectorName()) && defn.appliesToProperty(constraint.getPropertyName()); }
@Override public void visit( PropertyExistence existence ) { append(existence.selectorName()).append('.').appendPropertyName(existence.getPropertyName()).append(" IS NOT NULL"); }
@Override public void visit( PropertyExistence existence ) { append(existence.selectorName()).append('.').appendPropertyName(existence.getPropertyName()).append(" IS NOT NULL"); }
@Test public void shouldParsePropertyExistanceFromPropertyNameWithSelectorNameAndPropertyNameFollowedByIsNotNull() { Constraint constraint = parser.parsePropertyExistance(tokens("tableA.property1 IS NOT NULL"), typeSystem, mock(Source.class)); assertThat(constraint, is(instanceOf(PropertyExistence.class))); PropertyExistence p = (PropertyExistence)constraint; assertThat(p.getPropertyName(), is("property1")); assertThat(p.selectorName(), is(selectorName("tableA"))); }
@Test public void shouldParseNotPropertyExistanceFromPropertyNameWithSelectorNameAndPropertyNameFollowedByIsNull() { Constraint constraint = parser.parsePropertyExistance(tokens("tableA.property1 IS NULL"), typeSystem, mock(Source.class)); assertThat(constraint, is(instanceOf(Not.class))); Not not = (Not)constraint; assertThat(not.getConstraint(), is(instanceOf(PropertyExistence.class))); PropertyExistence p = (PropertyExistence)not.getConstraint(); assertThat(p.getPropertyName(), is("property1")); assertThat(p.selectorName(), is(selectorName("tableA"))); }
@Test public void shouldParsePropertyExistanceFromPropertyNameWithPropertyNameAndNoSelectorNameFollowedByIsNotNull() { NamedSelector source = new NamedSelector(selectorName("tableA")); Constraint constraint = parser.parsePropertyExistance(tokens("property1 IS NOT NULL"), typeSystem, source); assertThat(constraint, is(instanceOf(PropertyExistence.class))); PropertyExistence p = (PropertyExistence)constraint; assertThat(p.getPropertyName(), is("property1")); assertThat(p.selectorName(), is(selectorName("tableA"))); }
String property = exist.getPropertyName(); if ("jcr:path".equals(property) || "jcr:name".equals(property) || "mode:localName".equals(property) || "jcr:localName".equals(property) || "mode:depth".equals(property) || "jcr:depth".equals(property)
String property = exist.getPropertyName(); if ("jcr:path".equals(property) || "jcr:name".equals(property) || "mode:localName".equals(property) || "jcr:localName".equals(property) || "mode:depth".equals(property) || "jcr:depth".equals(property)
@Test public void shouldParseSelectWithOrderByClause() { query = parse("SELECT [car:model] FROM [car:Car] WHERE [car:model] IS NOT NULL ORDER BY [car:model] ASC"); // SELECT car:model ... assertThat(query.columns().size(), is(1)); assertThat(query.columns().get(0).selectorName(), is(selectorName("car:Car"))); assertThat(query.columns().get(0).getColumnName(), is("car:model")); assertThat(query.columns().get(0).getPropertyName(), is("car:model")); // FROM ... NamedSelector selector = (NamedSelector)query.source(); assertThat(selector.name(), is(selectorName("car:Car"))); assertThat(selector.aliasOrName(), is(selectorName("car:Car"))); assertThat(selector.alias(), is(nullValue())); // WHERE ... PropertyExistence constraint = isPropertyExistence(query.constraint()); assertThat(constraint.getPropertyName(), is("car:model")); assertThat(constraint.selectorName(), is(selectorName("car:Car"))); // ORDER BY ... assertThat(query.orderings().size(), is(1)); Ordering ordering = query.orderings().get(0); assertThat(ordering.order(), is(Order.ASCENDING)); assertThat(ordering.getOperand(), is((DynamicOperand)propertyValue(selectorName("car:Car"), "car:model"))); }
@Test public void shouldParseSelectWithOrderByClause() { query = parse("SELECT car:model FROM car:Car WHERE car:model IS NOT NULL ORDER BY car:model ASC"); // SELECT car:model ... assertThat(query.columns().size(), is(1)); assertThat(query.columns().get(0).selectorName(), is(selectorName("car:Car"))); assertThat(query.columns().get(0).getColumnName(), is("car:model")); assertThat(query.columns().get(0).getPropertyName(), is("car:model")); // FROM ... NamedSelector selector = (NamedSelector)query.source(); assertThat(selector.name(), is(selectorName("car:Car"))); assertThat(selector.aliasOrName(), is(selectorName("car:Car"))); assertThat(selector.alias(), is(nullValue())); // WHERE ... PropertyExistence constraint = isPropertyExistence(query.constraint()); assertThat(constraint.getPropertyName(), is("car:model")); assertThat(constraint.selectorName(), is(selectorName("car:Car"))); // ORDER BY ... assertThat(query.orderings().size(), is(1)); Ordering ordering = query.orderings().get(0); assertThat(ordering.order(), is(Order.ASCENDING)); assertThat(ordering.getOperand(), is((DynamicOperand)propertyValue(selectorName("car:Car"), "car:model"))); }
SelectorName replacement = rewrittenSelectors.get(existence.selectorName()); if (replacement == null) return existence; return new PropertyExistence(replacement, existence.getPropertyName());