protected UpperCase upperCase( DynamicOperand operand ) { return new UpperCase(operand); }
@Override public int hashCode() { return getOperand().hashCode(); }
SelectorName replacement = rewrittenSelectors.get(operation.selectorName()); if (replacement == null) return operand; return new UpperCase(replaceReferencesToRemovedSource(context, operation.getOperand(), rewrittenSelectors));
DynamicOperand oldOperand = operation.getOperand(); DynamicOperand newOperand = replaceAliasesWithProperties(context, oldOperand, propertyByAlias); if (oldOperand == newOperand) return operation; return new UpperCase(newOperand);
@Test public void shouldParseDynamicOperandFromStringContainingLowerOfUpperCaseOfAnotherOperand() { DynamicOperand operand = parser.parseDynamicOperand(tokens("LOWER(UPPER(tableA.property))"), typeSystem, mock(Source.class)); assertThat(operand, is(instanceOf(LowerCase.class))); LowerCase lower = (LowerCase)operand; assertThat(lower.selectorName(), is(selectorName("tableA"))); assertThat(lower.getOperand(), is(instanceOf(UpperCase.class))); UpperCase upper = (UpperCase)lower.getOperand(); assertThat(upper.selectorName(), is(selectorName("tableA"))); assertThat(upper.getOperand(), is(instanceOf(PropertyValue.class))); PropertyValue value = (PropertyValue)upper.getOperand(); assertThat(value.getPropertyName(), is("property")); assertThat(value.selectorName(), is(selectorName("tableA"))); }
SelectorName replacement = rewrittenSelectors.get(operation.selectorName()); if (replacement == null) return operand; return new UpperCase(replaceReferencesToRemovedSource(context, operation.getOperand(), rewrittenSelectors));
DynamicOperand oldOperand = operation.getOperand(); DynamicOperand newOperand = replaceAliasesWithProperties(context, oldOperand, propertyByAlias); if (oldOperand == newOperand) return operation; return new UpperCase(newOperand);
@Test public void shouldParseDynamicOperandFromStringContainingUpperOfAnotherDynamicOperand() { DynamicOperand operand = parser.parseDynamicOperand(tokens("UPPER(tableA.property)"), typeSystem, mock(Source.class)); assertThat(operand, is(instanceOf(UpperCase.class))); UpperCase upper = (UpperCase)operand; assertThat(upper.selectorName(), is(selectorName("tableA"))); assertThat(upper.getOperand(), is(instanceOf(PropertyValue.class))); PropertyValue value = (PropertyValue)upper.getOperand(); assertThat(value.getPropertyName(), is("property")); assertThat(value.selectorName(), is(selectorName("tableA"))); Source source = new NamedSelector(selectorName("tableA")); operand = parser.parseDynamicOperand(tokens("UPPER(property)"), typeSystem, source); assertThat(operand, is(instanceOf(UpperCase.class))); upper = (UpperCase)operand; assertThat(upper.selectorName(), is(selectorName("tableA"))); assertThat(upper.getOperand(), is(instanceOf(PropertyValue.class))); value = (PropertyValue)upper.getOperand(); assertThat(value.getPropertyName(), is("property")); assertThat(value.selectorName(), is(selectorName("tableA"))); }
return new UpperCase(replaceViewReferences(context, operation.getOperand(), mapping, node));
@Override public int hashCode() { return getOperand().hashCode(); }
@Test public void shouldParseDynamicOperandFromStringContainingUpperOfLowerCaseOfAnotherOperand() { DynamicOperand operand = parser.parseDynamicOperand(tokens("UPPER(LOWER(tableA.property))"), typeSystem, mock(Source.class)); assertThat(operand, is(instanceOf(UpperCase.class))); UpperCase upper = (UpperCase)operand; assertThat(upper.selectorName(), is(selectorName("tableA"))); assertThat(upper.getOperand(), is(instanceOf(LowerCase.class))); LowerCase lower = (LowerCase)upper.getOperand(); assertThat(lower.selectorName(), is(selectorName("tableA"))); assertThat(lower.getOperand(), is(instanceOf(PropertyValue.class))); PropertyValue value = (PropertyValue)lower.getOperand(); assertThat(value.getPropertyName(), is("property")); assertThat(value.selectorName(), is(selectorName("tableA"))); }
protected UpperCase upperCase( DynamicOperand operand ) { return new UpperCase(operand); }
return new UpperCase(replaceViewReferences(context, operation.getOperand(), mapping, node));
protected boolean applies( UpperCase operand ) { return applies(operand.getOperand()); }
@Override public UpperCase upperCase( javax.jcr.query.qom.DynamicOperand operand ) { DynamicOperand jcrOperand = CheckArg.getInstanceOf(operand, DynamicOperand.class, "operand"); return new UpperCase(jcrOperand); }
protected boolean applies( UpperCase operand ) { return applies(operand.getOperand()); }
@Override protected OrderByBuilder addOrdering( DynamicOperand operand ) { return super.addOrdering(new UpperCase(operand)); } };
@Override public void visit( UpperCase upperCase ) { strategy.visit(upperCase); enqueue(upperCase.getOperand()); visitNext(); }
@Override public UpperCase upperCase( javax.jcr.query.qom.DynamicOperand operand ) { DynamicOperand jcrOperand = CheckArg.getInstanceOf(operand, DynamicOperand.class, "operand"); return new UpperCase(jcrOperand); }
@Override public void visit( UpperCase upperCase ) { append("UPPER("); upperCase.getOperand().accept(this); append(')'); }