This commit breaks the build. Tommaso could you please have a look?
in oak-core Tests in error: sql1(org.apache.jackrabbit.oak.plugins.index.property.OrderedIndexQueryTest): Results in target/oajopi.property.OrderedIndexQueryTest_sql1.txt don't match expected results in /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; compare the files for details; got=(..) sql1(org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexQueryTest): Results in target/oajopi.property.PropertyIndexQueryTest_sql1.txt don't match expected results in /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; compare the files for details; got=(..) sql1(org.apache.jackrabbit.oak.query.index.TraversingIndexQueryTest): Results in target/org.apache.jackrabbit.oak.query.index.TraversingIndexQueryTest_sql1.txt don't match expected results in /Users/dgiannel/work/sources/apache/jackrabbit-oak/oak-core/target/test-classes/org/apache/jackrabbit/oak/query/sql1.txt; compare the files for details; got=(..) On 15/12/2015 09:59, [email protected] wrote: > Author: tommaso > Date: Tue Dec 15 09:59:57 2015 > New Revision: 1720106 > > URL: http://svn.apache.org/viewvc?rev=1720106&view=rev > Log: > OAK-2509 - support for facets in query engine > > Added: > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > (with props) > Modified: > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java?rev=1720106&r1=1720105&r2=1720106&view=diff > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > (original) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java > Tue Dec 15 09:59:57 2015 > @@ -119,6 +119,11 @@ public class QueryImpl implements Query > public static final String REP_EXCERPT = "rep:excerpt"; > > /** > + * The "rep:facet" pseudo-property. > + */ > + public static final String REP_FACET = "rep:facet"; > + > + /** > * The "oak:explainScore" pseudo-property. > */ > public static final String OAK_SCORE_EXPLANATION = > "oak:scoreExplanation"; > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java?rev=1720106&r1=1720105&r2=1720106&view=diff > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > (original) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java > Tue Dec 15 09:59:57 2015 > @@ -856,7 +856,7 @@ public class SQL2Parser { > if (readIf("*")) { > column.propertyName = null; > } else if (readIf("EXCERPT")) { > - column.propertyName = "rep:excerpt"; > + column.propertyName = QueryImpl.REP_EXCERPT; > read("("); > if (!readIf(")")) { > if (!readIf(".")) { > @@ -867,12 +867,12 @@ public class SQL2Parser { > readOptionalAlias(column); > } else { > column.propertyName = readName(); > - if (column.propertyName.equals("rep:spellcheck")) { > + if > (column.propertyName.equals(QueryImpl.REP_SPELLCHECK)) { > if (readIf("(")) { > read(")"); > column.propertyName = ":spellcheck"; > } > - readOptionalAlias(column); > + readOptionalAlias(column); > } else if (readIf(".")) { > column.selectorName = column.propertyName; > if (readIf("*")) { > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java?rev=1720106&r1=1720105&r2=1720106&view=diff > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > (original) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/AstElementFactory.java > Tue Dec 15 09:59:57 2015 > @@ -20,6 +20,7 @@ import java.util.ArrayList; > import javax.annotation.Nonnull; > > import org.apache.jackrabbit.oak.api.PropertyValue; > +import org.apache.jackrabbit.oak.query.QueryImpl; > import org.apache.jackrabbit.oak.spi.state.NodeState; > import org.slf4j.Logger; > import org.slf4j.LoggerFactory; > @@ -52,7 +53,11 @@ public class AstElementFactory { > } > > public ColumnImpl column(String selectorName, String propertyName, > String columnName) { > - return new ColumnImpl(selectorName, propertyName, columnName); > + if (propertyName.startsWith(QueryImpl.REP_FACET)) { > + return new FacetColumnImpl(selectorName, propertyName, > columnName); > + } else { > + return new ColumnImpl(selectorName, propertyName, columnName); > + } > } > > public ComparisonImpl comparison(DynamicOperandImpl operand1, Operator > operator, StaticOperandImpl operand2) { > > Added: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java?rev=1720106&view=auto > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > (added) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > Tue Dec 15 09:59:57 2015 > @@ -0,0 +1,36 @@ > +/* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + */ > +package org.apache.jackrabbit.oak.query.ast; > + > +import org.apache.jackrabbit.oak.api.PropertyValue; > + > +/** > + * A facet result column expression. > + */ > +public class FacetColumnImpl extends ColumnImpl { > + FacetColumnImpl(String selectorName, String propertyName, String > columnName) { > + super(selectorName, propertyName, columnName); > + } > + > + @Override > + public PropertyValue currentProperty() { > + return this.getSelector().currentOakProperty(getPropertyName()); > + } > + > +} > \ No newline at end of file > > Propchange: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/FacetColumnImpl.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java?rev=1720106&r1=1720105&r2=1720106&view=diff > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > (original) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java > Tue Dec 15 09:59:57 2015 > @@ -392,6 +392,8 @@ public class SelectorImpl extends Source > String columnName = c.getColumnName(); > if (columnName.equals(QueryImpl.REP_EXCERPT) || > columnName.equals(QueryImpl.OAK_SCORE_EXPLANATION)) { > f.restrictProperty(columnName, Operator.NOT_EQUAL, null); > + } else if (columnName.startsWith(QueryImpl.REP_FACET)) { > + f.restrictProperty(QueryImpl.REP_FACET, Operator.EQUAL, > PropertyValues.newString(columnName)); > } > } > } > @@ -668,6 +670,8 @@ public class SelectorImpl extends Source > result = currentRow.getValue(QueryImpl.REP_SPELLCHECK); > } else if (oakPropertyName.equals(QueryImpl.REP_SUGGEST)) { > result = currentRow.getValue(QueryImpl.REP_SUGGEST); > + } else if (oakPropertyName.startsWith(QueryImpl.REP_FACET)) { > + result = currentRow.getValue(oakPropertyName); > } else { > result = PropertyValues.create(t.getProperty(oakPropertyName)); > } > > Modified: > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > URL: > http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java?rev=1720106&r1=1720105&r2=1720106&view=diff > ============================================================================== > --- > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > (original) > +++ > jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/package-info.java > Tue Dec 15 09:59:57 2015 > @@ -14,7 +14,7 @@ > * See the License for the specific language governing permissions and > * limitations under the License. > */ > -@Version("4.1") > +@Version("4.2") > @Export(optional = "provide:=true") > package org.apache.jackrabbit.oak.query; > > >
